James Rich
122a627d76
feat(remote-shell): plain terminal UI, turn-taking, and a correct input sink
...
Three things stood between the April branch and a working session:
- The CRT theatrics are gone - scanlines, phosphor presets, flicker, and
the AGSL curvature shader, which rendered the block cursor as a skewed
amber quad in the corner. The terminal is now monospace text on the app
theme.
- Turn-taking ('talking stick', RemoteShell.flags) landed on the firmware
side after this branch was written. DMShellModule marks every session
turn-managed and withholds output until the peer grants a turn, so a
client that never grants sees an open session and no prompt, and the
device re-sends RTS every 250 ms until its TX queue fills. We now grant
on every frame we originate and answer any request immediately.
- The invisible input sink passed a constant "" as its value, so Compose
re-delivered characters we had already consumed: 'whoami' reached the
PTY as 'wwhwhowhoa'. It now tracks what it consumed and forwards the
delta, mapping a shrinking field to backspaces.
Verified against meshtasticd: session opens, 'whoami' echoes exactly and
returns 'root'.
2026-08-24 14:28:39 -05:00
James Rich
df70f6b207
fix(remote-shell): re-integrate the April branch with current APIs
...
- license header year: the tree standardised on 2026, not 2025-2026
- spotless: ktlint's blank-line-between-when-conditions is new since
- MeshDataHandlerImpl: drop shouldBroadcast, removed with the AIDL
service rework (#5586 ); nothing broadcasts on this path any more
- RemoteShellViewModel: DataPacket.nodeNumToDefaultId and
DataPacket.PKC_CHANNEL_INDEX both moved to NodeAddress
2026-08-24 14:04:07 -05:00
James Rich
4d75e88cec
Merge origin/main into remote-shell-revival
...
Conflicts, all re-integration of the April branch into the current tree:
- MeshDataHandlerImpl/Test: keep main's constructor (ServiceScope, session
context, geofence/beacon collaborators) and re-add remoteShellHandler.
- Capabilities.kt: re-add supportsRemoteShell, still gated to UNRELEASED.
- strings.xml: main re-sorted the file; re-insert remote_shell and
phosphor_colour in their sorted positions.
- NodesNavigation/AdministrationSection: union both sides.
2026-08-24 12:35:09 -05:00
James Rich
8e1e94c97e
chore: Scheduled updates (Firmware, Hardware, Translations) ( #6852 )
2026-08-24 11:00:20 -05:00
James Rich
1ab4da0fa6
feat(messaging): per-contact drafts and a quieter composer ( #6851 )
2026-08-24 10:43:59 -05:00
James Rich
ef18af3610
feat(messaging): swipe to reply, double-tap reactions, day separators ( #6850 )
2026-08-24 15:01:47 +00:00
James Rich
e549d24ea3
fix(messaging): clear and suppress notifications for the conversation on screen ( #6849 )
2026-08-24 15:01:46 +00:00
James Rich and Claude Fable 5
bd2863243b
fix(mqtt): tolerate object-typed payload in MQTT JSON messages ( #6839 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-24 06:19:35 -05:00
James Rich and Claude Fable 5
f3d843629b
fix(map): survive the WebView provider update race in Site Planner ( #6846 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-24 06:19:18 -05:00
James Rich and Claude Fable 5
5447674bb4
fix(connection): extend BLE handshake deadlines while config progress flows ( #6848 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-24 06:18:42 -05:00
James Rich and Claude Fable 5
7c62ee592d
fix(ui): bound pane content height under the adaptive three-pane scaffold ( #6845 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-24 10:55:52 +00:00
James Rich and Claude Fable 5
3027f544f0
fix(navigation): never let the active backstack empty under NavDisplay ( #6844 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-24 10:46:47 +00:00
James Rich
5f5d5e2dbf
chore: Scheduled updates (Firmware, Hardware, Translations) ( #6822 )
2026-08-23 17:35:31 -07:00
James Rich and Claude Fable 5
60002de56d
chore(detekt): scan flavor, iosMain and jvmAndroidMain sources ( #6836 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-23 23:24:19 +00:00
James Rich
3449c6b446
chore: Scheduled updates (Firmware, Hardware, Translations) ( #6817 )
2026-08-21 17:59:30 +00:00
James Rich and Claude Sonnet 5
99075c5dbe
feat(hardware): fetch the maintenance UF2 manifest from the API, digest-pinned ( #6803 )
...
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-21 17:58:51 +00:00
James Rich
a276cda62c
fix(firmware): show the erase wait and upload retries during Legacy DFU ( #6812 )
2026-08-21 15:15:57 +00:00
James Rich
090e4dd543
chore: Scheduled updates (Firmware, Hardware, Translations) ( #6801 )
2026-08-21 13:24:25 +00:00
James Rich and Claude Sonnet 5
4651c85361
feat(hardware): fetch bootloader OTA quirks from the API, seeded from the bundled asset ( #6802 )
...
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-21 13:23:32 +00:00
James Rich and Claude Fable 5
459eb61948
fix(database): give every SQLite connection a busy timeout ( #6809 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-21 12:42:59 +00:00
James Rich and Claude Fable 5
b6213f94ec
fix(database): rebuild the packet FTS index after the schema-52 table recreation ( #6808 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-21 12:23:57 +00:00
James Rich
08ac3978f9
chore: Scheduled updates (Firmware, Hardware, Translations) ( #6799 )
2026-08-20 14:35:26 -05:00
James Rich
f2a21227c7
chore: Scheduled updates (Firmware, Hardware, Translations) ( #6789 )
2026-08-20 13:58:37 -05:00
James Rich and Claude Fable 5
950c9a1592
fix(ui): give feedback when a contact or channel import arrives while disconnected ( #6798 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-20 18:27:52 +00:00
James Rich and Claude Fable 5
a0e18bf1fb
feat(privacy): shield sensitive UI content from non-tool accessibility services ( #6794 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-20 17:34:02 +00:00
James Rich and Claude Fable 5
ac43158eb0
fix(navigation): clear deep-link replay cache once applied to the backstack ( #6796 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-20 17:18:42 +00:00
James Rich and Claude Fable 5
4d4070c8e1
perf(ui): render QR codes at display density instead of fixed 960px ( #6793 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-20 17:06:08 +00:00
James Rich
b677d4275d
chore: Scheduled updates (Firmware, Hardware, Translations) ( #6787 )
2026-08-20 06:43:21 -05:00
James Rich and Claude Fable 5
4d9cf8ec18
fix: derive temperature unit from locale temperature preference, not distance system ( #6775 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-19 23:42:36 +00:00
James Rich and Claude Fable 5
9620984a68
feat(tak): add TAK Mesh Channel setting for outbound TAK traffic ( #6770 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-19 23:04:45 +00:00
James Rich
582d320fc0
chore: Scheduled updates (Firmware, Hardware, Translations) ( #6758 )
2026-08-19 15:53:53 -05:00
James Rich
5a6d8ab092
chore: Scheduled updates (Graphs, Baseline Profile) ( #6768 )
2026-08-19 10:13:15 +00:00
James Rich and Claude Opus 5
1fdd481d7c
fix(service): explain, don't hang, when a TCP reconnect lacks local-network access ( #6767 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-18 23:29:47 +00:00
James Rich and Claude Opus 5
656f481c68
fix(connections): gate manual + recent TCP connects on ACCESS_LOCAL_NETWORK ( #6766 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-18 23:29:46 +00:00
James Rich
a394f82cad
fix(tak): duplicate ATAK contacts on v1 GeoChat + surface v1-fallback notice ( #6759 )
2026-08-18 15:23:22 +00:00
renovate[bot] and James Rich
f0f2e4449f
chore(deps): update org.meshtastic:takpacket-sdk to v0.9.1 ( #6697 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: James Rich <james.a.rich@gmail.com >
2026-08-18 00:22:46 +00:00
James Rich
df402c5e81
chore: Scheduled updates (Firmware, Hardware, Translations) ( #6755 )
2026-08-17 20:37:23 +00:00
James Rich and Claude Sonnet 5
661621f1fc
fix(ble): refresh a stale GATT cache during ordinary reconnects ( #6744 )
...
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-17 18:17:30 +00:00
James Rich
0c3e4d2730
chore: Scheduled updates (Firmware, Hardware, Translations) ( #6749 )
2026-08-17 17:41:56 +00:00
James Rich
3796787cdf
fix(database): raise default cache limit and warn before eviction ( #6742 )
2026-08-17 17:37:51 +00:00
James Rich
2df817db7a
fix(node): make node-list search case-insensitive for non-ASCII names ( #6753 )
2026-08-17 17:37:23 +00:00
James Rich and Claude Opus 5
19bb682c9c
feat(firmware): add nRF52/RP2040 factory erase and OTAFIX bootloader upgrade over USB ( #6526 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-08-17 16:43:07 +00:00
James Rich and Claude Sonnet 5
65a1f5ce4d
fix(takserver): route TAK self-test through the real v1/v2 dispatch path ( #6746 )
...
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-17 16:10:57 +00:00
James Rich and Claude Sonnet 5
7bc6722510
fix(node): confirm before clearing a node's position track ( #6745 )
...
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-17 16:00:53 +00:00
James Rich
123d200988
chore: Scheduled updates (Firmware, Hardware, Translations) ( #6728 )
2026-08-16 20:24:23 +00:00
James Rich
2d1dc59b8f
fix(takserver): wire TAKPacket-SDK's logger, surface remarks-stripped ( #6736 )
2026-08-16 10:35:11 +00:00
James Rich
ff7653a234
fix(barcode): narrow the F-Droid scanner to QR-only ( #6731 )
2026-08-16 08:16:42 +00:00
James Rich
cea2c3a015
fix(ui): request HIGH error correction for generated QR codes ( #6730 )
2026-08-16 07:45:38 +00:00
James Rich
ae7eaa6710
fix(network): handle IPv6 mDNS addresses correctly, refresh on re-announce ( #6729 )
2026-08-16 07:04:01 +00:00
James Rich
99e835482f
chore: Scheduled updates (Firmware, Hardware, Translations) ( #6724 )
2026-08-16 03:59:00 +00:00