mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-07-29 15:00:09 +00:00
Pins microReticulum to the fork's pyxis-fixes-on-0.4.1 @ b582986 (three 0.4.1-graft regression fixes) and adds the pyxis-side pieces. microReticulum fixes (via the pin): - Identity::recall now accounts for the announce ratchet (matches validate_announce) — it read app_data 32 bytes early for ratchet-bearing announces (Sideband/Columba), garbling peer display names. - DestinationEntry caps persisted random_blobs to PERSIST_RANDOM_BLOBS (16); the set was never trimmed, growing path entries ~12B/re-announce past microStore's 1024B ceiling so put() rejected them (empty path table) — and under a raised ceiling bloated the FS until compaction crashed. - Transport mirrors learned paths into _path_table so path_table() (the UI announce list + T:PATHS) reflects them; the microStore migration stopped populating it. pyxis pieces: - -DUSTORE_DEFAULT_MAX_RECS=400 caps the live path-store record count (defense-in-depth). - AnnounceListScreen::refresh() defers to a main-loop tick(): the gather (path-table iteration + per-entry recall/app_data) runs off the LVGL lock, serialized with the main-loop path-table writes, instead of racing them on the LVGL task and blocking past the 5s lock timeout — which hung/crashed on open once the table was non-empty. Verified on device: display names correct, T:PATHS 0 -> 11, no rejections, no crashes, announce list opens cleanly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UWZuYkHBRqNb6BZHV8sTG5