Start empty when the cache directory holds another account's cache (closes #104)
check / check (push) Successful in 27s

When metadata.json in the cache directory was written for a different,
non-zero user ID than the client's, Library.open deletes it and mldata/
and loads an empty store, so the first refresh enumerates from 0 and none
of the other account's collections, files, keys or ML results are served.
Only reachable with --cache-dir or an explicit cacheDirectory.

Model: opus-5-5
This commit is contained in:
2026-09-23 03:37:51 +00:00
parent d05b53d560
commit 5afd7c4bd7
4 changed files with 87 additions and 3 deletions
+5
View File
@@ -676,6 +676,11 @@ Under `cacheDirectory`:
fetched.json per-file fetch bookkeeping
```
When `metadata.json` belongs to a different account than the client's,
`Library.open` deletes it and `mldata/` and starts from an empty cache. Cached
originals and thumbnails are kept; they are reached only through the files the
current account's records name.
A stored file appears only via an atomic temp-then-rename, so its presence means
it is complete. The design also calls for a content-hash comparison against
`FileMetadata.hash` on each fetched original; that check is deferred (issue