relay-client
Installation
SKILL.md
Relay Client & Subscriptions
The layer between LocalCache/Account and the raw relay connection. Ensures composables only subscribe to what is visible, deduplicates filters across screens, and rate-limits bulk queries like "fetch metadata for these 200 pubkeys".
When to Use This Skill
- Adding a new screen that needs events it doesn't already have (write a
FilterAssembler). - Wiring a composable to subscribe on enter / unsubscribe on leave (
ComposeSubscriptionManager). - Preloading metadata / profile pictures for a set of pubkeys (
MetadataPreloader). - Deduplicating identical filters across concurrent screens.
- Handling EOSE → "we have historical data, stop showing loading" transitions.
Layout
All under commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/relayClient/: