James Rich
|
5dfb7de364
|
fix(test): add missing remoteShellHandler param to MeshDataHandlerTest
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
2026-04-15 13:13:10 -05:00 |
|
James Rich
|
8701b8645d
|
feat(remote-shell): PTY-over-mesh terminal with retro-CRT UI
Adds a full RemoteShell (portnum=13) implementation matching Jonathan's
dmshell_client.py protocol:
Protocol layer:
- Seq/ack reliability: incrementing seq on every non-ACK frame, piggybacked
ack_seq, out-of-order frame buffering, gap detection and replay requests
- TX history ring buffer (last 50 frames) for retransmission on request
- ACK frames carry optional 4-byte big-endian REPLAY_REQUEST payload
- PING/PONG heartbeat with 8-byte status payload (lastTxSeq, lastRxSeq);
PONG handler triggers replay if peer is behind
- PKI: DataPacket.PKC_CHANNEL_INDEX so CommandSenderImpl applies
Curve25519 encryption (firmware rejects non-PKI DMShell packets)
- Input batching: 500ms debounce (matches Python client), immediate flush
on \r, \t, buffer-full (64 bytes), or Enter
Terminal UI:
- Retro-CRT composables: TerminalCanvas (phosphor glow, two-pass bloom),
ScanlinesOverlay, FlickerEffect (animated brightness variation),
CrtCurvatureModifier (AGSL barrel distortion on Android 12+, no-op on JVM)
- PhosphorPreset enum: GREEN (P1), AMBER (P3), WHITE (P4)
- Pending-input rendered inline in preset.dim colour; snaps to confirmed on flush
- Hidden zero-size BasicTextField captures soft and hardware keyboard input
- Phosphor colour picker dropdown in top bar
Capabilities gate:
- supportsRemoteShell gated to UNRELEASED (9.9.9)
- Entry only visible in AdministrationSection when node.capabilities.supportsRemoteShell
|
2026-04-15 13:13:10 -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
|
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
|
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
|
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
|
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
|
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
|
b3be9e2c38
|
fix: improve PKI message routing and resolve database migration racecondition (#4996)
|
2026-04-05 00:37:20 +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
|
0167063497
|
feat(analytics): expand DataDog RUM integration and align with iOS parity (#4970)
|
2026-04-01 20:27:28 +00:00 |
|
James Rich
|
e249461e3c
|
feat(tak): introduce built-in Local TAK Server and mesh integration (#4951)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
|
2026-04-01 20:21:25 +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
|
a0b4c56505
|
feat: optimistically persist local configs and channels (#4898)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
|
2026-03-23 19:57:45 +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
|
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
|
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
|
807db83f53
|
feat: service extraction (#4828)
|
2026-03-17 14:06:01 -05: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
|
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
|
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
|
182ad933f4
|
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4737)
|
2026-03-06 16:39:05 -06: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
|
87fdaa26ff
|
refactor: enhance handshake stall guard and extend coverage to Stage 2 (#4730)
|
2026-03-05 16:06:21 -06:00 |
|
James Rich
|
b0258d0cf1
|
feat: Add "Mark all as read" and unread message count indicators (#4720)
|
2026-03-05 18:18:34 +00:00 |
|
James Rich
|
6a858acb4a
|
refactor: migrate :core:database to Room Kotlin Multiplatform (#4702)
|
2026-03-03 20:44:34 -06:00 |
|
James Rich
|
05e2c5d457
|
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4692)
|
2026-03-03 15:19:40 +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
|
0a6fcc830a
|
feat(maps): Google maps improvements for network and offline tilesources (#4664)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
|
2026-02-27 14:36:56 +00:00 |
|
James Rich
|
9970d31520
|
feat(widget): Add Local Stats glance widget (#4642)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
|
2026-02-25 19:39:00 +00:00 |
|