diff options
| author | Adam Soltys <[email protected]> | 2026-09-15 09:33:36 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-09-15 09:33:36 -0700 |
| commit | 8f3ef61e4fbaf8c7cf586ed1280fd8f4bdc624ae (patch) | |
| tree | 086ffb149929f5e1f62136f609b48be0c34f2c04 /tools/emoji-test.js | |
| parent | c90d0f3c600802b5b4b43959df5fd2d02f78012c (diff) | |
| download | coinosv3-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.js | 10 |
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)); |
