mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-11 08:47:33 +00:00
Instead of silently dropping an event once its per-relay retry budget is spent, PoolEventOutbox now reports it: PoolEventOutboxState.newTry returns whether the attempt gave up on the relay, PoolEventOutbox.onSent surfaces the dropped event, and NostrClient notifies a new (default no-op, so non-breaking) RelayConnectionListener.onEventGaveUp(relay, event). Lets a host surface a failed delivery rather than lose it silently; the event may still be pending on other relays. Unit-tested via the outbox try budget. Note: timed retry backoff (the other half of this item) is intentionally deferred — applied in the shared syncState path it would also delay the post-auth resend and regress the auth-required fix, so it needs trigger-aware handling designed separately. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZjmYpgHP4pf79Sav5QT8a