diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-10-10 15:26:45 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-10-10 15:26:45 +0200 |
| commit | 1521cc1ac0cca7ee8786056f84fa399d5cc268f9 (patch) | |
| tree | 00cc3132ee05894350db12e8e5cb94f81b1d4876 /docs/MESHBAY_DESIGN.md | |
| parent | 1fd7bbcd038cddf40540bae7083b9adf4c728912 (diff) | |
| download | meshbay-1521cc1ac0cca7ee8786056f84fa399d5cc268f9.tar.gz | |
feat(photos): show a phone's clips in their albums
Videos in a photo folder are thumbnailed by the node, counted and marked in
the album, and played in the group's video player from the lightbox; the
slideshow passes them by.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/MESHBAY_DESIGN.md')
| -rw-r--r-- | docs/MESHBAY_DESIGN.md | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/docs/MESHBAY_DESIGN.md b/docs/MESHBAY_DESIGN.md index 5ba1980..4c376ea 100644 --- a/docs/MESHBAY_DESIGN.md +++ b/docs/MESHBAY_DESIGN.md @@ -3136,6 +3136,16 @@ An album browser over the image files in the group's configured folders. It is An **album is a directory**, exactly as a season is a folder in Videos. Thumbnails are node-side, orientation-corrected, and delivered through the same chunk path. +**A video in a photo folder belongs to its album**: a phone's clips, backed up +beside its photos (§9.12), are where they were on the phone. The node probes +and thumbnails them with the video enricher (duration and a frame, nothing +looked up anywhere: matching is the Videos app's, asked by its own pages). +The album card counts photos and videos apart, a clip's tile carries a play +mark and its length, and the lightbox shows its thumbnail with a play button +that hands it to the group's video player, so a clip of a gigabyte is streamed +like a film and never downloaded whole into the lightbox. A slideshow is of +photos: it passes a clip by. The television follows photos only. + **EXIF is read locally on the node** and narrowed on purpose: a capture time and a camera, and **never GPS**, anywhere, in any field a client receives. The claim this supports is precise, and the one it must not make matters more: @@ -3423,7 +3433,7 @@ most of it. A file is never whole in the page: the upload reads it a chunk at a time and each chunk is a ranged request to the phone (`Range: bytes=a-b`, answered 206 by `ByteRange.kt`), so a video of gigabytes costs the WebView one chunk of memory; the SHA-256 the ledger keeps is then read from the phone once -the node has the file. The Photos tab does not show videos yet; Files does. +the node has the file. The Photos tab shows them in their albums (§9.9). **Location.** The manifest does not ask for `ACCESS_MEDIA_LOCATION`, so a photo or video read through MediaStore has its location **redacted by the |