Plain-record library snapshot and change subscription (closes #43)
check / check (push) Successful in 30s

Adds a synchronous, key-free snapshot() returning LibrarySnapshot (one PhotoRecord per fileID, deduped, newest first) with edited-name/time precedence (pubMagicMetadata over basic metadata) in milliseconds, plus AlbumRecord (favorites identified by type). subscribe({onChange}) delivers LibraryChange (changed/removed albums and files, refreshedAt) only when a refresh changes something; unsubscribe stops delivery. Built on the existing refresh loop; served from RAM, safe to send over IPC.

Model: opus-4-8
This commit was merged in pull request #62.
This commit is contained in:
2026-09-22 15:22:52 +02:00
parent 57e0c69651
commit fbb8ae44a7
5 changed files with 912 additions and 0 deletions
+6
View File
@@ -42,6 +42,12 @@ export {
type RefreshEvent,
type RefreshProgressCallback,
} from "./library/index.js";
export type {
AlbumRecord,
PhotoRecord,
LibrarySnapshot,
LibraryChange,
} from "./library/records.js";
export { decryptCollection, decryptFile } from "./model/index.js";
export { downloadFile, downloadThumbnail } from "./download/index.js";
export type {