From dce411ae0a5f4f9475786b3bd4f419db0a371709 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 15 Sep 2026 09:38:47 -0700 Subject: A pack link in chat adds the pack in place; coinos has its own share link. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tapping "Emoji pack" on a phone opened Vector: the chip was an outbound link to vectorapp.io, a domain the Vector app owns. The chip is now a button — one tap adds the pack right here, nothing leaves coinos. Packs also get a coinos share link, v3.coinos.io/emojis/pack/ (copy it from the picker's pack row). The Android app already claims every v3.coinos.io path, so on a phone that link opens coinos, which adds the pack once the wallet is open. Pack links from any host render as the chip; the naddr's kind is what's checked. Pack changes now save at once (learned shortcodes stay coalesced) — a remove followed straight away by a navigation was lost to the debounce. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01JuwQqNWtDJcxPWtEm9134z --- src/emoji.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/emoji.js') diff --git a/src/emoji.js b/src/emoji.js index 80ccdd2..01db8bf 100644 --- a/src/emoji.js +++ b/src/emoji.js @@ -26,7 +26,7 @@ export const EMOJI_TOKEN_RE = new RegExp('(:[' + CODE + ']+:)', 'g'); export const EMOJI_PARTIAL_RE = new RegExp('(?:^|[^:' + CODE + ']):([' + CODE + ']{2,})$'); // Vector's share link for a pack; the naddr inside is the pack coordinate. -export const PACK_LINK_RE = /^https?:\/\/(?:www\.)?vectorapp\.io\/emojis\/pack\/(naddr1[a-z0-9]+)\/?$/i; +export const PACK_LINK_RE = /^https?:\/\/[^\s/]+\/emojis\/pack\/(naddr1[a-z0-9]+)\/?$/i; const okUrl = (u) => typeof u === 'string' && /^https?:\/\/\S+$/i.test(u.trim()); -- cgit v1.2.3