Add mobile save sheet with same-origin photo downloads.

Phones cannot land downloads in the photo library, so the gallery opens a share sheet for a cacheable preview while streaming via a dedicated download endpoint and recording preview sizes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Michilis
2026-08-06 20:14:31 +00:00
co-authored by Cursor
parent 390e1dc0ea
commit be4dd5b47f
20 changed files with 962 additions and 56 deletions
@@ -0,0 +1,6 @@
-- Byte size of the generated preview variant, so the gallery response can
-- label the mobile save sheet's rows without the client HEADing every file.
-- NULL means "not measured yet" — rows predating this migration, until the
-- read path stats them once (see fillPreviewSizes in httpapi/sizes.go).
-- (No semicolons in these comments: the migration runner splits on them.)
ALTER TABLE photos_photos ADD COLUMN preview_size_bytes integer;