Stream the media grid with a scroll buffer

This commit is contained in:
Fisto
2026-09-17 10:47:52 +02:00
parent efd721e83b
commit cc14140f34
6 changed files with 291 additions and 59 deletions
+8
View File
@@ -40,6 +40,14 @@ mobile draft at 390px.
- [x] C11 preview caching: Discord-hosted image/GIF previews (WebP 320px, hash-addressed, 5 MiB
cap, one attempt) run after every walk in both modes. Live run `...-20260916090722`:
`previewed: 2`; thumbs served over `/api/media/<scrape>/<item>/thumb` (200).
- [x] C45 Streaming media grid. The grid rebuilt every card on each appended page, which made
filtered browsing flash, and the `Load more` trigger only worked once the grid could already
scroll, so short filtered pages dead-stopped at ~11 cards. Now pages append incrementally
(existing images are never rebuilt), a stream buffer capped at 1.5 viewport heights keeps the
scroll alive while the next page loads, auto-fill cascades while the buffer is on screen, the
buffer note reads `Loading more…` / `Scroll for more` / `End of results`, and an elastic nudge
replaces the hard stop at the bottom. Smoke test: first load reaches 120 cards via auto-fill,
scrolling appends 120 → 440 with no broken images.
- [x] C44 One traffic pipeline and split ETAs. Walks and backfill batches now share a
media-traffic lock: a walk holds it for its whole run, a batch for one batch, so the pacing
settings bound total traffic instead of each action. Starting then immediately stopping a