siftlode/backend/app/downloads
npeter83 b63b3334d6 fix(share): self-host og:image so link previews stay reliable
A remote thumbnail as og:image is unreliable for the crawler — Facebook's signed
CDN URL expires (so an old shared link's image later vanishes) and cross-origin
hotlinking is flaky. Record a self-hosted poster for EVERY download (ensure_poster
returns the existing <base>.jpg thumbnail sidecar, or cuts a frame) and point
og:image at our own /api/public/watch/{token}/poster.jpg. Backfill now fills
poster_path for all existing downloads, not just thumbnail-less ones.
2026-07-07 22:43:18 +02:00
..
__init__.py fix(downloads): add the downloads package (was wrongly gitignored) + robust sanitizer 2026-07-03 00:19:22 +02:00
backfill.py fix(share): self-host og:image so link previews stay reliable 2026-07-07 22:43:18 +02:00
edit.py feat(downloads): clickable channels + poster fallback for thumbnail-less sources 2026-07-07 22:28:49 +02:00
formats.py fix(downloads): prefer H.264+AAC for mp4 so shared files play on iOS/Safari 2026-07-04 17:29:05 +02:00
gc.py feat(downloads): M3 — per-user quota + retention GC 2026-07-03 00:26:40 +02:00
links.py feat(downloads): clickable channels + poster fallback for thumbnail-less sources 2026-07-07 22:28:49 +02:00
og.py fix(share): self-host og:image so link previews stay reliable 2026-07-07 22:43:18 +02:00
quota.py feat(downloads): M4 — REST API (enqueue, manage, file-serve, sharing, admin) 2026-07-03 00:34:08 +02:00
service.py fix(downloads): clip long titles to fit display_name (VARCHAR 255) 2026-07-07 21:40:15 +02:00
storage.py feat(downloads): editor backend — trim/crop derivatives (phase 2) 2026-07-04 01:01:46 +02:00