mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-07-26 23:08:11 +00:00
An all-zero secret in /channels2 means the entry is uninitialised or the file format was corrupted by a previous firmware (e.g. different on-disk layout from an older fork). Loading such a channel makes findChannelIdx() match the wrong slot for incoming messages — they end up associated with the bogus channel index and never display, even when the companion app receives them fine over BLE. Skip empty-secret entries during load and log how many were dropped. Also defensively null-terminate the loaded name so callers can treat it as a C string regardless of how the file was written. Reported via user feedback: "only public visible, hashtag channels not; public was empty; phone could read messages; works after wipe". Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>