diff options
| author | Adam Soltys <[email protected]> | 2026-09-28 09:46:57 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-09-28 09:46:57 -0700 |
| commit | 83aa57add3be62cb38acb1612ff6257a2996972f (patch) | |
| tree | 18006a2ab027db7e9dfaf250e4df746448370484 /tools | |
| parent | 7c089faafe943e84652cae19ee53e95932d715b9 (diff) | |
| download | coinosv3-83aa57add3be62cb38acb1612ff6257a2996972f.tar.gz coinosv3-83aa57add3be62cb38acb1612ff6257a2996972f.zip | |
A clip the reader turned the sound on for stays loud for the session, however its box is rebuilt.
Pinning the box only protected it from a patch in place. A repaint that
pairs children differently, the window unmounting the row and mounting it
again, or a quoted note loading all rebuilt the player muted with the
button back; the URL is remembered now, and a rebuilt box starts loud with
no button. Muting again from the player's own control forgets it.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01VhUKyXKtsJ67QAFfb7QR9D
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/video-autoplay-test.js | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/video-autoplay-test.js b/tools/video-autoplay-test.js index 29a1437..583c908 100644 --- a/tools/video-autoplay-test.js +++ b/tools/video-autoplay-test.js @@ -77,6 +77,12 @@ try { JSON.stringify(await page.evaluate(() => { const v = document.querySelector('.note-video-box video'); return v && { paused: v.paused, t: v.currentTime, err: v.error && v.error.code, ready: v.readyState }; }))); await page.evaluate(() => document.querySelector('.note-video-box .vid-sound').click()); await sleep(500); check('Unmute turns the sound on, and the button leaves (the player\'s own controls carry mute)', await page.evaluate(() => { const v = document.querySelector('.note-video-box video'); const b = document.querySelector('.note-video-box .vid-sound'); return !v.muted && !b; })); + // the box rebuilt from scratch (the row re-rendered by hand, the way a + // window remount or a quote load would) comes back loud, with no button + await page.evaluate(() => { const box = document.querySelector('.note-video-box'); const row = box.closest('.row'); row.remove(); }); + await page.evaluate(() => { const b = [...document.querySelectorAll('button')].find((n) => /dark mode/i.test(n.textContent)); if (b) { b.click(); b.click(); } }); await sleep(800); + check('a rebuilt box keeps the sound on for the session', await waitFor(() => { const v = document.querySelector('.note-video-box video'); return v && !v.muted && !document.querySelector('.note-video-box .vid-sound'); }, 6000), + JSON.stringify(await page.evaluate(() => { const v = document.querySelector('.note-video-box video'); return v && { muted: v.muted, btn: !!document.querySelector('.note-video-box .vid-sound') }; }))); await page.evaluate(() => window.scrollTo(0, 1000)); await sleep(700); check('scrolled away, it pauses', await waitFor(() => { const v = document.querySelector('.note-video-box video'); return v && v.paused; }, 4000)); |
