James Rich
720c4c246f
Merge remote-tracking branch 'origin/main' into screen-mirror-poc
...
# Conflicts:
# core/data/src/commonTest/kotlin/org/meshtastic/core/data/manager/FromRadioPacketHandlerImplTest.kt
# gradle/libs.versions.toml
2026-09-19 17:02:26 -05:00
James Rich
8bd80e9852
fix(nodes): the direct filter no longer returns MQTT nodes ( #7256 )
2026-09-19 20:33:54 +00:00
James Rich
bf4cf1c88b
refactor: construct protos through Builder for buildersOnly protobufs ( #7115 )
2026-09-18 04:08:03 +00:00
James Rich
92adb816f9
fix(messaging): key conversations to channel identity, not slot index ( #7162 )
2026-09-15 15:18:36 +00:00
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 and Claude Fable 5
e34dea7ac1
refactor(debug): harden screen mirror from adversarial review
...
Manager: validate format (MONO_VLSB only) and geometry (width/height must
describe exactly total_size bytes) so malformed device input can't reach
aspectRatio and crash; unit tests for reassembly, drops, restarts.
AdminController: setDisplayMirror/sendInputEvent become non-suspend
immediate sends (teardown-safe, input never queues behind bulk admin) and
gain requestDisplayFrame. Mirror tab: render each frame once into a 1:1
ImageBitmap scaled with FilterQuality.None (kills the fractional-scale
seams), gate controls on connection state, reset the toggle on disconnect,
stop the stream on tab dispose and ViewModel clear, add a one-shot Refresh,
inject AdminController/ConnectionStateProvider instead of RadioController.
Dispatch: display_frame test coverage incl. revoked-session.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-09-09 11:19:43 -05: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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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 Rich and Claude 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