mirror of
https://github.com/ALLFATHER-BV/wadamesh.git
synced 2026-08-14 09:30:04 +00:00
Core (core-v1.17.1, meshcomod 5406093): 1.17 reserved MAX_ANON_CONTACTS slots at the head of contacts[], which broke two things in beta_60 — - resetContacts() claimed those slots while the lazily-allocated PSRAM table was still NULL, so the new bootstrapRTCfromContacts() NULL-deref'd at boot on any device whose contact store loaded nothing: fresh install, erase-flash, or SD not mounted yet (#249). Boards with saved contacts booted fine, which is how it passed bench testing. - getContactByIdx() stayed raw while getNumContacts() excludes the reserved slots, so every pairing of the two — contact list, action sheets, phone-app sync, getContactForSave — read empty slots and could not reach the newest 8 real contacts. A just-added contact was invisible and its action-sheet operations resolved to a blank slot (#252). Fork side: - loadContacts() skips blank records, clearing the placeholder contacts beta_60 wrote into the contacts file (the next save drops them permanently). - Chat threads follow a peer's rename. The thread is matched by key but its name was never updated, while inbound messages are filed by sender name — so the first message after a rename created a duplicate thread (#252). - release.sh derives FIRMWARE_VERSION / build date / core version from the tag and the pinned core, keeps the in-tree dev default in step, and ABORTS the release if any staged image does not embed its own tag. beta_60 shipped reporting v1.16.0-touch because that value was hand-maintained. All 8 S3 envs build green on core-v1.17.1. Reported-by: Pierre747, rustinmyeye, myshoeisonfire Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>