Commit Graph

6300 Commits

Author SHA1 Message Date
James Rich
2cf4e8f80e feat(map): replace Google Maps + OSMDroid with unified MapLibre Compose Multiplatform
Replace the dual flavor-specific map implementations (Google Maps for google,
OSMDroid for fdroid) with a single MapLibre Compose Multiplatform implementation
in feature:map/commonMain, eliminating ~8,500 lines of duplicated code.

Key changes:
- Add maplibre-compose v0.12.1 dependency (KMP: Android, Desktop, iOS)
- Create unified MapViewModel with camera persistence via MapCameraPrefs
- Create MapScreen, MaplibreMapContent, NodeTrackLayers, TracerouteLayers,
  InlineMap, NodeTrackMap, TracerouteMap, NodeMapScreen in commonMain
- Create MapStyle enum with predefined OpenFreeMap tile styles
- Create GeoJsonConverters for Node/Waypoint/Position to GeoJSON
- Move TracerouteMapScreen from feature:node/androidMain to commonMain
- Wire navigation to use direct imports instead of CompositionLocal providers
- Delete 61 flavor-specific map files (google + fdroid source sets)
- Remove 8 CompositionLocal map providers from core:ui
- Remove SharedMapViewModel (replaced by new MapViewModel)
- Remove dead google-maps and osmdroid entries from version catalog
- Add MapViewModelTest with 10 test cases in commonTest

Baseline verified: spotlessCheck, detekt, assembleGoogleDebug, allTests all pass.
2026-04-13 11:40:48 -05:00
James Rich
048c74db13 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5105)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
v2.7.14-internal.52
2026-04-13 12:37:53 +00:00
James Rich
39620d063b fix(nav): restore broken traceroute map navigation (#5104) 2026-04-13 12:25:21 +00:00
James Rich
35bf1fded5 build: align Compose Multiplatform versions and exclude transitive BOMs (#5103) 2026-04-13 12:02:52 +00:00
James Rich
4dd591af25 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5101)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-04-13 11:04:58 +00:00
James Rich
a8cdec7f55 fix(ci): isolate JetBrains Compose Multiplatform in Renovate config (#5102) 2026-04-13 06:09:22 -05:00
renovate[bot]
1e29fec469 chore(deps): update androidx (general) to v1.11.0-rc01 (#5099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: James Rich <james.a.rich@gmail.com>
2026-04-12 22:33:44 -05:00
James Rich
b0c603c7ed fix(build): align AndroidX Compose versions with CMP and migrate to runComposeUiTest (#5096) v2.7.14-internal.51 2026-04-13 02:49:11 +00:00
James Rich
e424d4d076 fix(build): add explicit compose-multiplatform-animation dependency (#5095) v2.7.14-internal.50 2026-04-12 22:36:37 +00:00
James Rich
17d85c88c4 fix(release): publish GitHub release on promotion instead of staying draft (#5094) v2.7.14-internal.49 2026-04-12 16:04:13 -05:00
James Rich
5c47256b3f test(prefs): migrate DataStore tests from androidHostTest to commonTest (#5092) 2026-04-12 20:45:19 +00:00
James Rich
a11dee42a7 test: migrate Compose UI tests from androidTest to commonTest (#5091) 2026-04-12 20:20:00 +00:00
James Rich
4156acf297 ci: fix Gradle cache path validation warning for Robolectric jars (#5093) 2026-04-12 15:18:02 -05:00
James Rich
c059f19cc6 ci: reduce CI costs by ~54% — skip desktop builds in PR/main, reduce scheduled frequency (#5090) 2026-04-12 18:59:21 +00:00
James Rich
ade314d503 build: upgrade TARGET_SDK to 37 and update AGP to 9.2.0-alpha08 (#5089) 2026-04-12 17:42:58 +00:00
James Rich
bc44af1597 fix(connections): show device name during connecting state (#5085) 2026-04-12 17:29:25 +00:00
James Rich
eeed780e51 chore(ai): modernize and unify agent tooling and instructions (#5087) 2026-04-12 17:29:05 +00:00
James Rich
d03e61af6f fix(build): remove Compose BOM to resolve compileSdk 37 conflict (#5088) 2026-04-12 17:05:52 +00:00
renovate[bot]
916eb51b94 chore(deps): update androidx.compose:compose-bom-alpha to v2026.04.00 (#5086)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-12 10:01:40 -05:00
James Rich
7ca7179197 build: migrate Compose dependencies to Compose Multiplatform (#5084) 2026-04-12 14:45:11 +00:00
James Rich
9281324be3 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5082) v2.7.14-internal.48 2026-04-12 06:44:03 -05:00
renovate[bot]
6da9f088a9 chore(deps): update softprops/action-gh-release action to v3 (#5081)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-12 06:43:45 -05:00
James Rich
e85300531e refactor(transport): complete transport architecture overhaul — extract callback, wire BleReconnectPolicy, fix safety issues (#5080) 2026-04-12 04:22:18 +00:00
James Rich
962c619c4c chore(deps): bump Kotlin 2.3.21-RC, Koin plugin 1.0.0-RC1, drop datetime compat (#5079) 2026-04-12 02:09:23 +00:00
James Rich
19502cd1e0 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5078) 2026-04-12 01:48:42 +00:00
James Rich
9468bc6ebe refactor(service): unify dual connectionState flows into single source of truth (#5077) 2026-04-12 00:50:52 +00:00
James Rich
5e44cbd3a9 fix(data): make MeshConnectionManagerImpl.onConnectionChanged atomic (#5076) 2026-04-12 00:49:09 +00:00
James Rich
62264b10c6 refactor(model): remove ConnectionState helper methods and fix updateStatusNotification return type (#5074) 2026-04-11 23:41:34 +00:00
James Rich
174315b21f refactor(data): replace lateinit var scope + start() with constructor injection (#5075) 2026-04-11 23:39:29 +00:00
James Rich
172680fd46 fix(mqtt): replace yield() with proper connection readiness signal (#5073) 2026-04-11 23:38:33 +00:00
James Rich
a3c0a4832d fix(transport): Kable BLE audit + thread-safety, MQTT, and logging fixes across transport layers (#5071) 2026-04-11 22:56:29 +00:00
James Rich
5f0e60eb21 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5067) 2026-04-11 22:07:04 +00:00
James Rich
40ea45a4fe fix(settings): hide Status Message config until firmware v2.8.0 (#5070) 2026-04-11 22:06:53 +00:00
James Rich
1fe3f4423d fix(ui): add missing @ParameterName annotations on actual rememberReadTextFromUri declarations (#5072) 2026-04-11 22:06:44 +00:00
James Rich
0441093ce8 refactor(node): move Position to last in telemetry list on node details (#5068) 2026-04-11 17:06:17 +00:00
James Rich
b3d0c97206 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5065) v2.7.14-internal.47 2026-04-11 04:53:07 -05:00
James Rich
1f88a26d51 feat(desktop): align versioning with Android, build runnable distributions in CI (#5064) 2026-04-11 03:50:32 +00:00
James Rich
6b77658cb1 ci: remove mesh_service_example from CI checks and Codecov (#5066) 2026-04-11 03:48:09 +00:00
James Rich
3794c79dae refactor: adopt M3 Expressive components from material3 1.11.0-alpha06 (#5063) 2026-04-11 02:10:03 +00:00
James Rich
a6423d0a0f feat(metrics): redesign position log with SelectableMetricCard and add CSV export to all metrics screens (#5062) 2026-04-11 01:26:26 +00:00
James Rich
37e9e2c8f0 fix(charts): hoist rememberVicoZoomState above vararg layers to prevent ClassCastException (#5060) 2026-04-11 00:05:56 +00:00
James Rich
9c8532f80d refactor: leverage new dependency features from recent updates (#5057) v2.7.14-internal.46 2026-04-10 22:51:08 +00:00
James Rich
929e273978 fix(build): resolve all actionable compile-time warnings (#5058) 2026-04-10 22:42:30 +00:00
James Rich
3d139d32fd chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5059) 2026-04-10 22:15:59 +00:00
James Rich
ce32e640de fix(icons): replace outline (FILL=0) pathData with filled (FILL=1) from upstream Material Symbols (#5056) 2026-04-10 22:15:43 +00:00
James Rich
77e30b60e1 chore(build): enable AboutLibraries offlineMode by default (#5054) 2026-04-10 21:34:38 +00:00
James Rich
520fa717a9 refactor(metrics/map): DRY up charts, decompose MapView monoliths, add test coverage (#5049) 2026-04-10 20:54:09 +00:00
James Rich
56332f4d77 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5053) 2026-04-10 20:41:55 +00:00
James Rich
02f6fd67b8 fix: clean up flaky, duplicated, and misplaced tests; remove redundant deps (#5048) 2026-04-10 19:46:45 +00:00
James Rich
e70dabe94d test(navigation): add tests for NavigationConfig, DeepLinkRouter, and… (#5052) 2026-04-10 19:18:59 +00:00