aboutsummaryrefslogtreecommitdiffstats
path: root/tools/emoji-test.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-09-15 09:33:36 -0700
committerAdam Soltys <[email protected]>2026-09-15 09:33:36 -0700
commit8f3ef61e4fbaf8c7cf586ed1280fd8f4bdc624ae (patch)
tree086ffb149929f5e1f62136f609b48be0c34f2c04 /tools/emoji-test.js
parentc90d0f3c600802b5b4b43959df5fd2d02f78012c (diff)
downloadcoinosv3-8f3ef61e4fbaf8c7cf586ed1280fd8f4bdc624ae.tar.gz
coinosv3-8f3ef61e4fbaf8c7cf586ed1280fd8f4bdc624ae.zip
A reply's quoted line shows its custom emoji as pictures.
The quote above a reply bubble, the composer's reply bar, and the same on the public /chat page rendered the raw :shortcode:. They now run the one-line snippet through the same NIP-30 tokenizer, cutting on text so a shortcode is never sliced in half. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01JuwQqNWtDJcxPWtEm9134z
Diffstat (limited to 'tools/emoji-test.js')
-rw-r--r--tools/emoji-test.js10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/emoji-test.js b/tools/emoji-test.js
index 4f9e73e..42e72dc 100644
--- a/tools/emoji-test.js
+++ b/tools/emoji-test.js
@@ -81,6 +81,16 @@ try {
check('the strip closes after the pick', await page.evaluate(() => !document.querySelector('.emoji-ac button')));
await page.evaluate(() => { const e = document.querySelector('#msg-draft'); e.value = ''; e.dispatchEvent(new Event('input', { bubbles: true })); });
+ console.log('\n[reply bar]');
+ await page.evaluate(() => { const b = [...document.querySelectorAll('.chat-bubble')].find((x) => x.textContent.includes('GM Coinos')); b.click(); });
+ await sleep(400);
+ await page.evaluate(() => [...document.querySelectorAll('.msg-sheet-item')].find((b) => /reply/i.test(b.textContent))?.click());
+ await sleep(400);
+ const bar = await page.evaluate(() => { const e = document.querySelector('.reply-bar .chat-quote-text'); return e ? { text: e.textContent, img: !!e.querySelector('img.cemoji[alt=":pika_wave:"]') } : null; });
+ check('the reply bar quotes the emoji as a picture', bar && bar.img && !bar.text.includes(':pika_wave:'), JSON.stringify(bar));
+ await page.evaluate(() => document.querySelector('.reply-bar .chat-del')?.click());
+ await sleep(300);
+
console.log('\n[adding the pack from its link]');
await page.evaluate(() => document.querySelector('.pack-link button').click());
check('the pack arrives', await waitText('Emoji pack added', 20000));