Commit Graph
192 Commits
Author SHA1 Message Date
DeFiDude c65614bf25 rnode: encrypt-on-connect pairing fix, RSSI sentinel filter, UI cleanup 2026-06-10 21:17:59 -06:00
DeFiDude 63746d0bf9 rnode: touch Pair-via-BLE button, Ratspeak title, 30s pairing window 2026-06-10 21:07:59 -06:00
DeFiDude 50c754409d rnode: keep T-Deck RF idle until host starts the radio 2026-06-10 20:57:52 -06:00
DeFiDude 3077a317c7 rnode: fix T-Deck display rotation 2026-06-10 20:54:02 -06:00
DeFiDude 1eff2f5797 rnode: full-screen T-Deck UI with touch display toggle 2026-06-10 20:46:41 -06:00
DeFiDude e4818c607f docs: rnode display note 2026-06-10 20:30:00 -06:00
DeFiDude ab5a4905c6 rnode: enable T-Deck display (node ID, waterfall, BLE pairing PIN) 2026-06-10 20:29:41 -06:00
DeFiDude 2f3875a821 launcher: reuse standalone trackball/touch HAL, add touch select 2026-06-10 20:17:23 -06:00
DeFiDude 73e1e7aa84 rsdeck: ship DIO flash images (off-brand flash fails QIO at boot) 2026-06-10 20:17:23 -06:00
DeFiDude a2dee44b07 rsdeck: dual-boot launcher, RNode mode, build pipeline 2026-06-10 18:38:49 -06:00
DeFiDude 16dedbfa3e diagnostics: add lite relay packet probes 2026-06-08 12:25:07 -06:00
DeFiDude f5ed3e5b19 release: bump Ratdeck to v1.9.3 v1.9.3 2026-05-24 00:14:28 -06:00
DeFiDude caddd445bd radio: apply persisted LoRa config on boot 2026-05-24 00:13:20 -06:00
dude.eth 93bd921ac0 Update README.md
Need to do a real update soon, but removing stale/incorrect docs.
2026-05-23 12:34:14 -06:00
DeFiDude 775e303b09 ci: remove Node 20 workflow actions 2026-05-22 00:39:52 -06:00
DeFiDude c6cb75037d ci: opt into Node 24 action runtime 2026-05-22 00:34:01 -06:00
DeFiDude b3e996e6a3 ci: update release workflow actions 2026-05-22 00:28:35 -06:00
DeFiDude 6ff76607f5 release: bump Ratdeck to v1.9.2 v1.9.2 2026-05-22 00:18:14 -06:00
DeFiDude 8913046a61 radio: add serial test harness controls 2026-05-21 23:40:49 -06:00
DeFiDude b4553a2299 radio: harden T-Deck SX1262 link 2026-05-21 23:11:23 -06:00
DeFiDude 8031fe0c4d radio: harden SX126x LoRa mode on Ratdeck 2026-05-21 19:57:26 -06:00
DeFiDude 02597f90e9 v1.9.1: input bypass, QR sharing v1.9.1 2026-05-08 14:49:03 -06:00
DeFiDude a7f88f9702 chore: trim stale gitignore entries 2026-05-08 14:48:25 -06:00
DeFiDude 3ee3cf727b license: adopt AGPLv3 2026-05-08 14:48:25 -06:00
dude.eth e7190b4126 Merge pull request #52 from drkhsh/feat/qr-share
ui: QR sharing overlay + Share My QR header on Contacts tab
2026-05-08 14:46:42 -06:00
dude.eth dde109464a Merge pull request #51 from drkhsh/fix/lvgl-input-bypass
ui: bypass LVGL frame throttle on input activity
2026-05-08 14:44:11 -06:00
drkhsh d9c92abf6c ui: QR sharing overlay + Share My QR header on Contacts tab
Adds an lxma://<hash>:<pubkey> QR overlay reachable from Settings and
from a new header row at the top of the Contacts tab. Including the
public key lets Columba/Sideband skip the PENDING_IDENTITY round-trip.

Contacts list stays visible even with no saved contacts so the header
row is always reachable; the empty-state floats above it.
2026-05-05 21:54:05 +02:00
drkhsh a9ec7f9d1e ui: bypass LVGL frame throttle on input activity
Input events otherwise wait up to a full 33ms frame interval before
LVGL renders, which is noticeable when the loop body is loaded.
When the input poll reports activity, run lv_timer_handler()
immediately and let the next idle frame fall back to the 30 FPS cadence.
2026-05-05 20:50:24 +02:00
DeFiDude 00782336f3 fix msg status, home button(s), active msg improvement 2026-05-04 13:14:13 -06:00
DeFiDude f93ba6bfc8 v1.9.1-beta: peer age, flash persistence, msgpack log clamp v1.9.1-beta 2026-05-04 02:15:27 -06:00
DeFiDude e87cef3fb3 ui: fix stale peer age display 2026-05-04 02:11:30 -06:00
DeFiDude c4e5610408 Harden flash config persistence 2026-05-04 01:08:17 -06:00
DeFiDude 149bb08d1a build: clamp MsgPack debug log level 2026-05-03 21:13:47 -06:00
DeFiDude 93643b5442 v1.9.0: lvgl redesign, async transport, hardened storage v1.9.0 2026-05-03 21:04:59 -06:00
dude.eth bc4d0beeac Merge pull request #43 from drkhsh/fix/boot-backlight
Boot: bring backlight up after first boot-screen frame
2026-05-03 21:00:26 -06:00
DeFiDude 4ffa9f6184 Port reconnect backoff to selected profile 2026-05-03 20:57:56 -06:00
DeFiDude 4402c010e9 ratdeck: lvgl redesign, async transport, hardened storage 2026-05-03 20:48:57 -06:00
drkhsh 2ba43fd0ba Boot: bring backlight up after first boot-screen frame
037af2a left the backlight at 0 in Display::begin() to avoid exposing an
unpainted framebuffer, but powerMgr.setBrightness() at step 24 only runs
at the end of boot, so the whole boot sequence rendered onto a dark panel.

Set PWM 128 right after the first lvBootScreen.setProgress(), once LVGL
has flushed the boot screen. powerMgr at step 24 still overrides with the
user's configured brightness.
2026-05-04 00:37:39 +02:00
DeFiDude 19c589583d v1.8.4-beta2: prerelease build v1.8.4-beta2 2026-05-01 16:44:32 -06:00
DeFiDude db0070eabd AutoInterface: notify_link_change on SLAAC privacy-address rotation 2026-05-01 16:39:42 -06:00
dude.eth 07abaaf3c3 Merge pull request #40 from drkhsh/fix/full-address-display
Settings: show full LXMF address and identity hash
2026-04-29 02:45:13 -06:00
dude.eth ef22ad63ad Merge pull request #37 from drkhsh/fix/littlefs-label-fallback
FlashStore: fall back to "spiffs" partition label for M5Launcher
2026-04-29 02:45:07 -06:00
dude.eth 1c15d1e604 Merge pull request #36 from drkhsh/feat/delivery-status-checkmarks
Delivery status checkmarks
2026-04-29 02:45:01 -06:00
dude.eth e1c3423e3a Merge pull request #35 from drkhsh/fix/message-bubble-time-clipping
Fix message timestamps clipping out of bubble
2026-04-29 02:44:55 -06:00
dude.eth 372f40512d Merge pull request #34 from drkhsh/fix/wake-click-and-longpress-blank
Fix wake-click and long-press blanking from subscreens
2026-04-29 02:44:48 -06:00
DeFiDude 19017bfe2e Add 41.7 kHz in dev mode, closes issue #29 2026-04-27 14:53:45 -06:00
drkhsh 423b56c1d8 Settings: show full LXMF address and identity hash
Both the LXMF Addr and Identity readonly entries truncated to the
first 16 hex chars, which made it impossible to type or read the
real address into another client (Sideband, Columba, etc) for adding
ratdeck as a contact. Drop the substring(0, 16) calls and show the
full 32-char hex. Wraps inside the row at the existing font; legible
and copyable.
2026-04-27 20:23:28 +02:00
drkhsh 3d38d7cde4 FlashStore: fall back to "spiffs" partition label
bmorcelli/Launcher labels its user-app data partition "spiffs"; ours
is "littlefs". Subtype is identical in both layouts, so try littlefs
first and fall back to spiffs to coexist with Launcher installs.
2026-04-27 19:54:19 +02:00
drkhsh 17f012b777 Distinguish sent vs delivered with check-mark indicators
Previously a single ASCII glyph collapsed SENT and DELIVERED. Wire
PacketReceipt delivery callbacks through to sideband-style single
and double checks.

LXMFManager tracks outstanding receipts (opportunistic + link
single-packet) by hash. On delivery: persist DELIVERED and fire
_statusCb. On 60s timeout: drop the entry, leave at SENT — lack
of proof over LoRa isn't proof of failure. Resource transfers stay
at SENT; microReticulum's Transport skips receipts for resource
packets and Link::start_resource_transfer exposes no concluded
callback to hook.

LvMessageView renders the glyph via applyStatusGlyph (Montserrat 12):
REFRESH for in-flight, single OK for SENT, double OK for DELIVERED,
WARNING for FAILED. Status callback matches by timestamp (~1s
tolerance) so DELIVERED lands on the right bubble after later
messages have already moved past QUEUED.
2026-04-27 19:44:38 +02:00
drkhsh edbb67c0c8 LvMessageView: reserve bubble pad-bottom for timestamp row
The timestamp label was positioned via lv_obj_align_to below the
message box, but the bubble container's LV_SIZE_CONTENT height was
driven entirely by the box, so the time rendered below the bubble's
allocated row in the flex scroll — visibly hanging into the gap.

Add pad_bottom=14 to the bubble so its outer height includes the
timestamp row, and anchor the box at TOP_LEFT/TOP_RIGHT (was
LEFT_MID/RIGHT_MID) so the layout stacks cleanly: box on top,
timestamp tucked under it inside the bubble's bbox.
2026-04-27 12:26:27 +02:00