Commit Graph

90 Commits

Author SHA1 Message Date
James Rich
0bc907ec32 feat: implement right-click as mirror for long-click across shared UI
This commit introduces a new `Modifier.onRightClick` extension to improve desktop usability by mapping secondary mouse clicks to existing long-click actions. It also removes the legacy desktop `MenuBar` implementation in favor of this more consistent cross-platform UX approach.

Specific changes include:
- **Core UI**: Added `Modifier.onRightClick` in `ModifierExtensions.kt` using `PointerButton.Secondary` to detect right-clicks on desktop platforms.
- **Desktop**: Removed the `MenuBar` and associated keyboard shortcuts from the main entry point.
- **Messaging Feature**: Added right-click support to `MessageItem`, `Reaction`, and `ContactItem`.
- **Node Feature**:
    - Added right-click support to `NodeItem`, `NodeDetailsSection`, `NodeDetailComponents`, and `InfoCard` to trigger copy actions or context menus.
    - Updated `TracerouteLog`, `NeighborInfoLog`, and `NodeItem` to handle right-click events.
- **Connections Feature**: Updated `DeviceListItem` to support right-click for deletion/context actions.
- **Documentation**: Updated `roadmap.md` to reflect the completion of right-click UX integration.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-22 11:48:46 -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
06b9f8c77a feat: Enhance test coverage (#4847)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-19 03:09:19 +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
Victorio Berra
eae5a6bdac Add "Exclude MQTT" filter to Nodes view. (#4825)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
Co-authored-by: James Rich <james.a.rich@gmail.com>
2026-03-18 15:39:59 +00:00
James Rich
8c964a15ca feat: Integrate notification management and preferences across platforms (#4819)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-17 01:17:34 +00:00
James Rich
6e81ceec91 feat: Complete ViewModel extraction and update documentation (#4817) 2026-03-16 20:05:50 +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
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
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
fe67219207 refactor: simplify traceroute tracking and unify cooldown button logic (#4699)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-03 18:34:12 +00: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
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
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
85b3acd7ef refactor(metrics): Prevent chart crashes with empty data (#4578)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-17 13:51:54 +00:00
James Rich
5d198c7407 feat(nodes): Display role-specific icons (#4572)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-17 00:26:28 +00:00
James Rich
c690ddc7ea feat: Accurately display outgoing diagnostic packets (#4569)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-16 22:09:21 +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
80d9a2e0aa fix(release): fixes to prep for release (#4546)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-12 20:23:19 +00:00
James Rich
d252fde289 feat(charts): More charts ui/ux tweaks (#4520)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-10 23:02:06 +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
cab39408df refactor(node): Improve public key conflict handling (#4486)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-06 19:55:20 +00:00
James Rich
10df4d47f1 feat(ui): Redesign NodeItem for improved clarity and density (#4475)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-06 05:01:42 +00:00
James Rich
96551761c8 feat(sharing): Refactor QR/NFC scanning with ML Kit and CameraX (#4471)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-06 04:16:16 +00:00
James Rich
25657e8f8f feat(wire): migrate from protobuf -> wire (#4401)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-04 00:01:12 +00:00
James Rich
221e774471 chore: fix regressions in the release (#4398)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-01 23:18:06 +00:00
James Rich
9a8a31b298 feat(charts): voltage, colors, legends, and adaptive ui (#4383)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-30 23:20:57 +00:00
James Rich
c3580815cc fix(node): fix regressions since node ui refactor (#4379)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-30 21:24:24 +00:00
James Rich
15760da074 Refactor: Create core:api module and set up publishing (#4362) 2026-01-29 13:45:00 -06:00
James Rich
70a1b3c479 Refactor: Replace custom charts with Vico library (#4348)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-29 00:52:59 +00:00
James Rich
dff3e60b8c fix(node): list and detail usability fixes (#4336)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-27 18:33:46 +00:00
James Rich
50a04a98b8 fix(ui): Prevent NaN values in environment metrics (#4316)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-26 12:52:13 +00:00
James Rich
a28aa4d52e refactor(ui): Icon audit and node list item refactor (#4313)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-25 22:43:23 +00:00
James Rich
355d2260e8 feat: Add Status Message module support (#4163)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-25 14:15:47 +00:00
James Rich
2cdfababe5 feat(node): Refactor Node Detail screen and enhance user feedback (#4291)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-25 03:00:23 +00:00
James Rich
932c31c2b8 fix(ui): Hide battery icon when no power data is available (#4274)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-21 03:41:49 +00:00
James Rich
45227fb142 feat(test): Add comprehensive unit and instrumentation tests (#4260)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-20 01:52:03 +00:00
James Rich
75a3f89f51 feat(firmware): Use pio_env to select correct firmware variant (#4244)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-16 16:51:55 +00:00
James Rich
37b59af27b feat: Localize traceroute strings (#4228)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-15 16:43:55 +00:00
James Rich
0591e9186b feat: Add "now" string and update formatAgo function (#4183)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-11 02:25:21 +00:00
James Rich
a67b519abd feat: Add mute node functionality (#4181)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-10 21:35:01 +00:00
James Rich
02cf1f1034 refactor(datetime): Standardize date/time formatting with DateUtils (#4164)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-08 18:43:50 +00:00