From 5615d645875f80300ea813de266b292f02ccd93f Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 17 Oct 2026 05:28:40 -0700 Subject: The video pager shows no position counter until ten clips are ready, the same point it starts to fly. Adam, 2026-10-17: "let's also not show the position/total counter until we have 10". The count is recomputed whenever a clip joins the carousel, so it appears as the tenth one does. Picture pagers and Data Saver are unchanged. tools/pager-ready-gate-test.js: with four clips ready the counter is hidden. pager-seek-hide and pager-swipe-fly pass. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_013ZDf1cyCQLkfjftYhymZAg --- src/features/messages.js | 3 +++ src/style.css | 1 + tools/pager-ready-gate-test.js | 1 + 3 files changed, 5 insertions(+) diff --git a/src/features/messages.js b/src/features/messages.js index 654b6d5..1cdbf58 100644 --- a/src/features/messages.js +++ b/src/features/messages.js @@ -13220,6 +13220,9 @@ export function messagesFeature(ctx) { } const text = (index < 0 ? 0 : index + 1) + ' / ' + groups.length, el = pager.el.querySelector('.mp-position'); if (el.textContent !== text) el.textContent = text; + // a video pager shows no count until it can fly: ten clips ready (Adam, + // 2026-10-17: "let's also not show the position/total counter until we have 10") + pager.el.classList.toggle('few', !pagerCanFly()); } function buildPager(want) { diff --git a/src/style.css b/src/style.css index bbaae88..71c21a6 100644 --- a/src/style.css +++ b/src/style.css @@ -1860,3 +1860,4 @@ body::after { .media-pager.videos .mp-position { animation: mp-position-out .4s 1.2s both; } .media-pager.videos.moving .mp-position { animation: none; opacity: 1; } @keyframes mp-position-out { from { opacity: 1; } to { opacity: 0; } } +.media-pager.few .mp-position { visibility: hidden; } diff --git a/tools/pager-ready-gate-test.js b/tools/pager-ready-gate-test.js index 613f7d5..3a4f2be 100644 --- a/tools/pager-ready-gate-test.js +++ b/tools/pager-ready-gate-test.js @@ -135,6 +135,7 @@ try { for (let i = 1; i <= 3; i++) { while (performance.now() < t0 + 80 * i / 3); fire('touchmove', 700 - 600 * i / 3); } fire('touchend', 100, true); }); + check('with ' + ready + ' clips ready, no counter shows', await page.evaluate(() => getComputedStyle(document.querySelector('.mp-position')).visibility === 'hidden')); check('with ' + ready + ' clips ready, a hard flick from tall2 goes one post, to tall3', ready < 10 && await waitFor(() => { const s = document.querySelector('.mp-slide.mp-cur'); return !!s && /tall3/.test(s.getAttribute('data-k')); }, null, 4000), String(await curClip())); await page.keyboard.press('ArrowUp'); await waitFor(() => /tall2/.test(document.querySelector('.mp-slide.mp-cur')?.getAttribute('data-k') || ''), null, 4000); -- cgit v1.2.3