mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-07-31 17:26:12 +00:00
fix(companion): also clear stale contact refs on silent auto-eviction
onContactOverwrite() (the contact-table-full LRU eviction path) deleted the contact's blob and notified the companion app, but never called the new onContactRemoved() cleanup -- so a Favourites Dial slot, Locator target, or Live Share target could still go stale, just via the silent auto-evict path instead of an explicit removal. This is likely the main real-world cause of the "(gone)" tile the docs described, since auto-eviction happens far more often than an explicit CMD_REMOVE_CONTACT. Also sync the two docs that described the old (now wrong) behaviour: Locator's "survives delete" claim, and Favourites Dial's "(gone) until reassigned" claim. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
3c34809af7
commit
43c3f43e10
@@ -253,7 +253,7 @@ The tool holds both directions of sharing in one flat list. Navigate with **UP/D
|
||||
|
||||
<!-- screenshot pending: Locator screen with a target set (e.g. "@Bob (5m)"), radius/mode/beeper rows -->
|
||||
|
||||
A single **geofence** that beeps and shows an alert when you cross **into** or **out of** a radius. The target can be a **saved waypoint** (a fixed place — "tell me when I'm back at camp") or a **live contact** (a person sharing their position via Live Share — "alert me when my friend gets near / falls behind"). A waypoint target is a **snapshot** (coordinate + label copied), so it keeps working even if you later edit or delete that waypoint; a contact target follows the person's latest shared position.
|
||||
A single **geofence** that beeps and shows an alert when you cross **into** or **out of** a radius. The target can be a **saved waypoint** (a fixed place — "tell me when I'm back at camp") or a **live contact** (a person sharing their position via Live Share — "alert me when my friend gets near / falls behind"). A waypoint target is a **snapshot** (coordinate + label copied), so it keeps working even if you later edit that waypoint; a contact target follows the person's latest shared position. **Deleting** the target's waypoint, or the target contact being removed from the contacts list, clears the Locator target back to `none` instead of leaving it pointed at something that's gone.
|
||||
|
||||
Navigate with **UP/DOWN**, change a value with **LEFT/RIGHT** (or **Enter**); **Cancel/Back** saves and returns to Tools.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user