107 Commits
Author SHA1 Message Date
James Rich 43ce2c952c refactor(prefs): keep each surface's filters in one state object (#7120) 2026-09-10 21:12:39 +00:00
James Rich 5a0cb5cf41 feat: mark nodes not heard since the LoRa config changed (#7055) 2026-09-07 10:44:43 +00:00
Jeremiah K e2d033ae6f fix(connections): scope region warnings to the active connection (#7015) 2026-09-03 19:31:17 +00:00
James RichandClaude Fable 5 3b08d8d5af fix(map): resolve the persisted basemap before the map first renders (#6978)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-31 13:49:31 +00:00
James Rich 2ac28e28c3 feat(map): filter the map by node role and by how a node was heard (#6959) 2026-08-30 05:45:05 +00:00
James Rich 17587eb242 feat(map): give every map layer its own opacity slider (#6958) 2026-08-30 03:59:27 +00:00
James RichandClaude Opus 5 f5a6ae38b8 feat(map): replace OSMdroid with MapLibre on F-Droid, and put a map on desktop (#6901)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-29 15:59:26 +00:00
232d2f9d51 feat(units): resolve units from the device region, add a Units setting, render through ICU (#6916)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: nomdetom <nomdetom@protonmail.com>
2026-08-27 14:32:55 -05:00
James RichandClaude Fable 5 8a9e428ec8 feat(units): follow the OS locale for units and number formatting (#6854)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 18:51:46 +00:00
James RichandClaude Fable 5 60002de56d chore(detekt): scan flavor, iosMain and jvmAndroidMain sources (#6836)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-23 23:24:19 +00:00
James RichandClaude Fable 5 9620984a68 feat(tak): add TAK Mesh Channel setting for outbound TAK traffic (#6770)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-19 23:04:45 +00:00
James Rich 3796787cdf fix(database): raise default cache limit and warn before eviction (#6742) 2026-08-17 17:37:51 +00:00
James RichandClaude Opus 5 19bb682c9c feat(firmware): add nRF52/RP2040 factory erase and OTAFIX bootloader upgrade over USB (#6526)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 16:43:07 +00:00
Jeremiah K 41414f832f fix(discovery): restore radio state after interrupted scans (#6717) 2026-08-15 23:49:38 +00:00
Jeremiah K e9d09a3380 fix(lifecycle): harden packet admission and transport ownership (#6716) 2026-08-15 21:44:17 +00:00
James RichandClaude Opus 5 1f0d40bad1 feat(demo): make Demo Mode reachable and populated in release builds (#6691)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 00:15:58 +00:00
James RichandClaude Opus 5 fd3cce355d fix(connections): hide the replay demo entry when its capture asset is absent (#6692)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 23:23:38 +00:00
simulationstation 7730823aad refactor(maps): share custom tile providers (#6641) 2026-08-13 18:17:33 +00:00
simulationstation 2f387369c1 fix(messaging): disambiguate sender-scoped packet IDs (#6624) 2026-08-13 13:50:37 +00:00
simulationstation b4bedd92fc fix(settings): restore channels from device profiles (#6618) 2026-08-13 12:10:18 +00:00
James RichandClaude Opus 5 83851c0d4a test(compose): prepare tests for re-landing CMP 1.12 (fixes 8 of 10 regressions) (#6666)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 11:30:46 +00:00
James RichandClaude Opus 5 d102ca262a fix(service): stop blocking getString on Dispatchers.Default-reachable notification paths (#6668)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 03:07:03 +00:00
simulationstation f450645016 feat(messaging): add optional full message timestamps (#6639) 2026-08-12 12:50:23 +00:00
simulationstation 0336ef00a8 fix(service): load persisted MeshLog cleanup policy (#6621) 2026-08-12 12:11:40 +00:00
simulationstation 92efb53a5a fix(service): await persisted device before boot reconnect (#6617) 2026-08-12 12:11:34 +00:00
James RichandClaude Opus 5 bfb66eb988 fix(data): stop "1 hour" log retention from wiping the MeshLog table (#6635)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 02:01:32 +00:00
James Rich cd1ebd1ec1 feat(takserver): surface mesh nodes to ATAK as CoT contacts (mesh-to-CoT) (#6554) 2026-08-03 18:52:17 +00:00
Jeremiah K 2f191868e9 fix(database): recover wedged observer pools (#6540) 2026-08-01 21:39:16 +00:00
James RichandClaude Opus 5 c7ca45fe93 fix(ui): stop discarding measured-zero sensor and RSSI readings (#6507)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 19:49:31 -05:00
James RichandClaude Opus 5 b4105e3e3f fix(event): honor disabled node events, gate brand URLs, observe the manifest (#6499)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 21:09:13 +00:00
Jeremiah K c5638146b1 fix(android): avoid resource stalls in connection status (#6398) 2026-07-25 00:18:43 +00:00
Jeremiah K 21966ffef2 test(firmware): synchronize OTA preflight confirmation (#6402) 2026-07-24 11:32:18 +00:00
Jeremiah K 112c8b054d fix(ble): harden reconnect sessions and Android scan lifecycle (#6384) 2026-07-23 15:21:39 +00:00
Jeremiah K 09555a4398 fix(node): reconcile stale identity replays after renumbering (#6259) 2026-07-22 23:53:43 +00:00
Jeremiah K 602b9b086f fix(database): reduce write-lane pressure from one-shot reads (#6255) 2026-07-22 16:50:41 +00:00
CatSu 88e8e0fb92 fix(map): retain camera across tab navigation (#6352) 2026-07-22 07:10:07 -05:00
Jeremiah K 1bf25121ca fix(database): make DB updates atomic across device switches (#6256) 2026-07-21 14:36:00 +00:00
91d2f7660b Add firmware update notice (#6309)
Co-authored-by: Benjamin Faershtein <benjaminfaershtein@Benjamins-MacBook-Pro-2.local>
Co-authored-by: James Rich <james.a.rich@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 14:31:25 -05:00
James RichandClaude Fable 5 bc5719c8a7 fix(database): migrate device identity across firmware 2.8 renumbering (#6228)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 22:54:54 +00:00
James RichandClaude Fable 5 5b0d046d42 feat(firmware): nightly preview channel behind the hidden-features unlock (#6225)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 19:41:19 +00:00
James RichandClaude Fable 5 7115c176d4 fix(discovery): restore radio home config after an interrupted scan (#6192)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 13:48:04 +00:00
James RichandClaude Opus 4.8 9bb4ccc23c refactor(qr): apply channel imports atomically via edit-settings transaction (#6170)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 14:20:47 -05:00
Jeremiah K 6a53b0805e fix(ble): refresh GATT cache around ESP32 OTA profile changes (#6166) 2026-07-09 14:20:18 -05:00
Jeremiah K c2a8e67aee fix(firmware): Retry ESP32 OTA service connections cleanly (#6081) 2026-07-09 03:07:25 +00:00
James RichandClaude Opus 4.8 bd14228fb6 feat: event-theme fonts — capture + apply app-wide (Google flavor) with sheet opt-out (#6163)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 03:04:50 +00:00
Jeremiah K 8662a27e39 fix(firmware): Keep bundled release discovery available (#6082) 2026-07-08 22:36:11 +00:00
James RichandClaude Opus 4.8 2a8f923d10 feat(map): F-Droid map-layer parity — share layer UI + logic in common source (#6138) (#6148)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 03:07:40 +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
James RichandClaude Opus 4.8 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