James Rich
531ea8363f
feat(discovery): add DiscoveryPrefs for persistent user defaults (D012)
...
Add DataStore-backed preferences for discovery scan settings:
- dwellMinutes: persisted dwell time per preset (default 15)
- selectedPresets: last-used preset selection (restored on reopen)
- aiEnabled: whether AI summary expansion is enabled
- topologyOverlayEnabled: map topology overlay default
Architecture:
- Interface: DiscoveryPrefs in core:repository/AppPreferences.kt
- Implementation: DiscoveryPrefsImpl in core:prefs (reuses UiDataStore)
- Fake: FakeDiscoveryPrefs in core:testing
- Wiring: DiscoveryViewModel restores prefs on init, persists on change
Validated: spotlessApply, allTests, compileKotlinJvm
2026-05-20 17:09:08 -05:00
James Rich
5792e09989
feat(discovery): align state machine with spec, add deep links, fix tests
...
- Add Preparing, Cancelling, Failed states to DiscoveryScanState (FR-008)
- Change Complete to data class with CompletionOutcome enum
- Add local-mesh-discovery deep link routes to DeepLinkRouter (FR-031)
- Compute packetSuccessRate/packetFailureRate in scan engine (FR-012)
- Fix DiscoveryScanEngineTest compilation and restructure with shared scheduler
- All 8 tests pass, kmpSmokeCompile clean
2026-05-20 17:09:08 -05:00
James Rich
0907e63445
feat(discovery): improve scan metrics, node enrichment, and configuration restoration
...
- Implement distance tracking using `latLongToMeter` and a new `getMaxDistance` DAO query
- Calculate Airtime Rate as a delta over time to align with telemetry specifications
- Capture and restore the full `LoRaConfig` instead of just the modem preset after a scan
- Persist local radio statistics (Tx/Rx counts, uptime, relay stats) in preset results
- Backfill missing node names and positions from the local NodeDB during discovery
- Refactor `DiscoveryScanEngine` to use injected `CoroutineDispatchers` and `ApplicationCoroutineScope`
- Reduce BLE connection priority request delay in `BleRadioTransport` to 1 second
- Improve test reliability by replacing fixed `Thread.sleep` calls with state-based polling and `delay`
2026-05-20 17:08:46 -05:00
James Rich
a960f9ac2d
Add Local Mesh Discovery feature
...
* Introduce a new `:feature:discovery` module for scanning mesh topology across multiple LoRa presets
* Add `DiscoveryScanEngine` to manage scan lifecycles, preset shifting, and packet collection
* Update database schema to version 39 with tables for discovery sessions, preset results, and discovered nodes
* Implement UI screens for scan configuration, real-time progress, and historical session management
* Add flavor-specific discovery maps (Google Maps and OSM) for visualizing node positions and topology
* Include algorithmic and AI-powered summary generation for analyzing LoRa preset performance
* Add report export functionality for Text and PDF formats
* Integrate discovery entry point into the settings screen and navigation graphs
2026-05-20 17:08:09 -05:00
James Rich
4c588b73f8
fix(settings): rename UDP toggle label for cross-platform audit alignment ( #5549 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-20 21:51:29 +00:00
James Rich
0076be3a24
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5532 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-05-20 09:11:32 -05:00
James Rich
8113167833
build(flatpak): overhaul offline source generation with native cache scanner ( #5533 )
2026-05-20 09:11:03 -05:00
James Rich
99b5688b00
build(flatpak): overhaul and automate flatpak offline manifest generation ( #5529 )
2026-05-20 07:12:03 -05:00
James Rich
7ae1b26813
chore(flatpak): optimize CI source generation and clean up redundant tasks ( #5525 )
2026-05-20 04:51:47 -05:00
James Rich
e13a4359e1
fix(ci): exclude kotlinNativeBundleConfiguration from flatpak source generation ( #5517 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-19 21:03:51 -05:00
James Rich
877909fa94
fix: prevent node details hang when device hardware API is unreachable ( #5514 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-19 20:37:42 -05:00
James Rich
01d32e15c0
fix(database): update @Relation annotations for Room 3.0.0-alpha05 ( #5507 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-19 14:36:47 -05:00
James Rich
228765a159
fix(ci): unblock Dokka documentation generation ( #5496 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-19 13:00:45 -05:00
James Rich
83bb1a31f7
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5465 )
2026-05-19 10:12:04 -05:00
James Rich
fc0df1a79a
feat(docs): In-app documentation browser with Jekyll site and Docusaurus sync ( #5445 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-19 04:00:22 +00:00
James Rich
f5128798a8
feat: adopt Material 3 Expressive design system (M3-native APIs only) ( #5479 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-19 01:10:47 +00:00
renovate[bot]
72436e70bc
chore(deps): update core/proto/src/main/proto digest to 59cb394 ( #5480 )
2026-05-18 18:01:43 -05:00
James Rich
df4f10c4d6
fix(nav): remote admin nodenum + Nav3 consolidation and improvements ( #5478 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-18 17:29:27 +00:00
James Rich
f4b6b02ace
refactor(build): rename entry modules and remove DESKTOP_ONLY mode ( #5476 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-18 12:44:12 +00:00
James Rich
057d5bb778
fix(database): make withDb retry logic resilient to varying close messages ( #5474 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-18 11:24:09 +00:00
James Rich
b32aa1b9f2
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5460 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-05-14 16:34:40 -05:00
James Rich
6edac97d5f
fix: TAKPacket-SDK proto ownership and desktop/flatpak CI fixes ( #5459 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-14 16:33:05 -05:00
James Rich
33184fef99
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5455 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-05-14 12:17:20 -05:00
renovate[bot]
f1c793db5d
chore(deps): update com.github.luben:zstd-jni to v1.5.7-8 ( #5454 )
2026-05-14 11:32:58 -05:00
Ben Meadors
a04a261b80
feat: TAK v2 protocol integration with zstd compression and full CoT type support ( #5434 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: jamesarich <2199651+jamesarich@users.noreply.github.com >
Co-authored-by: James Rich <james.a.rich@gmail.com >
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-14 12:50:01 +00:00
James Rich
13865e7c8b
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5438 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-05-14 06:10:23 -05:00
James Rich
dcb147163c
fix: clarify position precision as ± radius ( #5428 )
2026-05-12 10:24:29 -05:00
renovate[bot]
05b1ea918e
chore(deps): update core/proto/src/main/proto digest to 1c62540 ( #5421 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-12 08:25:55 -05:00
James Rich
0f2b1c064a
fix: clamp future lastHeard timestamps to current time on ingestion ( #5418 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-12 07:35:11 -05:00
James Rich
09a0d123be
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5416 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-05-12 06:21:59 -05:00
renovate[bot]
56077db6d9
chore(deps): update core/proto/src/main/proto digest to 1c62540 ( #5413 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-12 06:20:48 -05:00
James Rich
85c840de32
feat: add Compose Preview Screenshot Testing infrastructure ( #5410 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-12 02:18:23 +00:00
James Rich
10c5b5db2e
feat(api): add hasAnyEntries method to local data sources and improve… ( #5406 )
2026-05-11 19:34:41 -05:00
James Rich
82135df865
Update notification intents and deep link URI format ( #5408 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-11 19:34:24 -05:00
renovate[bot]
d847818487
chore(deps): update core/proto/src/main/proto digest to 1c62540 ( #5404 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-11 17:31:01 -05:00
James Rich
313dc1c2f7
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5400 )
2026-05-11 17:28:06 -05:00
James Rich
95c3bc0bce
Brownfield gap remediation: 28 tasks + intro commonMain migration ( #5401 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-11 20:10:23 +00:00
renovate[bot]
f89fdaf99d
chore(deps): update core/proto/src/main/proto digest to b302d92 ( #5398 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-11 10:48:40 -05:00
Austin
484518195e
Gradle: Add flatpakGradleGenerator task ( #5369 )
2026-05-11 14:44:29 +00:00
renovate[bot]
2d5bcc1e50
chore(deps): update core/proto/src/main/proto digest to 03eb534 ( #5397 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-11 12:50:08 +00:00
James Rich
443de4a34d
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5383 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-05-10 05:57:23 -05:00
James Rich
924f8a507b
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5378 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-05-07 07:34:30 -05:00
James Rich
213c380514
refactor(firmware): replace PlatformBackHandler with NavigationBackHandler ( #5376 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-06 20:01:40 +00:00
James Rich
3c75510f01
fix(mqtt): harden TLS enforcement, add user CA trust, and improve error diagnostics ( #5365 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-06 12:09:49 -05:00
James Rich
3e55579250
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5357 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-05-06 12:02:01 -05:00
James Rich
2de57a9e81
feat: align theme with Design Standards v1.3, remove contrast setting ( #5355 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-04 16:10:06 -05:00
James Rich
82926fd734
feat: event firmware easter egg with ambient branding ( #5354 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-04 19:37:47 +00:00
James Rich
78ff3f599c
chore(ble): don't surface ui message when canceling scope ( #5352 )
2026-05-04 17:23:57 +00:00
James Rich
fa3437b147
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5349 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-05-04 11:45:11 -05:00
James Rich
26c50258da
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5347 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-05-04 11:30:59 -05:00