From db93b481493d1a72c38df614110f21001acc506f Mon Sep 17 00:00:00 2001 From: Diocrafts Date: Sat, 7 Mar 2026 18:55:44 +0100 Subject: [PATCH] feat: client-side video thumbnail generation (no ffmpeg) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Backend: - get_thumbnail: for non-images, serve cached thumb or 204 (not 400) - store_external_thumbnail: validate + re-encode to WebP + persist - get_cached_thumbnail: memory → disk lookup without generation - PUT /api/files/{id}/thumbnail/{size} endpoint for client uploads - ThumbnailPort trait: add get_cached_thumbnail + store_external_thumbnail Frontend (photos.js): - On error for video tiles, use