mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-09-14 23:26:38 +00:00
Continuing the consistency pass: the four screens that show the distance/bearing "navigate to a point" view (Nodes, Waypoints, Trail's Track back, and navigating to a location shared in a message) had drifted apart in three ways. Only two of the four passed an EtaTracker to navview::draw(), so only Nodes and Track back showed the closing-speed/ETA line -- navigating to a waypoint or a shared location left it off for no reason. All four get one now. They also left the view on three different key sets (Back alone, Back+LEFT/RIGHT, Back+Enter); Back is now the only way out of any of them, so a stray sideways nudge can't drop you out of a running track-back. Messages' renderNav() also switched from reading node_prefs directly to the shared useImperial() helper the other three already used. Set as target -- the row Nodes and Waypoints both offer for a coordinate -- was missing from the message-location Options menu; added alongside Navigate and Save waypoint. Nodes' own Set as target required a full 32-byte public key, which a name-only live-track entry (someone sharing position on a channel who isn't a saved contact -- the group-outing case this exists for) never has. One flag was doing two jobs: "can be pinged" (needs the full key) and "can be identified" (needs only the 6-byte prefix a person target actually uses). Split into has_key/has_prefix; Set as target now only needs a position, resolving to a person target (follows them) when a prefix is available and a place target (pinned where they were) when it isn't -- the same distinction Locator's own picker already draws. Locator's target picker separately still listed the people pinned to the Favourites Dial as its privileged top tier, which stopped making sense once pinning and favouriting became separate concepts. It now leads with favourites instead, matching every other list in the firmware.