mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-12 09:13:23 +00:00
Two gaps found comparing against Primal's NIP-46 signer: Honor the offer's `perms`: we already parsed the `nostrconnect://?perms=` list but ignored it. Now the declared ops are pre-granted at pairing (the deliberate pair is the user's consent for what the app openly asked for), so a client that declares its needs runs without prompting on first use. The two highest-risk classes stay gated even when declared — decryption (private content) and deletion (kind 5) still prompt on first use with full context. Adds Nip46PermissionAuthorizer.parsePerms + tests. Per-app live relay status: the connected-apps list shows a Connected/Offline dot per app (judged on its own nostrconnect relays, or the inbox relays for a bunker-flow app), and the detail Relays section shows a live dot per relay — so "which relays is this costing me and are they up right now" is answerable at a glance. Shared Nip46StatusDot/Nip46LiveStatus/nip46AppOnline helpers. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015FHr2mu5SiHwYNR7evYUuF