James Rich
3b5251a599
[Spec Kit] Implementation progress: D044 accessibility polish
...
- Added semantics annotations for screen readers
- Added progress announcements for dwell indicator
- Added disabled-preset explanations
- Migrated string resources to strings.xml
- Added DiscoveryMigrationTest for string resource migration
- Marked D000, D011, D044 as complete in tasks.md
2026-05-07 20:42:31 -05:00
James Rich
194c649b8b
fix(discovery): resolve all detekt and lint issues across discovery modules (D048)
...
- Fix copyright headers (2025-2026 → 2026) in ~30 files across feature/discovery, core/database, core/repository, core/data, core/prefs
- Fix detekt compose issues: add modifier params to all public composable functions, fix parameter ordering in PresetResultCard, rename onMinutesSelected → onMinuteSelect (past tense), suppress LongMethod for DiscoverySummaryContent
- Fix detekt suppressions: CompositionLocalAllowlist in LocalDiscoveryMapProvider, MagicNumber/ReturnCount in DeepLinkRouter.routeSettings
- Mark D048 complete in tasks.md
All verification passes: spotlessCheck ✓, detekt ✓, tests ✓, kmpSmokeCompile ✓
2026-05-07 20:10:02 -05:00
James Rich
292a35cc49
feat(discovery): replace hardcoded UI strings with string resources (D047)
2026-05-07 19:53:12 -05:00
James Rich
cffafb175d
test(discovery): add DAO, packet collection, history, and deep-link tests (D010, D023, D042)
2026-05-07 19:32:38 -05:00
James Rich
135974ec75
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-07 18:19:02 -05:00
James Rich
5cb9ea8102
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-07 16:55:35 -05:00
James Rich
67f444a927
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-07 16:18:18 -05:00
James Rich
f8c7cc02ea
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-07 16:18:16 -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
James Rich
f1423e4ee2
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5339 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-05-03 14:51:57 -05:00
James Rich
1c984d54f4
chore: Integrate MQTT logging with Kermit and enhance PII sanitization ( #5338 )
2026-05-02 18:53:19 +00:00
James Rich
9e396cdecc
chore: optimize AI agent context and implement CI cost controls ( #5335 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-05-02 13:19:11 -05:00
James Rich
c0b0b9edd4
fix(network): resolve empty MQTT address and enforce TLS on default server ( #5333 )
...
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-02 14:59:44 +00:00
James Rich
5a95201b4e
fix(connections): improve BLE scan reliability and UI lifecycle ( #5329 )
2026-05-02 14:25:40 +00:00
Andrew Smith
2914bc6ff6
Change default ContrastLevel from STANDARD to MEDIUM ( #5325 )
...
Co-authored-by: James Rich <james.a.rich@gmail.com >
2026-05-02 06:29:47 -05:00
James Rich
400e0404f6
fix(data): default new-node notifications off for event firmware ( #5323 )
2026-05-02 02:02:30 +00:00
James Rich
68a1c578a7
fix: add explicit DI binds and ensure scans start after DataStore load ( #5319 )
2026-05-01 15:39:40 +00:00
renovate[bot]
70a26f0def
chore(deps): update core/proto/src/main/proto digest to 1d6f1a7 ( #5309 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-01 11:37:29 +00:00
James Rich
e198f52de5
refactor(coroutines): migrate to kotlinx-coroutines 1.11.0-rc02 ( #5312 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-01 03:11:22 +00:00
James Rich
2822290908
refactor(build): build-logic cleanup, CC safety, and detekt 2.0 upgrade ( #5311 )
2026-05-01 02:48:37 +00:00
James Rich
9d64dd697e
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs, Licenses) ( #5298 )
2026-04-29 14:02:03 -05:00
James Rich
7f578906fa
revert: replace extra newline on traceroute route strings
...
fix translations?
2026-04-29 13:48:26 -05:00
James Rich
1966889c2d
feat(connections): connection sorting & conversation empty channel ranking ( #5295 )
2026-04-29 17:18:57 +00:00
James Rich
3d2b21843e
refactor: update user lookups and localize traceroute responses ( #5294 )
2026-04-29 16:42:02 +00:00
James Rich
9e0ad369dd
fix: update notification icon ( #5293 )
2026-04-29 16:02:41 +00:00
James Rich
f01e98e8d3
fix: update emoji catalog metadata and improve picker synchronization ( #5292 )
2026-04-29 15:27:36 +00:00
Pavel
575b7e5d27
fix(ui): align Cancel and Send enabled state ( #5284 )
2026-04-29 15:22:40 +00:00
James Rich
cbd26b06dd
fix: ensure snackbar respects safe drawing padding over host modifiers ( #5290 )
2026-04-29 14:59:18 +00:00
James Rich
5e415120d0
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs, Licenses) ( #5273 )
2026-04-29 06:49:14 -05:00
renovate[bot]
4afcc1e2e8
chore(deps): update core/proto/src/main/proto digest to 10a1689 ( #5276 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-29 06:43:39 -05:00
James Rich
e0c1934d96
fix: Resolve top Crashlytics issues for 29320633 beta release ( #5278 )
2026-04-29 11:13:52 +00:00
James Rich
247f342210
chore: project-wide cruft cleanup and dead code removal ( #5249 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-04-27 16:09:37 +00:00
James Rich
0f2730d86d
fix: remove slashes from strings.xml
2026-04-26 15:18:35 -05:00
James Rich
d4eadee500
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5247 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-04-26 15:11:12 -05:00
James Rich
bbb7f8b23f
fix(crashlytics): resolve beta 2.7.14 crash issues ( #5245 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-25 19:23:21 +00:00
James Rich
a035fedcdf
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5244 )
2026-04-25 18:39:06 +00:00
James Rich
9100c583b6
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5241 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-04-25 16:14:29 +00:00
renovate[bot]
225889ad94
chore(deps): update core/proto/src/main/proto digest to 249a808 ( #5239 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-25 00:25:51 +00:00
James Rich
91f4a17b48
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5240 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-04-24 12:35:42 +00:00
James Rich
7ee929648c
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5238 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-04-23 17:43:11 -05:00
James Rich
dea9d86c52
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5235 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com >
2026-04-23 14:41:17 -05:00
James Rich
2dcf01a02b
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5231 )
2026-04-23 07:09:31 -05:00