mirror of
https://github.com/ALLFATHER-BV/wadamesh.git
synced 2026-10-09 20:17:44 +00:00
Decoded a T-Deck coredump (Task WDT, loopTask stuck in spiffs_gc_clean under DataStore::saveContacts): a contact save on a churned SPIFFS can trigger a multi-second garbage-collection pass that starves core 0 and trips the task watchdog, giving a reboot loop. - Route contacts/channels to SD when a card is present, even on upgraded devices whose data is still on SPIFFS (main.cpp mounts SD every boot; if not fully adopting SD, store.setSecondaryFS(&SD)). DataStore::begin() migrates the existing /contacts3 + /channels2 to the card once; identity/prefs stay put. - Move the ref-counted WdtHeavyGuard into a shared header so the core DataStore::saveContacts shares one count with the UI history/backup saves, and wrap saveContacts with it (guaranteed fix for card-less devices). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
9 lines
847 B
Plaintext
9 lines
847 B
Plaintext
# beta_26 (TEST) — storage-reliability fix on top of the current stable (beta_25).
|
|
# One user-facing note per non-blank, non-# line; # lines are section comments.
|
|
|
|
# --- Fixed ---
|
|
Fixed a reboot loop that could hit while the device saved its contact list. Internal-flash housekeeping during a save could freeze the device long enough to trip the watchdog and restart it; that save no longer trips it. Thanks to the crash report that pinned it down.
|
|
|
|
# --- Improved ---
|
|
On devices with a microSD card, contacts and channels are now kept on the card (like chat history and map tiles already are). That frees the small internal flash and puts the frequently-rewritten files on the more reliable card. Your existing contacts move to the card automatically the first time; your identity and settings stay in internal flash, so the node is unchanged.
|