tileview pictures preview #484

Closed
opened 2026-09-11 20:06:31 +00:00 by Cordy · 1 comment
Owner

If file is a JPG, and user in tiles view, have a preview of the picture in the tile. attached is a screenshot of OpenClouds example.

If file is a JPG, and user in tiles view, have a preview of the picture in the tile. attached is a screenshot of OpenClouds example.
Author
Owner

Shipped in v0.6.173 (PR #511), live on both dogfoods (currently at v0.6.174).

Tiles now show the picture, like the reference — but rendered server-side rather than shipping the original: a new GET /api/v1/thumb endpoint produces a downscaled JPEG (480px longest edge, JPG/PNG/GIF/WebP/BMP) with a per-file-version disk cache next to the preview cache (100 MB, oldest evicted) and browser caching via ETag/304. Phone photos come out the right way up — EXIF orientation is parsed and applied. Decompression bombs are refused from the header before any decode, sources over 32 MB fall back to the type icon, and only one decode runs at a time so small pods stay inside their memory limits. Tiles lazy-load, so a big folder only fetches what scrolls into view.

Per the approved mockup, tiles also gained the permanently visible checkbox (white halo on photos) and the star + kebab in the name row.

Shipped in **v0.6.173** (PR #511), live on both dogfoods (currently at v0.6.174). Tiles now show the picture, like the reference — but rendered server-side rather than shipping the original: a new `GET /api/v1/thumb` endpoint produces a downscaled JPEG (480px longest edge, JPG/PNG/GIF/WebP/BMP) with a per-file-version disk cache next to the preview cache (100 MB, oldest evicted) and browser caching via ETag/304. Phone photos come out the right way up — EXIF orientation is parsed and applied. Decompression bombs are refused from the header before any decode, sources over 32 MB fall back to the type icon, and only one decode runs at a time so small pods stay inside their memory limits. Tiles lazy-load, so a big folder only fetches what scrolls into view. Per the approved mockup, tiles also gained the permanently visible checkbox (white halo on photos) and the star + kebab in the name row.
Cordy closed this issue 2026-09-12 19:12:17 +00:00
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#484
No description provided.