mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 08:04:45 +00:00
Pressing Back on the "Connect to Nostr" first-connect dialog resolves to AppConnectResult.Cancelled, which added the app's coordinate to an in-memory `sessionCancelled` set. That set suppressed every future connect prompt for the entire broker lifetime, so a later request — e.g. the user re-clicking "login" in the in-app browser — was silently denied and the dialog never reappeared. Because a Cancel persists nothing, the app also never showed up in Connected Apps, leaving the user with nothing to clear to recover. Replace the permanent suppression with a short, self-clearing cooldown (`cancelledUntil` map): a Cancel suppresses re-prompts only briefly so the burst of requests a page/napplet fires on load doesn't relaunch the dialog per request, while a deliberate retry seconds later prompts again. The clock is injectable for deterministic tests. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HDcts4HzwSff4fy6oSVA6D