Deduplicate media across scrapes and polish the viewer controls
This commit is contained in:
@@ -40,6 +40,12 @@ 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] C20 Cross-scrape dedupe and viewer polish. `queryMedia` and `stats` deduplicate by URL
|
||||
(newest scrape wins), so overlapping scrapes no longer duplicate cards or counters (live: 17
|
||||
items / 17 unique). Viewer: big play icon top-right; play embeds a provider player or a direct
|
||||
mp4/webm/m4v, otherwise opens the external warning; **View full** opens the embedded
|
||||
media/player in a new tab while the link button opens the original page; duration is stored
|
||||
(Discord attachment duration, ffprobe for downloads, 0 normalized to unknown); favicon added.
|
||||
- [x] C19 External embed previews and MIME fixes. Embeds with no thumbnail in Discord's data are
|
||||
resolved via provider oEmbed/fxtwitter and an `og:image` fallback; preview bytes keep their
|
||||
real extension (`preview_ext`), so JPEG thumbnails serve as `image/jpeg` instead of mislabeled
|
||||
|
||||
Reference in New Issue
Block a user