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
|
bd25730633
|
fix(remote-shell): resolve KMP compilation, detekt, and spotless failures
- Import kotlin.concurrent.Volatile instead of JVM-auto-resolved variant
- Replace synchronized() with Mutex.withLock for KMP compatibility
- Replace String.format() with DataPacket.nodeNumToDefaultId()
- Add iosMain actual for CrtCurvatureModifier (no-op stub)
- Extract magic numbers to named constants (UINT32_BYTES, MAX_FLUSH_WINDOW_MS, CRT_STRENGTH_SCALE)
- Add detekt suppressions for protocol-inherent complexity
- Remove unnecessary safe calls on non-nullable Wire proto fields
- Fix spotless formatting in RemoteShellHandler.kt
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 |
|
renovate[bot]
|
0f900fe7d7
|
chore(deps): update core/proto/src/main/proto digest to c9067da (#5151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-04-15 13:12:53 -05:00 |
|
James Rich
|
9ac02cf851
|
fix(app): disable R8 optimization to fix Compose animation freeze (#5150)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
2026-04-15 17:45:27 +00: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
|
dea364dd17
|
fix(app): add R8 keep rules for Compose animation/runtime/ui (#5146)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
2026-04-15 14:30:33 +00:00 |
|
James Rich
|
c7d2a76851
|
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5145)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
|
2026-04-15 07:48:12 -05:00 |
|
renovate[bot]
|
f72b91328d
|
chore(deps): update androidx.compose to v1.11.0-rc01 (#5144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-04-15 07:47:53 -05:00 |
|
James Rich
|
d0057752f6
|
fix(ci): remove Renovate groupings and decouple AndroidX Compose version ref (#5143)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
2026-04-15 07:23:20 -05: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
|
96419f3251
|
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5140)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
|
2026-04-15 06:07:21 -05:00 |
|
James Rich
|
60ff495037
|
chore(r8): clean up ProGuard rules and enable Compose Hot Reload (#5139)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
2026-04-15 03:26:39 +00:00 |
|
James Rich
|
401f59489a
|
chore: remove deprecated mesh_service_example module (#5055)
|
2026-04-15 03:10:23 +00:00 |
|
James Rich
|
a2763bdfeb
|
fix(charts): apply Vico 3.1.0 best-practice audit fixes (#5138)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
2026-04-15 02:20:33 +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
|
50ade01e55
|
docs(agents): add PR and commit hygiene guidance (#5137)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
2026-04-14 20:49:34 -05:00 |
|
James Rich
|
79ed0a865a
|
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5128)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
|
2026-04-15 01:14:38 +00:00 |
|
James Rich
|
bf0deef708
|
fix(icons): audit and correct icon migration regressions from #5030 #5040 #5056 (#5136)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
2026-04-15 01:14:31 +00:00 |
|
James Rich
|
fa63a4ac50
|
feat: add high-contrast theme with accessible message bubbles (#5135)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
2026-04-15 01:14:20 +00:00 |
|
James Rich
|
f48fc61729
|
feat(environment): add 1-Wire multi-thermometer (DS18B20) display support (#5130)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
2026-04-15 00:03:24 +00:00 |
|
James Rich
|
099aea2d81
|
feat(desktop): add entitlements and wire MeshConnectionManager into orchestrator (#5127)
|
2026-04-14 15:16:10 +00:00 |
|
renovate[bot]
|
c6f58cc799
|
chore(deps): update core/proto/src/main/proto digest to 940ac38 (#5126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-04-14 09:48:25 -05:00 |
|
James Rich
|
27055290e2
|
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5125)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
|
2026-04-14 12:37:12 +00:00 |
|
renovate[bot]
|
3aadd29e67
|
chore(deps): update core/proto/src/main/proto digest to a045501 (#5124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-04-14 07:17:49 -05:00 |
|
James Rich
|
9acdf5309f
|
refactor: modern APIs — Koin 4.2, CMP 1.11, Ktor resilience, Room @Upsert, injected dispatchers (#5119)
|
2026-04-14 11:41:01 +00:00 |
|
renovate[bot]
|
99378c9291
|
chore(deps): update core/proto/src/main/proto digest to 98e95ee (#5123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-04-14 06:50:59 -05:00 |
|
James Rich
|
3c7e1266f8
|
fix: truncate traceroute chart x-values to whole seconds to prevent Vico crash (#5122)
|
2026-04-14 11:01:03 +00:00 |
|
James Rich
|
743851b0b5
|
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5120)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
|
2026-04-14 10:35:19 +00:00 |
|
James Rich
|
e46a8296cb
|
feat(core/ui): add safeLaunch, UiState, KMP permissions, and CMP lifecycle modernization (#5118)
|
2026-04-14 00:45:34 +00:00 |
|
James Rich
|
27367e9064
|
fix(build): pin Skiko version to align with Compose Multiplatform (#5117)
|
2026-04-13 23:32:00 +00:00 |
|
James Rich
|
28be6933c8
|
fix(proguard): disable shrinking for Compose animation classes (#5116)
|
2026-04-13 21:55:52 +00:00 |
|
James Rich
|
92166f0fa2
|
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5115)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
|
2026-04-13 15:52:55 -05:00 |
|
renovate[bot]
|
8e7c4f54a3
|
chore(deps): update actions/upload-pages-artifact action to v5 (#5114)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-04-13 15:24:43 -05: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
|
76386e419c
|
refactor: migrate remaining raw stateIn(WhileSubscribed) to stateInWhileSubscribed extension (#5113)
|
2026-04-13 20:02:06 +00:00 |
|
James Rich
|
b13f9bf989
|
fix(resources): add resourcePrefix to KMP + widget modules, rename prefixed resources (#5111)
|
2026-04-13 18:25:23 +00:00 |
|
James Rich
|
8a06157ff4
|
docs: remove agent cruft, condense and validate remaining docs (#5110)
|
2026-04-13 17:59:19 +00:00 |
|
renovate[bot]
|
75e2177da7
|
chore(deps): update com.android.tools:common to v32.1.1 (#5108)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-04-13 17:16:04 +00:00 |
|
renovate[bot]
|
61f90352c4
|
chore(deps): update agp to v9.2.0-rc01 (#5107)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
2026-04-13 17:15:52 +00:00 |
|
James Rich
|
087fbbfb45
|
fix(build): overhaul R8 rules and DRY up build-logic conventions (#5109)
|
2026-04-13 17:11:42 +00:00 |
|
James Rich
|
048c74db13
|
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5105)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
|
2026-04-13 12:37:53 +00:00 |
|
James Rich
|
39620d063b
|
fix(nav): restore broken traceroute map navigation (#5104)
|
2026-04-13 12:25:21 +00:00 |
|
James Rich
|
35bf1fded5
|
build: align Compose Multiplatform versions and exclude transitive BOMs (#5103)
|
2026-04-13 12:02:52 +00:00 |
|
James Rich
|
4dd591af25
|
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5101)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
|
2026-04-13 11:04:58 +00:00 |
|
James Rich
|
a8cdec7f55
|
fix(ci): isolate JetBrains Compose Multiplatform in Renovate config (#5102)
|
2026-04-13 06:09:22 -05:00 |
|
renovate[bot]
|
1e29fec469
|
chore(deps): update androidx (general) to v1.11.0-rc01 (#5099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: James Rich <james.a.rich@gmail.com>
|
2026-04-12 22:33:44 -05:00 |
|
James Rich
|
b0c603c7ed
|
fix(build): align AndroidX Compose versions with CMP and migrate to runComposeUiTest (#5096)
|
2026-04-13 02:49:11 +00:00 |
|
James Rich
|
e424d4d076
|
fix(build): add explicit compose-multiplatform-animation dependency (#5095)
|
2026-04-12 22:36:37 +00:00 |
|
James Rich
|
17d85c88c4
|
fix(release): publish GitHub release on promotion instead of staying draft (#5094)
|
2026-04-12 16:04:13 -05:00 |
|