Test b54 — RX-fed nearest-repeater detection (#150)
Pre-releaseRX-fed nearest-repeater detection (#150) + everything to date.
Fixes why b53 fell back to "Ping Repeater": the direct-repeater list was fed only from adverts and hard-expired at 30 min — useless under 12-hour advert cadence.
Now: the nearest/strongest direct repeater is detected from the last hop of every received packet (messages, ACKs, adverts) — not just adverts. The SNR + path were already parsed on every RX; we just stopped throwing them away. A repeater with no committed route now traces through your strongest directly-heard repeater automatically: [hop → target → hop].
How to test:
- Tap a repeater past your own → Path Trace → title should read "Path trace via
<prefix>" and route multi-hop (notSENT → timeout). - Your own repeater (direct neighbour) still does a plain one-hop ping — correct.
- If the app knows no direct repeater, a picker opens so you can choose the first hop instead of a doomed ping.
Mobile side-benefit: as you drive, the list refreshes from whatever traffic you're actually hearing, so it tracks your current location — and the upstream "nearest repeater signal" meter comes alive too (fed by traffic, not 12h adverts).
Under the hood: notify-on-change only (no per-packet UI churn); list stays capped at 5; no hard 30-min drop, so a known repeater stays usable for routing between reads. No new per-packet cost — the parse already ran.
Downloads
- Android:
app-release.apk— install on your phone. - Windows (desktop):
offband-meshcore-b54-windows.zip— unzip the whole folder, then runoffband_meshcore.exe(it will not run on its own — it needs the folder). Unsigned, so Windows SmartScreen shows "unknown publisher" → More info → Run anyway. If a clean machine hits a missing-DLL error, install the Microsoft VC++ x64 runtime (already present on most Win10/11).
Test build — not merged or released. Windows is unsigned; fine for known testers.