5.5 KiB
Offband Meshcore 1.7.0
A foundations release. Message history moves to a new storage format that stays fast no matter how much of it you have, every radio you connect now keeps its own data, and the contact list follows what your radio actually holds. On top of that: custom contact names, region scoping for channels, a reorganized Settings, a CLI console for stock MeshCore 1.18 companions, and a steadier Bluetooth reconnect. Over 100 changes since 1.6.0.
Please read before updating: a one-way storage upgrade
The first time 1.7.0 starts, it converts your message history to a new database format. After that, going back to an earlier version of the app is not possible: older versions cannot open the converted database. Your messages carry over; the conversion checks every conversation and keeps the original data for any it cannot verify.
The old copy of your history is kept for 30 days and then cleared automatically. Until then the database is larger than before, because it briefly holds your history twice. To reclaim that space now, use App Settings > Storage > Clear Stale History Now. It asks first, shows what will be cleared, and never touches your messages. Anything it cannot verify, it keeps and tells you so (#917, #919, #920, #943, #952, #962, #965, #966).
Message storage that keeps up
- History is stored one row per message instead of one large block per conversation, so receiving a message costs the same at 50,000 messages of history as at 50 (#920).
- Saving, merging, and deleting history now run off the UI thread, so a long channel no longer stalls the screen (#919).
Every radio keeps its own data
If you use more than one radio, switching between them no longer mixes their data:
- Discovered nodes belong to the radio that heard them (#754).
- Blocked contacts belong to the radio that holds them, and a brand-new radio no longer comes up with another radio's blocks (#471). With no radio connected, the Blocked pane says so instead of looking empty (#938).
- Channel notification modes are set per radio and can be reset properly (#839).
- Path history and delivery records are kept per radio (#937).
- After a dropped connection, connecting a different radio no longer briefly shows the previous radio's history (#939). Isolation is checked across radio switches and app restarts (#940).
Contacts that match your radio
- The contact list now comes from your radio's own contact sync. Overheard adverts the radio rejected (past its hop limit or capacity) no longer pile up as phantom contacts, and a contact the radio does store still appears on its own, with no manual sync needed (#838).
- Custom names: give any contact a name of your own. Adverts keep updating what the node calls itself underneath without moving your label, and where the two differ you can see both. Your label is never sent over the air or included in exports or contact shares. Custom names belong to the radio you set them on (#750).
Region scoping
- Discover the regions a repeater knows, then set a channel's region scope so its messages flood only within that region. The repeater picker is searchable and lists the repeaters you can actually reach (#812, #830, #836).
- Requires MeshCore companion firmware 1.16 or newer, or current Offband firmware. On older firmware the option stays hidden.
Settings, reorganized
- Location is its own Settings category and the one place for GPS (#977).
- Button actions stay in Node Settings, and Buzzer and tones moves to Message Settings, since some boards have a buzzer and no buttons (#978).
- Config import and export, GPX exports, and "Sync queued messages now" moved to Actions, and the Debug section is reordered (#902).
- Event tones, custom tune editing, screen settings, and a GPS Off / On / Power save control are built in, and appear only on a radio whose Offband firmware supports them. That firmware is not released yet, so for now these stay hidden (#969, #970, #971, #981, #986, #987).
CLI for stock MeshCore 1.18 companions
- A Device CLI console for the connected radio, at the top of the Debug section, with per-reply timing and secret replies masked (#868).
- Remote CLI to another companion over the mesh, from the chat menu's CLI console action, plus a per-contact Remote CLI permission toggle that controls who may run CLI on your radio. CLI traffic stays in the console and out of your chat (#870).
- Both need a stock MeshCore 1.18 companion; on other firmware they stay hidden.
Bluetooth and stability
- Automatic reconnect is bounded: it stops after 5 attempts or 3 minutes, whichever comes first, Stop ends it immediately, and a connection you start yourself always takes over (#997).
- A connection started while a disconnect was still finishing no longer leaves the status stuck and the composer unusable (#997).
- Windows: fixed a crash when closing the app (#989).
Fixes
- Messages with 2- or 3-byte path hashes show the right hop count (a 13-hop message no longer reads as 39 hops), and the Packet Path screen agrees with the chat (#985).
- The Device CLI console now appears on stock MeshCore 1.18.0 radios whose version string carries a build suffix (#946).
For troubleshooting
- On Android 11 and newer, the exported debug log now includes the system's own record of why the app last stopped, including any "app not responding" trace, so a report can explain a freeze without anyone digging (#906).