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
17e69c6d4c
chore: review-cleanup fleet (audit + fix + hardening) ( #5158 )
2026-04-17 00:02:59 +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
9c8532f80d
refactor: leverage new dependency features from recent updates ( #5057 )
2026-04-10 22:51:08 +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
14b381c1eb
fix: harden reliability, clean up KMP compliance, and improve code quality ( #5023 )
2026-04-09 18:21:46 +00:00
James Rich
60cc2f4237
fix: resolve bugs across connection, PKI, admin, packet flow, and stability subsystems ( #5011 )
2026-04-09 13:20:06 +00:00
James Rich
6af3ad6f0c
refactor(service): harden KMP service layer — database init, connection reliability, handler decomposition ( #4992 )
2026-04-04 18:07:44 +00:00
James Rich
51251ab16a
feat(ci): shard test suite and enable JUnit 5 parallel execution ( #4977 )
2026-04-03 13:08:49 +00:00
James Rich
7e041c00e1
feat(wifi): introduce BLE-based WiFi provisioning for nymea-compatible devices ( #4968 )
Dependency Submission / dependency-submission (push) Waiting to run
Main CI (Verify & Build) / validate-and-build (push) Waiting to run
Main Push Changelog / Generate main push changelog (push) Waiting to run
2026-04-02 17:31:17 +00:00
James Rich
a005231d94
Refactor map layer management and navigation infrastructure ( #4921 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-26 00:29:24 +00:00
James Rich
6516287c62
refactor: BLE transport and UI for Kotlin Multiplatform unification ( #4911 )
...
Dependency Submission / dependency-submission (push) Waiting to run
Main CI (Verify & Build) / validate-and-build (push) Waiting to run
Main Push Changelog / Generate main push changelog (push) Waiting to run
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-25 02:15:51 +00:00
James Rich
664ebf218e
refactor: null safety, update date/time libraries, and migrate tests ( #4900 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-23 23:17:50 +00:00
James Rich
57242d905c
refactor: Consolidate UI preference handling ( #4895 )
2026-03-23 19:36:02 +00:00
James Rich
b3b38acc0b
feat: Migrate networking to Ktor and enhance multiplatform support ( #4890 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-23 16:48:10 +00:00
James Rich
d136b162a4
feat: Implement iOS support and unify Compose Multiplatform infrastructure ( #4876 )
2026-03-21 23:19:13 +00:00
James Rich
dcbbc0823b
feat: Integrate Mokkery and Turbine into KMP testing framework ( #4845 )
2026-03-18 18:33:37 -05:00
James Rich
cb95cace25
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #4832 )
2026-03-17 16:51:09 -05:00
James Rich
7d63f8b824
feat: build logic ( #4829 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-17 20:35:39 +00:00
James Rich
0b2e89c46f
refactor: Replace Nordic, use Kable backend for Desktop and Android with BLE support ( #4818 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-16 23:06:43 +00:00
James Rich
6e81ceec91
feat: Complete ViewModel extraction and update documentation ( #4817 )
2026-03-16 20:05:50 +00:00
James Rich
eb3349fa11
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #4773 )
2026-03-12 22:15:20 -05:00
James Rich
3321c47200
ci: Update Dokka configuration and unify AboutLibraries JSON generation ( #4767 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-13 01:49:11 +00:00
James Rich
ac6bb5479b
feat: introduce Desktop target and expand Kotlin Multiplatform (KMP) architecture ( #4761 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-12 21:14:49 +00:00
James Rich
d076361c55
refactor: migrate core UI and features to KMP, adopt Navigation 3 ( #4750 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-10 17:29:47 +00:00
James Rich
875cf1cff2
refactor: migrate from Hilt to Koin and expand KMP common modules ( #4746 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-10 01:19:46 +00:00
James Rich
cffbd08806
refactor: migrate core modules to Kotlin Multiplatform and consolidat… ( #4735 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-06 22:06:50 +00:00
James Rich
b9b68d2779
refactor: migrate preferences to DataStore and decouple core:domain for KMP ( #4731 )
2026-03-05 20:37:35 -06:00
James Rich
6a858acb4a
refactor: migrate :core:database to Room Kotlin Multiplatform ( #4702 )
2026-03-03 20:44:34 -06:00
James Rich
8c6bd8ab7a
feat: settings rework part 2, domain and usecase abstraction, tests ( #4680 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-02 18:15:33 +00:00
James Rich
fdd07f893f
feat: settings rework ( #4678 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-02 14:51:05 +00:00
James Rich
b2b21e10e2
feat: upcoming support for tak and trafficmanagement configs, device hw ( #4671 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-27 17:44:19 +00:00
James Rich
d408964f07
refactor: KMP Migration, Messaging Modularization, and Handshake Robustness ( #4631 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-24 12:37:33 +00:00
James Rich
6bfa5b5f70
refactor(ble): Centralize BLE logic into a core module ( #4550 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-20 12:41:52 +00:00
James Rich
e055d22346
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #4438 )
2026-02-04 02:41:48 +00:00
James Rich
3659f468e4
chore(ci): Optimize and stabilize Gradle builds and CI workflows ( #4390 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-01 18:03:17 +00:00
James Rich
edb5569f5b
build: Upgrade build configuration and dependencies ( #4311 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-25 17:07:07 +00:00
James Rich
731430d7d6
refactor(build): Centralize Dokka configuration into convention plugin ( #4173 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-09 15:40:00 +00:00
James Rich
9fd92691a9
refactor: Migrate to Android Gradle Plugin 9.0 ( #4072 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-12-28 13:47:12 +00:00
James Rich
42bc85b6fc
feat(build): add module dependency graph generation ( #4042 )
2025-12-18 17:30:36 -06:00
James Rich
61bc9bfdd2
refactor(build): Migrate core/common to KMP and cleanup build logic ( #4026 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-12-17 19:48:01 +00:00
James Rich
f32266083d
refactor: Move byte utilities to core:common module ( #3977 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-12-12 14:46:43 +00:00
Phil Oliver
ef0ac5220d
Consistent catalog naming for AndroidX dependencies ( #3368 )
2025-10-07 03:51:32 +00:00
Phil Oliver
51fa634e11
More map modularization ( #3319 )
2025-10-04 00:19:37 +00:00
Phil Oliver
e24292494e
Add BuildConfigProvider ( #3318 )
2025-10-03 21:24:52 +00:00