mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 11:18:24 +00:00
Audit of the relay-login card. The requesting app writes the relay tag of a 22242 verbatim, and a fresh signature lets it AUTH to that relay as the user (giftwrap inbox, paid-relay quota), so the relay is the decision. - The card and the consent preview showed the normalizer's *repaired* URL (it adds schemes, trims %20, splits run-on URLs) and silently dropped values it rejected, reporting "No relay named" for an event that does name one. They now show the tag value as signed. - Bidi overrides and zero-width characters in that value are escaped as \uXXXX instead of rendered, so an RLO can't make one host read as another. Any such value, or one that needed rewriting or won't normalize, is shown in the error color with a "check before signing" note. ws:// is no longer stripped from the display. - The explainer said "Nothing is posted", which undersold a login grant at the moment of consent; it now says what holding it allows. - The relay address is never ellipsized; the challenge line uses Text(fontFamily) instead of copying a TextStyle per recomposition. - The helper lives in commons (RelayAuthTarget); the quartz TagArray helpers from the previous commit had no callers left and are removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GSwjzewTFcwzqAKVJ1WJ9B