Commit graph

4315 commits

Author SHA1 Message Date
James Rich
9c9a1d7567 refactor: migrate list-detail layouts to Material 3 Adaptive Navigation3
- Replace the custom `AdaptiveListDetailScaffold` with the official `ListDetailSceneStrategy` to manage adaptive layout orchestration.
- Integrate `ListDetailSceneStrategy` into `MeshtasticNavDisplay` to enable native pane switching based on the navigation backstack.
- Update `ContactsNavigation` and `NodesNavigation` graphs to include `listPane()` and `detailPane()` metadata for relevant route entries.
- Simplify `AdaptiveContactsScreen` and `AdaptiveNodeListScreen` by removing manual scaffold navigation logic and delegating to the navigation framework.
- Add the `jetbrains.compose.material3.adaptive.navigation3` library dependency to `core:ui` and relevant feature modules.
- Refactor `DesktopMainScreen` and `Main.kt` with minor formatting and indentation updates for better readability.
2026-03-27 09:31:31 -05:00
James Rich
26aa8377c5 refactor: streamline main screen navigation and ViewModel injection
- Update `MainScreen` (Android) and `DesktopMainScreen` to manage their own `NavBackStack` initialization internally.
- Refactor `MainScreen` to obtain `UIViewModel` via Koin injection instead of receiving it as a parameter from `MainActivity`.
- Remove default bottom padding from `MeshtasticAppShell` and associated screen-level modifiers to allow for more flexible layout orchestration.
- Simplify `DesktopMainScreen` by moving backstack management inside the composable and cleaning up the navigation provider logic.
- Remove redundant lint suppressions in `Main.kt` following the simplification of the main screen composable structure.
- Clean up imports and normalize the usage of `MeshtasticNavDisplay` and `MeshtasticNavigationSuite` across platforms.
2026-03-27 09:31:31 -05:00
James Rich
829aecd888 feat: implement MeshtasticNavDisplay and centralize Navigation 3 configuration
- Introduce `MeshtasticNavDisplay` in `core:ui` to encapsulate shared Navigation 3 configuration, including entry decorators, scene strategies, and transitions.
- Integrate `rememberViewModelStoreNavEntryDecorator` to provide entry-scoped `ViewModelStoreOwner` support, ensuring ViewModels are automatically cleared when their backstack entry is popped.
- Configure `DialogSceneStrategy` to enable navigation-driven dialogs that respect backstack lifecycle and predictive back gestures.
- Implement a standardized 350 ms crossfade transition for both forward and pop navigation across all platforms.
- Refactor `app` and `desktop` host modules to utilize `MeshtasticNavDisplay`, removing redundant manual configuration of `NavDisplay` and decorators.
- Update `core:ui` dependencies to include `lifecycle-viewmodel-navigation3` and move it away from platform-specific host modules.
- Update architectural documentation (`AGENTS.md`, `GEMINI.md`, and decision logs) to reflect the adoption of centralized navigation and ViewModel scoping patterns.
2026-03-27 09:31:31 -05:00
James Rich
37729c13d8 feat: upgrade to Navigation 3 Beta 01 and implement entry-scoped ViewModels
- Update Navigation 3 to `1.1.0-beta01`, JetBrains Lifecycle to `2.11.0-alpha02`, and Compose Multiplatform to `1.11.0-beta01`.
- Integrate `ViewModelStoreNavEntryDecorator` and `SaveableStateHolderNavEntryDecorator` into `NavDisplay` for both Android and Desktop shells.
- Enable automatic ViewModel scoping where ViewModels obtained via `koinViewModel()` inside `entry<T>` blocks are now tied to the backstack entry's lifetime and cleared on pop.
- Add `jetbrains.lifecycle.viewmodel.navigation3` dependency to support entry-level `ViewModelStore` management.
- Update `AGENTS.md`, `GEMINI.md`, and `copilot-instructions.md` to reflect the transition from Activity/Window-scoped ViewModels to entry-scoped lifecycles.
- Introduce `navigation3-api-alignment-2026-03.md` to document the audit of Navigation 3 Scene architecture and Material 3 Adaptive integration.
- Update `kmp-status.md` and existing decision docs to reflect the new dependency baseline and predictive back handling via `NavigationBackHandler`.
2026-03-27 09:31:31 -05:00
James Rich
3feec759a1
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4939)
Some checks are pending
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-27 02:45:08 +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
b608a04ca4
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4912)
Some checks are pending
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-25 16:37:36 -05:00
James Rich
6516287c62
refactor: BLE transport and UI for Kotlin Multiplatform unification (#4911)
Some checks are pending
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
b0e91a390c
feat: implement unified deep link routing for Kotlin Multiplatform (#4910)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-25 00:21:24 +00:00
James Rich
553ca2f8ed
feat: implement global SnackbarManager and consolidate common UI setup (#4909)
Some checks are pending
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 22:31:40 +00:00
James Rich
0c3ab92908
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4907) 2026-03-24 22:21:59 +00:00
James Rich
96060a0a4d
refactor: coroutine dispatchers and modernize testing infrastructure (#4901)
Some checks are pending
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
f826cac6c8
refactor(di): specify disk cache directory for ImageLoader (#4899)
Some checks are pending
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-23 21:05:50 +00:00
James Rich
57242d905c
refactor: Consolidate UI preference handling (#4895) 2026-03-23 19:36:02 +00:00
James Rich
7b327215f3
refactor: adaptive UI components for Navigation 3 (#4891) 2026-03-23 12:35:02 -05: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
5a287f7133
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4884)
Some checks are pending
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-22 15:56:10 +00:00
Dmitry
ee146df334
Add InlineMap implementation for F-Droid build (#4877) 2026-03-22 15:55:58 +00:00
James Rich
55729c9e2d
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4880) 2026-03-22 12:52:15 +00:00
James Rich
fa98d20256
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4874)
Some checks are pending
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-22 00:59:35 -05:00
James Rich
c38bfc64de
Refactor command handling, enhance tests, and improve discovery logic (#4878)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-22 05:42:27 +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
6cdd10d936
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4863) 2026-03-20 13:35:13 +00:00
James Rich
0a3d2ec4b9
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4862) 2026-03-19 17:13:08 -05:00
James Rich
398e751a87
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4860) 2026-03-19 21:47:01 +00:00
James Rich
1e55e554be
feat: Add KMP URI handling, import, and QR code generation support (#4856) 2026-03-19 13:36:19 -05:00
James Rich
4eb711ce58
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4853) 2026-03-19 12:36:58 -05:00
James Rich
bc08093f6c
fix(map, settings): allow null IDs and implement request timeout (#4851) 2026-03-19 12:36:14 -05:00
James Rich
cdba140eeb
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4846) 2026-03-19 12:30:01 +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
54b07d41de
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4840) 2026-03-18 18:54:03 +00:00
James Rich
d314ee2d8a
feat: mqtt (#4841) 2026-03-18 18:39:20 +00:00
James Rich
49a6a1d4a9
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4833) 2026-03-18 03:17:50 +00:00
James Rich
cb95cace25
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4832) 2026-03-17 16:51:09 -05:00
James Rich
3bbb8a65ba
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4831) 2026-03-17 20:39:48 +00: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
807db83f53
feat: service extraction (#4828) 2026-03-17 14:06:01 -05:00
James Rich
5eb6e501c0
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4822) 2026-03-17 14:25:38 +00:00
James Rich
a10fe61d0f
fix: resolve crashes and debug filter issues in Metrics and MapView (#4824)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-17 14:04:41 +00:00
James Rich
9ad28e924f
build: fix license generation and analytics build tasks (#4820)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-17 01:21:29 +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
0e5f94579f
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4816) 2026-03-16 20:06:05 +00:00
James Rich
6e81ceec91
feat: Complete ViewModel extraction and update documentation (#4817) 2026-03-16 20:05:50 +00:00
Alexey Skobkin
80cae8e620
fix: fix wrong getChannelUrl() call causing loss of "add" flag and un… (#4809) 2026-03-16 09:03:17 -05:00
James Rich
5edb8abd05
feat: enhance map navigation and waypoint handling (#4814)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-16 13:48:00 +00:00
James Rich
4e64182afd
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4805) 2026-03-16 13:06:21 +00:00
James Rich
b63192dccc
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4795) 2026-03-14 09:11:33 -05:00
James Rich
8c6892a4da
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4791) 2026-03-14 06:44:36 -05:00