mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 16:14:40 +00:00
A Concord community pinned to the bottom bar folded only a fraction of its channels — Soapbox showed 1 of 12. The live subscription collapsed a community's Control + Guestbook + rekey + every channel plane into ONE kind-1059 filter per relay, and the channel list is folded from the Control Plane. On an AUTH-gated relay that caps a REQ per filter (measured ~100 events/filter on relay.dreamith.to), the chatty Guestbook plane crowded the channel-defining control editions out of the cap, so only a fraction of the channels folded. On the strict relay.ditto.pub the collapsed multi-author filter is refused wholesale until every author is authenticated. - Split the Control Plane into its OWN filter, apart from the Guestbook / rekey / channel planes (ConcordSubscriptionPlanner.controlIsolatedFilters), so it gets an isolated per-filter budget. Both filters still ride the same per-relay REQ (no extra socket). - Add a COMPLETE-mode Control-Plane sweep (Account.syncConcordControlPlanes): re-fetch the whole plane with no `since`, paging past the per-filter cap via fetchAllPagesFromPool, so a forward cursor can never hide an edition and the cap can never truncate the fold. Mounted account-wide, fired on load + membership/held-epoch change + relay reconnect (not a wall-clock poll — the persistent live subscription keeps a connected relay complete). Mirrors Armada's plane-sweep design (one filter per plane scope, COMPLETE-mode control). Verified on-device: Soapbox now folds all 12 channels. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>