mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 16:33:27 +00:00
Restructures the discovery feed to match the gitRepositories package exactly — the shape every feed screen in the app uses — replacing the bespoke ViewModel + per-relay directory fan-out. New package layout (mirrors gitRepositories/): - dal/RelayGroupDiscoveryFeedFilter — AdditiveFeedFilter<Note> over the 39000 addressables; GroupDiscoveryConstraint (moved to its own file) supplies the relay-signed match (relay-key / admin / member, or #t/#g tag). - datasource/RelayGroupsDiscoveryFilter — makeRelayGroupsDiscoveryFilter per-type dispatch over IFeedTopNavPerRelayFilterSet. - datasource/subassemblies/ — FilterRelayGroupsGlobal / ByFollows / ByAuthors (+ muted) / ByHashtag / ByGeohashes / ByCommunity, plus the shared directory builder. Authors can't be a REQ constraint (a 39000 is relay-signed), so the people filters pull the directory per relay and the dal narrows locally; only topic/geo carry a relay-side #t/#g constraint. - datasource/RelayGroupsDiscoveryFilterAssembler + SubAssembler (PerUserAndFollowListEoseManager) + FilterAssemblerSubscription. Wiring, parallel to gitRepositories: - AccountFeedContentStates.relayGroupsDiscoveryFeed (+ update/delete/trim fan-out) - TopNavFilterState.relayGroupsDiscoveryRoutes - RelaySubscriptionsCoordinator.relayGroupsDiscovery - ScrollStateKeys.RELAY_GROUPS_DISCOVERY_SCREEN Screen now runs on FeedContentState + RefresheableBox + RenderFeedContentState (custom onLoaded rendering the joinable group cards). Old ViewModel deleted; the constraint additions to the directory assembler reverted (browse-a-relay path keeps the plain broad directory). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B5MLY4hq5LXJ2D5WeLRyXj