Commit Graph

495 Commits

Author SHA1 Message Date
Jeremiah K
c2a8e67aee fix(firmware): Retry ESP32 OTA service connections cleanly (#6081) 2026-07-09 03:07:25 +00:00
Jeremiah K
3e86c377b2 fix(dfu): Detect legacy bootloaders before secure fallback (#6079) 2026-07-09 00:18:31 +00:00
James Rich
9e55cdb3eb feat: wire up event-firmware metadata API (offline-first) + post-event firmware reminder (#6162)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 23:53:32 +00:00
Jeremiah K
8bfee2a59e feat(firmware): Confirm local firmware files before flashing (#6083) 2026-07-08 22:36:14 +00:00
Jeremiah K
8662a27e39 fix(firmware): Keep bundled release discovery available (#6082) 2026-07-08 22:36:11 +00:00
James Rich
ae0bdd9e97 feat(node): histogram of nodes per hop distance (#5745) (#6146)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 02:13:38 +00:00
James Rich
0964a0b345 feat(node): show CO₂ sensor temperature & humidity on Air Quality page (#6143)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 01:57:35 +00:00
James Rich
9cfe72ec3c fix(metrics): air-quality chart legend follows plotted data, not selection (#6145)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 01:11:53 +00:00
James Rich
93b24572c8 fix(messaging): use stored contact_key to avoid duplicate LazyColumn key crash (#6131) (#6142)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 00:42:22 +00:00
James Rich
17501048b4 feat(map): Site Planner coverage integration — import + estimate (#6136)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 23:24:14 +00:00
Jeremiah K
e12c4a579d fix(runtime): harden BLE profile, OTA setup, and DB access (#6126) 2026-07-07 19:58:43 +00:00
James Rich
33fbb9f7fc chore: fix build warnings and migrate deprecated APIs (#6130) 2026-07-07 18:17:42 +00:00
Benjamin Faershtein
cd3b3c2b70 Show outgoing message status text (#6121)
Co-authored-by: James Rich <james.a.rich@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 23:47:49 +00:00
James Rich
e400acf305 fix(geofence): restrict crossing alerts to creator, add per-geofence opt-in (#6117)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 23:01:17 +00:00
James Rich
f38073773e fix(discovery): let default-channel users start a scan (#6120)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 22:11:04 +00:00
Jeremiah K
cd98090efa fix(settings): Generate fresh PSK for named manual channels (#6076) 2026-07-06 17:08:25 +00:00
Jeremiah K
9b5e3bb5b4 fix(settings): Apply manual channel writes in order (#6077) 2026-07-06 17:07:20 +00:00
James Rich
6b58a975ef feat(node): label power channels and fix pressure axis scale (#6111)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:40:00 +00:00
James Rich
34c25d3982 feat(messaging): @mention with deep-link to node detail (#6098) (#6108)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 14:06:45 +00:00
James Rich
1dce09f0ae feat: compute EPA NowCast AQI from PM2.5 history (#6102)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-06 02:27:51 +00:00
James Rich
4a9f85bf5e feat(database): unify device database across transports (#6096)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 01:41:29 +00:00
James Rich
2fa0abd231 Add secure key backup/restore/delete for security config (#6105)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-06 01:40:29 +00:00
James Rich
4d07bc6641 fix: derive phone-UI units from OS locale, not radio display config (#6101)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-06 01:36:55 +00:00
Ben Meadors
d815d6d363 feat(messaging): translate chat messages in-place with on-device ML Kit (google flavor only) (#6103) 2026-07-06 01:03:38 +00:00
James Rich
bf929c20f2 feat(discovery): Mesh Beacon client with iOS 014-mesh-beacons parity (#6097)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 00:15:56 +00:00
James Rich
005ad1a9d4 fix: harden against adversarial mesh-fuzz findings (crash, GC-thrash, unbounded growth, OOM) (#6093) 2026-07-05 20:21:37 +00:00
James Rich
083fa9de2b fix(logs): Allow access to DebugPanel Logs while disconnected (#6074) 2026-07-02 18:35:38 +00:00
Jeremiah K
55279d4800 fix(qr): Apply channel replacements reliably (#6072) 2026-07-02 18:31:32 +00:00
James Rich
4d50e847c9 feat(settings): wire is_unmessagable/is_licensed into DeviceProfile export/import (#6065)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-02 06:53:48 -05:00
James Rich
00ad90afdf feat(firmware): nRF52 legacy BLE DFU — stock-bootloader fixes + stranded-device recovery (#6041)
Signed-off-by: James Rich <james.a.rich@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 02:54:22 +00:00
James Rich
4ea8736c3a feat(settings): view & export app debug logs in-app (#6055)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 00:46:14 +00:00
James Rich
6a2dfc898b feat(discovery): surface received Mesh Beacon invitations (#6043)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 21:54:49 +00:00
Jeremiah K
9ed656c532 fix(messages): Refresh channel placeholders after updates (#6054) 2026-07-01 21:33:16 +00:00
James Rich
735a57bc70 fix(connections): label the connecting-card button "Stop Connecting" (#6046)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 19:01:09 +00:00
Jeremiah K
f57cf73180 fix(qr): Stabilize scanner lifecycle and imports (#6040) 2026-07-01 16:25:06 +00:00
James Rich
c98410112b test(settings): fix flaky DebugViewModelTest presetFilters date assertion (#6045)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:20:36 +00:00
James Rich
60119ce9d2 feat(connections): add deep link to trigger a connection by address (#6036)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 12:55:04 +00:00
James Rich
1ad756205f feat(lora): default US region to LongTurbo preset (#6009)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 21:27:46 -05:00
James Rich
77b4ba19de feat: Waypoint geofences (editor, map overlays, alert engine) (#6014)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 21:27:31 -05:00
James Rich
462781f1eb feat: NFC tag writing for shared contacts and channels (#6030)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 21:27:05 -05:00
James Rich
55ea28bf8b fix(discovery): show disabled reason below Start Analysis button (#6027)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 15:06:47 +00:00
Jeremiah K
4f8aced916 fix(ble): Handle scan registration failure (#6019) 2026-06-29 23:41:08 +00:00
James Rich
ce1a9fca2b fix(firmware): repair nRF USB firmware update and post-update reconnect (#6018)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 20:24:22 +00:00
James Rich
f47c31da16 fix(car): notification-only car messaging for production; park templated behind flag (#6015)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 17:30:29 +00:00
James Rich
fef124bc1f fix(docs): stop builds from churning tracked docs screenshots (#6012)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 10:28:29 -05:00
James Rich
8cc8185048 fix(car): suppress INVISIBLE_MEMBER in CarScreensTest for fdroid build (#6010)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 10:27:01 -05:00
James Rich
26bab943f3 fix(ui): stop node signal pill from wrapping; restore full-width spread (#6007)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 12:45:40 +00:00
Jeremiah K
cbd72bee49 fix(qr): Serialize channel import writes (#5999) 2026-06-29 00:53:29 +00:00
James Rich
5cf433dd26 fix(car): wire notifications & emergency, fix TabTemplate crash, pin car-app to stable (#5997)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 23:14:12 +00:00
James Rich
f03cf1f3b3 feat(ui): StatusSurface AA legibility + node-details signing/transport polish (#5985)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 16:25:03 +00:00