Let the reader have the captured pictures taken again

A frame taken out of a video is kept for good: that is what makes a dead
favorite cheap to scroll past, and it is also the one thing that can go wrong
with no way out. A picture from the wrong moment, or one kept by a version of
this that would keep a frame with nothing in it, stays on the card for the life
of the item.

So Settings grows a Captured Thumbnails section: what is kept and how much room
it takes, and a button that throws the lot away. The cards on screen go back to
the start of the thumbnail ladder rather than waiting to be scrolled out of the
window and back, which is where a fresh capture comes from, and the session's
memory of which items there was no point asking about goes with the pictures --
otherwise "take them again" would quietly skip every item that failed once.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MPZFnNdHbPGDTqQUNiE4ZN
This commit is contained in:
Simon
2026-10-21 21:08:06 +00:00
parent be058dba37
commit 4f772773e1
5 changed files with 106 additions and 0 deletions

View File

@@ -542,6 +542,20 @@ App.videos = App.videos || {};
}
};
// Puts every thumbnail on the page back to the start of the ladder. For the
// settings action that throws the captured pictures away (see
// App.posters.clear): a card that is already mounted would otherwise keep
// showing the picture that was just discarded until something scrolled it
// out of the window and back.
App.videos.refreshThumbnails = function() {
document.querySelectorAll('img[data-thumb-token]').forEach((img) => {
const video = img._thumbVideo;
if (!video) return;
App.videos.attachThumbnail(img, video.thumb || '',
img.dataset.thumbPage || App.videos.sourcePageUrl(video), video);
});
};
// Points `img` at `url` by whichever route is known to work for its host,
// racing the two the first time that host is seen. `page` is optional: the
// item's own page, asked for a replacement if the picture turns out to be