diff options
| author | Adam Soltys <[email protected]> | 2026-10-03 15:41:42 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-10-03 15:41:42 -0700 |
| commit | 6488806b840c009278f4ae16de9e079ea4b892bc (patch) | |
| tree | 2c7a721c110a5525eaaca3d88c33b9d99c73ca82 /tools | |
| parent | 7adb8cdf7b1a405c58ad9c51c901d852c29dd2ad (diff) | |
| download | coinosv3-6488806b840c009278f4ae16de9e079ea4b892bc.tar.gz coinosv3-6488806b840c009278f4ae16de9e079ea4b892bc.zip | |
Pager: a large clip keeps its picture when you come back to it
Leaving a slide lets go of its file, and coming back skipped the still
because the cover was already there — black again. The still is now
restored on every return. Pager clips also load CORS-readable (a plain
retry for hosts without CORS), so their frame is kept the first time —
the still under a cover and any clip that plays — and from then on the
poster alone covers it.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01ULQZS9MQa6iAsXnrJUD9Du
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/feed-media-views-test.js | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/feed-media-views-test.js b/tools/feed-media-views-test.js index 9181904..dee807c 100644 --- a/tools/feed-media-views-test.js +++ b/tools/feed-media-views-test.js @@ -203,6 +203,10 @@ try { const v = document.querySelectorAll('.mp-slide')[2].querySelector('video'); return (v.getAttribute('poster') || '').startsWith('blob:') || (/#t=/.test(v.getAttribute('src') || '') && v.readyState >= 2); }, 5000)); await shot('heavy'); + await page.keyboard.press('ArrowUp'); await sleep(1200); await page.keyboard.press('ArrowDown'); await sleep(1500); + check('away and back, it still shows its picture', await waitFor(() => { + const v = document.querySelectorAll('.mp-slide')[2].querySelector('video'); + return (v.getAttribute('poster') || '').startsWith('blob:') || (/#t=/.test(v.getAttribute('src') || '') && v.readyState >= 2); }, 5000)); await page.evaluate(() => document.querySelectorAll('.mp-slide')[2].querySelector('.vid-heavy').click()); check('a tap plays it', await waitFor(() => { const v = document.querySelectorAll('.media-pager video')[2]; return !v.paused && v.currentTime > 0; }, 6000)); check('...without showing the overlay', !(await pagerState()).show); |
