mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +00:00
With part of a fragmented Community List missing, a new membership always went to the lowest held fragment, so once fragment 0 filled every join was refused even with room in another fragment the device held. Take the lowest held fragment it still fits in; refuse only when none does, since opening a new fragment is a repack that needs the complete List (CORD-02 §8). Adds an end-to-end test of the List past one fragment through ConcordChannelListState: 250 heavy memberships split into fragments that each fit the 64 KiB event ceiling (measured on the signed JSON), another device reads every membership and secret back from the published fragments, cross-device leave and join converge, and a partial device neither overflows nor erases the fragments it never held. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>