mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 08:27:04 +00:00
Recognise the de-facto `<relay>'<groupId>[?code=<code>]` NIP-29 group invite link format used by Wisp and 0xchat, both inside rendered note content and as an external deep link, so tapping one opens the group. The URL detector correctly stops a host at the apostrophe (host names can't contain `'`), so the group id is torn off before classification. Rather than loosen the shared URL grammar — which would swallow prose possessives like `example.com's` — group links are recovered by peeking just past each relay URL the detector already found. This is cache-miss-only and costs nothing on notes without a `wss://` link. - quartz: GroupInviteLink.parse / suffixLength (+ tests) - commons: Urls.groupLinks, UrlParser peek, RichTextParser plumbing (atomic span through fixMissingSpaces, new RelayGroupLinkSegment) (+ tests) - amethyst: ClickableRelayGroupLink renderer + uriToRoute deep-link branch Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B5MLY4hq5LXJ2D5WeLRyXj