mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 08:04:45 +00:00
Implements the remaining tractable conformance follow-ups: - Live subscription tail: relay.subscribe now opens a real client.subscribe whose SubscriptionListener streams relay.event (stored + live), relay.eose, and relay.closed pushes keyed by subId, instead of a one-shot snapshot. relay.close unsubscribes (tracked in liveSubs, torn down in onDestroy). The broker only authorizes the subscription (RELAY consent) and returns Subscribed; the host owns the live stream. Shim dispatches relay.closed too. - Multi-filters: relay.query/subscribe honor every filter in filters[], not just the first (decodeFilterList; gateway query(List<Filter>); queryEvents unions across filters; max limit applied). - resource.cancel: accepted at the host edge as a no-op Done. Conformance tests extended (multi-filter decode, relay.closed push); commons:jvmTest and the amethyst napplet suite pass. Still open: identity getList/getZaps/getBadges + onChanged (shapes underspecified), the keys.action push (needs a host trigger UI), the resource nostr: scheme, inc + the niche domains, and on-device verification. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016ncMHuBBVHEf7spAoSssde