mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-09-25 12:16:38 +00:00
The on-device "+ Add channel" flow (Public quick-add, Hashtag, Private) wrote to the first free slot with no check, so a second Public -- or any channel already present -- could be added, giving the same on-air channel two list entries with split history/unread state. A channel's identity is its secret, not its name, so ChannelsView now rejects a save whose 16-byte secret is held by a different slot. Edit skips its own slot, so renaming still works. Public quick-add says "Already added"; the forms say "Channel already exists" and stay open. App-side CMD_SET_CHANNEL and already-saved duplicates are untouched. Verified: sim_companion_radio builds; in the WASM sim, adding Public with Public present shows the alert and leaves one entry. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>