James Rich
092238cb55
refactor: use injected ioDispatcher and ApplicationCoroutineScope
...
Replaces two coroutine anti-patterns flagged by the architecture audit:
* FirmwareUpdateViewModel.onCleared() was using GlobalScope.launch to
run cleanup work that must outlive the ViewModel scope. Introduce a
new ApplicationCoroutineScope marker interface + Koin @Single binding
in core/common, backed by SupervisorJob() + ioDispatcher, and inject
it into the VM. NonCancellable is preserved so shutdown work still
cannot be interrupted. Verified end-to-end by the KoinVerificationTest
full-graph check.
* Six sites in feature/settings (android+jvm LogExporter/PrefExporter)
and core/ui (android+jvm PlatformUtils) were hardcoding Dispatchers.IO.
Switch to the project's injectable ioDispatcher property so tests
can substitute a test dispatcher without reflection.
Dispatchers.Main sites in LogExporter are intentionally left alone —
they are fully test-swappable via Dispatchers.setMain() and there is
no existing mainDispatcher property to inject.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-17 10:53:08 -05:00
James Rich
a6a889430b
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5159 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-04-16 21:43:35 -05:00
renovate[bot]
65b885a073
chore(deps): update core/proto/src/main/proto digest to 4d5b500 ( #5161 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 21:41:36 -05:00
James Rich
17e69c6d4c
chore: review-cleanup fleet (audit + fix + hardening) ( #5158 )
2026-04-17 00:02:59 +00:00
James Rich
872c566ef1
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5157 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-04-16 20:25:12 +00:00
renovate[bot]
0f900fe7d7
chore(deps): update core/proto/src/main/proto digest to c9067da ( #5151 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-15 13:12:53 -05:00
James Rich
878905aea3
perf(messaging): batch node + reply lookups in message loading ( #5149 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-15 15:48:26 +00:00
James Rich
c7d2a76851
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5145 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-04-15 07:48:12 -05:00
James Rich
84621acb04
fix: align BLE connection handshake with firmware protocol expectations ( #5141 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-15 11:55:15 +00:00
James Rich
96419f3251
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5140 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-04-15 06:07:21 -05:00
James Rich
401f59489a
chore: remove deprecated mesh_service_example module ( #5055 )
2026-04-15 03:10:23 +00:00
James Rich
72b981f73b
chore: KMP audit — commonize code, centralize utilities, eliminate dead abstractions ( #5133 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-15 02:17:50 +00:00
James Rich
79ed0a865a
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5128 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-04-15 01:14:38 +00:00
James Rich
bf0deef708
fix(icons): audit and correct icon migration regressions from #5030 #5040 #5056 ( #5136 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-15 01:14:31 +00:00
James Rich
fa63a4ac50
feat: add high-contrast theme with accessible message bubbles ( #5135 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-15 01:14:20 +00:00
James Rich
f48fc61729
feat(environment): add 1-Wire multi-thermometer (DS18B20) display support ( #5130 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-15 00:03:24 +00:00
James Rich
099aea2d81
feat(desktop): add entitlements and wire MeshConnectionManager into orchestrator ( #5127 )
2026-04-14 15:16:10 +00:00
renovate[bot]
c6f58cc799
chore(deps): update core/proto/src/main/proto digest to 940ac38 ( #5126 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-14 09:48:25 -05:00
James Rich
27055290e2
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5125 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-04-14 12:37:12 +00:00
renovate[bot]
3aadd29e67
chore(deps): update core/proto/src/main/proto digest to a045501 ( #5124 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-14 07:17:49 -05:00
James Rich
9acdf5309f
refactor: modern APIs — Koin 4.2, CMP 1.11, Ktor resilience, Room @Upsert, injected dispatchers ( #5119 )
2026-04-14 11:41:01 +00:00
renovate[bot]
99378c9291
chore(deps): update core/proto/src/main/proto digest to 98e95ee ( #5123 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-14 06:50:59 -05:00
James Rich
743851b0b5
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5120 )
...
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-04-14 10:35:19 +00:00
James Rich
e46a8296cb
feat(core/ui): add safeLaunch, UiState, KMP permissions, and CMP lifecycle modernization ( #5118 )
2026-04-14 00:45:34 +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
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
b13f9bf989
fix(resources): add resourcePrefix to KMP + widget modules, rename prefixed resources ( #5111 )
2026-04-13 18:25:23 +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
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
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
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
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
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
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
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
b3d0c97206
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #5065 )
2026-04-11 04:53:07 -05: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
9c8532f80d
refactor: leverage new dependency features from recent updates ( #5057 )
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