Photo: save path, is-local, content bytes, metadata and EXIF getters (closes #141) #142

Merged
clawbot merged 4 commits from issue-141-photo-getters into next 2026-10-01 17:58:24 +02:00
4 Commits
Author SHA1 Message Date
sneak af482f8eb4 savePath: state the live-photo caveat in content.ts and TODO.md
check / check (push) Successful in 1m47s
The comment on ContentCache.savePath, a new comment on
PhotoContent.savePath, and the TODO.md entry now say that for a live
photo not yet stored, savePath carries the title's extension, and the
backup may store the image under a different one.

Model: opus-5-5
2026-10-01 15:49:53 +00:00
sneak 824b2dbd76 Photo.savePath docs: a live photo not yet stored may move
check / check (push) Successful in 1m47s
For a live photo the backup has not stored, savePath carries the
title's extension, and the backup may store the image under the one
found inside the live photo. The comment on Photo.savePath and the
README now say so, as the comment on ContentCache.savePath does.

Model: opus-5-5
2026-10-01 15:35:38 +00:00
sneak ead27ff419 Photo: drop fileSize, exif() throws without a content cache
check / check (push) Successful in 1m58s
Remove fileSize from Photo, PhotoRecord, README and TODO.md: the server's
value is the size of the encrypted file, not the original's.

exif() now checks for the content cache before it returns {} for a video,
so it throws like original(), thumbnail() and content() when the library
has no content source. README names the methods that also serve an
original from the backup, since thumbnail() does not.

New tests: exif() on a JPEG whose EXIF block cannot be parsed returns {},
and exif() on a video throws without a content source.

Model: opus-5-5
2026-10-01 15:23:05 +00:00
sneak e7f75685e5 Photo: save path, is-local, content bytes, metadata and EXIF getters (closes #141)
check / check (push) Successful in 1m34s
A Photo now has savePath and isLocal, which look only at the disk;
content() and exif(), which may download the original; and modifiedAt,
hash, fileSize and year. PhotoRecord gains modifiedAt, hash and fileSize.
The JPEG EXIF scan moves from metadata-backup.ts to the new src/exif.ts,
so the read surface does not import the backup command.

Model: opus-5-5
2026-10-01 15:09:17 +00:00