mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 16:14:40 +00:00
The Messages tab (INLINE mode) mapped each joined group to its newest cached kind-9 message and dropped it when none existed. Since the joined-groups subscription only fetches roster kinds (39000/1/2), not chat, a group you just joined stayed invisible until you opened it (loading messages) or posted — unlike Marmot groups, which already fall back to a placeholder row. Mirror the Marmot pattern for relay groups: - RelayGroupChannel.placeholderNote(): a cached synthetic note that adds the channel as a gatherer, so the existing Messages row renderer resolves it back to the group (RelayGroupRoomCompose already handles a null-event note). - ChatroomListKnownFeedFilter.feed(): fall back to placeholderNote() when the group has no loaded message. - AccountFeedContentStates: rebuild dmKnown when relayGroupList (kind 10009) changes — join/leave doesn't flow through newEventBundles, so without this the placeholder wouldn't appear until a later event. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B5MLY4hq5LXJ2D5WeLRyXj