Repository navigation
Offband Meshcore 1.7.0
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).