mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-07-26 14:58:12 +00:00
CMD_SET_CHANNEL saves immediately after clearing a channel slot, and loadChannels() reassigned indices 0,1,2... sequentially on every load, skipping gaps. Removing a channel and rebooting would then silently shift every later channel down a slot -- anything that remembers a channel by index (Live Share's target, the bot's channel, per-channel melody bitmasks) could end up pointing at the wrong channel. channels3 records now carry their original slot index instead of padding, so a removed channel just leaves a hole. One-time migration: if channels3 doesn't exist yet, load the legacy channels2 with its old sequential semantics, then resave as channels3 so the fallback never runs again. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>