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
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
a11dee42a7
test: migrate Compose UI tests from androidTest to commonTest ( #5091 )
2026-04-12 20:20:00 +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
3794c79dae
refactor: adopt M3 Expressive components from material3 1.11.0-alpha06 ( #5063 )
2026-04-11 02:10:03 +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
1390a3cd4f
ci: cache Robolectric SDK jars to prevent flaky SocketException failures ( #5045 )
2026-04-10 10:05:07 -05:00
James Rich
dba037466e
refactor(icons): migrate to self-hosted VectorDrawable XMLs via MeshtasticIcons ( #5030 )
2026-04-10 01:35:52 +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
1649e46dd5
chore(deps): remove 7 unused dependencies across modules ( #5017 )
2026-04-09 12:35:28 -05: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
51251ab16a
feat(ci): shard test suite and enable JUnit 5 parallel execution ( #4977 )
2026-04-03 13:08:49 +00:00
James Rich
89547afe6b
Refactor and unify firmware update logic across platforms ( #4966 )
2026-04-01 12:14:26 +00:00
James Rich
c75c9b34d6
feat: implement XModem file transfers and enhance BLE connection robustness ( #4959 )
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-03-31 03:49:31 +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
96060a0a4d
refactor: coroutine dispatchers and modernize testing infrastructure ( #4901 )
...
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-24 01:31:48 +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
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
1b0dc75dfe
feat: Complete app module thinning and feature module extraction ( #4844 )
2026-03-19 00:21:18 +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
427c0f3bbb
fix: fix animation stalls and update dependencies for stability ( #4784 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-13 23:01:17 +00:00
James Rich
eb3349fa11
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #4773 )
2026-03-12 22:15:20 -05: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
b1070321fe
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #4748 )
2026-03-09 20:45:41 -05: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
0ce322a0f5
feat: Migrate project to Kotlin Multiplatform (KMP) architecture ( #4738 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-07 02:43:45 +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
68b2b6d88e
refactor(ble): improve connection lifecycle and enhance OTA reliability ( #4721 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-05 18:58:34 +00:00
James Rich
17dcbed6b1
build: apply instrumented test dependencies conditionally ( #4698 )
2026-03-03 10:29:26 -06:00
James Rich
2c49db8041
feat/decoupling ( #4685 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-03 13:15:28 +00: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
27e7669366
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #4654 )
2026-02-26 14:57:10 +00:00
James Rich
145cde9393
chore(deps): bump deps to take advantage of new functionality ( #4658 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-26 13:26:50 +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
2676a51647
refactor(ui): compose resources, domain layer ( #4628 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-23 03:39:50 +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
fb1bdb2044
feat(settings): Only show homoglyph setting for Cyrillic locales ( #4559 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-14 19:56:41 +00:00
James Rich
5ca2ab4695
refactor(time): Centralize time handling with kotlinx-datetime ( #4545 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-14 02:01:07 +00:00
James Rich
28c364f935
Revert "chore(deps): update nordic.ble to v2.0.0-alpha13" ( #4536 )
2026-02-11 14:53:25 -06:00
renovate[bot]
55b17857be
chore(deps): update nordic.ble to v2.0.0-alpha13 ( #4534 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-11 17:14:46 +00:00
James Rich
ea6d1ffa32
feat: consolidate dialogs ( #4506 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-08 22:45:52 +00:00
James Rich
ba03aacdc9
feat(ble): Handle invalid BLE attributes ( #4485 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 00:59:24 +00:00