James Rich
34066fa661
fix(connections): replace tab-based UI with unified device list and gate NSD scanning
...
On Android 15+ NsdManager.discoverServices() triggers an unavoidable system
consent dialog. This replaces the BLE/Network/USB tab bar with a single
scrollable device list and gates NSD behind an explicit user-initiated scan
toggle, preventing the dialog from appearing unexpectedly.
- Add gated NSD flow (flatMapLatest on isNetworkScanning) in ScannerViewModel
- Simplify GetDiscoveredDevicesUseCase to accept resolvedList as a parameter
- Create unified DeviceList composable with per-transport sections
- Add BLE scan toggle matching the network scan pattern
- Delete BLEDevices, NetworkDevices, UsbDevices, ConnectionsSegmentedBar
- Add onCleared() scan cleanup as a safety net
- Remove unused supportedDeviceTypes from ViewModel
2026-04-13 17:47:33 -05:00
James Rich
28be6933c8
fix(proguard): disable shrinking for Compose animation classes ( #5116 )
2026-04-13 21:55:52 +00:00
James Rich
92166f0fa2
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5115 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-04-13 15:52:55 -05:00
renovate[bot]
8e7c4f54a3
chore(deps): update actions/upload-pages-artifact action to v5 ( #5114 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 15:24:43 -05:00
James Rich
938a951737
refactor: leverage CMP 1.11 + Lifecycle 2.11 — v2 test API, Json privacy, dropUnlessResumed nav guards ( #5112 )
2026-04-13 20:02:31 +00:00
James Rich
76386e419c
refactor: migrate remaining raw stateIn(WhileSubscribed) to stateInWhileSubscribed extension ( #5113 )
2026-04-13 20:02:06 +00:00
James Rich
b13f9bf989
fix(resources): add resourcePrefix to KMP + widget modules, rename prefixed resources ( #5111 )
2026-04-13 18:25:23 +00:00
James Rich
8a06157ff4
docs: remove agent cruft, condense and validate remaining docs ( #5110 )
2026-04-13 17:59:19 +00:00
renovate[bot]
75e2177da7
chore(deps): update com.android.tools:common to v32.1.1 ( #5108 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 17:16:04 +00:00
renovate[bot]
61f90352c4
chore(deps): update agp to v9.2.0-rc01 ( #5107 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 17:15:52 +00:00
James Rich
087fbbfb45
fix(build): overhaul R8 rules and DRY up build-logic conventions ( #5109 )
2026-04-13 17:11:42 +00: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>
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 )
2026-04-13 02:49:11 +00:00
James Rich
e424d4d076
fix(build): add explicit compose-multiplatform-animation dependency ( #5095 )
2026-04-12 22:36:37 +00:00
James Rich
17d85c88c4
fix(release): publish GitHub release on promotion instead of staying draft ( #5094 )
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 )
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 )
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