-
e6825abcdb
TODO.md workflow: branch from and merge into next (closes #137)
next
clawbot
2026-09-29 05:54:35 +02:00
-
c27e2cb629
README development workflow: branch from and merge into next (closes #135)
clawbot
2026-09-29 05:38:36 +02:00
-
e6a9e929c2
Bring README and TODO.md in line with next after the milestone merge (closes #132)
clawbot
2026-09-29 05:22:57 +02:00
-
9e6e038545
Merge pull request 'next → main: pre-1.0 milestone' (#31) from next into main
main
sneak
2026-09-29 03:12:31 +02:00
-
-
1b7158fcd3
Test the live-photo writer's fsyncs (closes #130)
clawbot
2026-09-28 18:45:48 +02:00
-
9e6deb21eb
Store live photos as their image and their video (closes #107)
clawbot
2026-09-28 18:06:01 +02:00
-
04094a8cfb
Mark the package private and declare engines and exports (closes #6)
clawbot
2026-09-23 14:17:53 +02:00
-
6a7a10f489
Bring README and TODO.md in line with the tree on next2 (closes #111)
clawbot
2026-09-23 10:08:03 +02:00
-
7740ebfd4d
Test quak login and backup-metadata --exif (closes #110)
clawbot
2026-09-23 09:27:40 +02:00
-
ae76eb3f74
Write each backed-up original once and skip the precache (closes #106)
clawbot
2026-09-23 08:48:02 +02:00
-
f52c77f155
Refresh before backup-metadata and the thumbnail helpers answer (closes #100)
clawbot
2026-09-23 08:11:37 +02:00
-
6757ddea94
Make backup wait for the server refresh and fail when it fails (closes #99)
clawbot
2026-09-23 08:07:44 +02:00
-
36642f4448
Print CLI errors as one line instead of a stack trace (closes #102)
clawbot
2026-09-23 07:33:26 +02:00
-
fc396d1ecc
Keep another process's downloads when opening a library (closes #105)
clawbot
2026-09-23 07:25:28 +02:00
-
cb61582ae6
Make lint and test phases of the Dockerfile (closes #96)
clawbot
2026-09-23 07:18:46 +02:00
-
cda57eebda
Skip thumbnail repairs the server always refuses (closes #109)
clawbot
2026-09-23 07:03:33 +02:00
-
c24c4dda4f
Test the live-photo hash check's error paths (closes #117)
clawbot
2026-09-23 06:56:15 +02:00
-
4bb75ca323
quak logout ends the session on the server (closes #108)
clawbot
2026-09-23 06:51:12 +02:00
-
cd05a458dc
Give backup album folders distinct names and remove stale entries (closes #103)
clawbot
2026-09-23 06:36:12 +02:00
-
c19943a520
Check downloaded originals against their recorded content hash (closes #68)
clawbot
2026-09-23 06:16:57 +02:00
-
390401af2c
Start empty when the cache directory holds another account's cache (closes #104)
clawbot
2026-09-23 05:56:14 +02:00
-
bf3b20df2f
backup-metadata: keep going when an ML data request fails (closes #101)
clawbot
2026-09-23 05:49:38 +02:00
-
d05b53d560
Single-source the version from package.json (closes #5)
clawbot
2026-09-23 05:07:47 +02:00
-
0ca8887f52
Test that close() waits for the originals precache (closes #93)
clawbot
2026-09-23 04:54:45 +02:00
-
f1836ced57
Fix two intermittently failing library tests (closes #90)
clawbot
2026-09-23 04:38:00 +02:00
-
c75c4f987c
Pin three untested guards: download timer, URL fragment, short APP1 (closes #89)
clawbot
2026-09-23 03:44:45 +02:00
-
28a2beeab8
Make the download deadline an idle deadline and cancel failed bodies (closes #24)
clawbot
2026-09-23 03:14:42 +02:00
-
2b410c3ed6
Build every ApiClient request URL in one place (closes #18)
clawbot
2026-09-23 02:57:42 +02:00
-
d07692897b
Move CLI commands into testable functions and test them (closes #12)
clawbot
2026-09-23 02:47:47 +02:00
-
ed535be1da
Harden the backup tree's atomic copy (closes #22)
clawbot
2026-09-23 02:44:46 +02:00
-
d545dcd8b1
Harden the retry classifier and pin per-attempt deadlines (closes #80)
clawbot
2026-09-23 02:38:01 +02:00
-
52f58f5d2b
Harden the JPEG EXIF scan against malformed input (closes #11)
clawbot
2026-09-23 02:28:15 +02:00
-
b44c4ba6d7
Keep make test from collecting tests in nested checkouts (closes #25)
clawbot
2026-09-23 02:18:31 +02:00
-
d50b296d3a
Drop the deprecated @types/libsodium-wrappers-sumo stub (closes #27)
clawbot
2026-09-23 02:15:08 +02:00
-
b7d6ab99f4
Validate session snapshots and wipe keys on logout (closes #10)
clawbot
2026-09-23 02:08:02 +02:00
-
3871d6228e
Sanitize file names taken from server metadata (closes #9)
clawbot
2026-09-23 02:04:31 +02:00
-
fe952d3e62
Rewrite the README API reference for the new library surface (closes #53)
clawbot
2026-09-23 00:27:30 +02:00
-
d23d3f8f47
Port the quak CLI to the library API (closes #52)
clawbot
2026-09-23 00:00:55 +02:00
-
aeccb489b5
Fresh read variants that await a server round-trip (closes #75)
clawbot
2026-09-22 23:29:15 +02:00
-
2e00139d3c
Precache all thumbnails and pinned originals inside open() (closes #48)
clawbot
2026-09-22 21:21:34 +02:00
-
e8575780e4
Content-similarity search surface over the CLIP index (closes #50)
clawbot
2026-09-22 20:45:59 +02:00
-
17d1d74615
Rewrite the backup command on the library API with a durable failure ledger (closes #51)
clawbot
2026-09-22 20:21:49 +02:00
-
c05d63a2f0
Originals cache size limit with least-recently-used eviction (closes #47)
clawbot
2026-09-22 20:13:22 +02:00
-
5db59a6e2b
On-disk content and thumbnail cache with per-photo fetch and prefetch (closes #46)
clawbot
2026-09-22 18:38:22 +02:00
-
61dfec8d38
Revert ML search (#50) to restore a green next (build fix pending)
clawbot
2026-09-22 18:21:54 +02:00
-
224bd101ab
Content-similarity search surface over the CLIP index (closes #50)
clawbot
2026-09-22 18:14:13 +02:00
-
d7f415fe29
Fetch, store, and index per-file ML data (closes #49)
clawbot
2026-09-22 17:54:40 +02:00
-
c5c1f387df
In-process read surface: albums, photos, and timeline grouping (closes #44)
clawbot
2026-09-22 17:21:48 +02:00
-
000d395c87
Three bounded request pools for metadata, content, and thumbnails (closes #45)
clawbot
2026-09-22 15:31:21 +02:00
-
fbb8ae44a7
Plain-record library snapshot and change subscription (closes #43)
clawbot
2026-09-22 15:22:52 +02:00
-
57e0c69651
Accumulate streamDecrypt reads linearly, not quadratically (closes #21)
clawbot
2026-09-22 15:13:09 +02:00
-
7570055a5b
Library.open with a transparent background refresh (closes #42)
clawbot
2026-09-22 14:52:02 +02:00
-
4b4f550f89
Stream decrypted downloads to disk with bounded memory (closes #40)
clawbot
2026-09-22 13:54:20 +02:00
-
72ea8dcb01
On-disk JSON metadata store for the local cache (closes #41)
clawbot
2026-09-22 12:52:50 +02:00
-
42a6c17d49
Resumable, deletion-aware collection and file enumeration (closes #38)
clawbot
2026-09-22 12:37:09 +02:00
-
8f575550af
Durable atomic writer with fsync and per-chunk download progress (closes #39)
clawbot
2026-09-22 12:01:06 +02:00
-
ead083c1d6
Carry file size, thumbnail size, and deletion flag through decryptFile (closes #37)
clawbot
2026-09-22 12:01:03 +02:00
-
d1d6cdd4f0
Revert the 16 commits pushed to next on 2026-09-04 by an agent outside the managed fleet
clawbot
2026-09-05 09:33:23 +00:00
-
48db9b438a
test(lint-once): read docker image/builder build as builds too
user
2026-09-04 12:08:54 +00:00
-
81150f433c
test(lint-once): disclose the build shapes read, correct the run: | claim
user
2026-09-04 12:06:44 +00:00
-
f67a1c4d92
test(lint-once): match RUN case-insensitively, follow buildx builds
user
2026-09-04 12:04:24 +00:00
-
ffc817522e
test(lint-once): pin the two-build and later-flag shapes
user
2026-09-04 11:51:17 +00:00
-
88a5fcaa87
lint-once: bound the docker file flag to its own invocation
user
2026-09-04 11:49:38 +00:00
-
2fcb3e6ced
test(lint-once): follow a short file flag with its value attached
user
2026-09-04 11:37:08 +00:00
-
197296edba
lint-once: follow every spelling of docker build's file flag
user
2026-09-04 11:31:06 +00:00
-
bd88eced84
README: state the container-lint claim as what is actually true
user
2026-09-04 11:27:49 +00:00
-
956870889f
Update the make variable header to match the ?= and prefix rules
user
2026-09-04 11:19:45 +00:00
-
18b0f039b5
Pin the export/override prefix and
?= first-wins with tests
user
2026-09-04 11:18:19 +00:00
-
18226d345b
WIP: fix export/override prefix and ?= first-wins in make variable parser
user
2026-09-04 11:17:32 +00:00
-
075b1bb921
Expand single-line make variables in the lint-once resolver
clawbot
2026-09-04 11:05:20 +00:00
-
ff4cc63c8b
Name the define/endef hole in the lint-once header
clawbot
2026-09-04 10:55:41 +00:00
-
f4ecef8820
Follow make conditionals and semicolon recipes in lint-once
clawbot
2026-09-04 10:54:24 +00:00
-
9ed92e1231
Format the lint-once resolver changes
clawbot
2026-09-04 10:31:40 +00:00
-
8bf5138582
WIP: follow Makefile prerequisites and $(MAKE) in lint-once
clawbot
2026-09-04 10:05:38 +00:00
-
2bfa11c10c
Walk the path CI runs in lint-once, and pin the branch the container installs (closes #33)
sneak
2026-08-10 13:41:12 +00:00
-
a73f0abbe8
Check formatting once per make check, in the container (closes #29)
sneak
2026-08-10 13:05:03 +00:00
-
fed39d19cf
Run all linting in Docker via Dockerfile.lint (closes #30)
sneak
2026-08-10 12:39:23 +00:00
-
-
156fe871e8
Make the image build multi-stage and cache-proof (closes #4)
sneak
2026-08-09 14:38:32 +00:00
-
118f8e22c3
Add failing tests for the project name and build context
sneak
2026-08-09 14:27:50 +00:00
-
69bd6d1539
Compile bin/ alongside src/ so the package can be built (closes #3)
sneak
2026-08-09 10:06:31 +00:00
-
d79ed83f4d
Add failing tests for the package entrypoint contract
sneak
2026-08-09 10:01:32 +00:00
-
348f23bac9
Narrow the replay errno set to failures that prove no connection existed
sneak
2026-08-09 05:41:59 +00:00
-
f3cf4af833
Retry transient network failures with exponential backoff (closes #2)
sneak
2026-08-09 05:21:31 +00:00
-
0cbe338b58
Add failing tests for the download retry policy
sneak
2026-08-09 05:11:07 +00:00
-
937bcb7aee
Guard streamTagFinal() against being made eager
sneak
2026-08-09 02:45:35 +00:00
-
8a200be8a7
Read TAG_FINAL from libsodium, detect partial chunks, cover the atomic write
sneak
2026-08-09 02:23:39 +00:00
-
99905277a3
Verify secretstream TAG_FINAL and write downloads atomically (closes #1)
sneak
2026-08-09 01:59:28 +00:00
-
1f894bad0e
Add failing tests for download truncation detection and atomic writes
sneak
2026-08-09 01:51:49 +00:00
-
2039608c07
Refresh vendored REPO_POLICIES.md from prompts repo
sneak
2026-07-07 00:21:00 +02:00
-
4f506b0155
Adopt scripts-to-rule-them-all: script/ entrypoints, Makefile shims
sneak
2026-07-07 00:20:19 +02:00
-
dc0dd11f19
Format TODO.md with prettier (make fmt)
sneak
2026-07-06 21:28:18 +02:00
-
84554a85ad
Add standard Workflow section to TODO.md
sneak
2026-07-06 21:06:40 +02:00
-
88510a3ff5
Add TODO.md
sneak
2026-07-06 20:35:46 +02:00
-
6c26e3ccb7
Merge: skip deleted-collection tombstones in listCollections
sneak
2026-06-10 11:49:48 -07:00
-
-
d0b4ee979e
Green: filter isDeleted tombstones out of listCollections
sneak
2026-06-10 11:49:45 -07:00
-
cb9ac29cb4
Red: listCollections must drop deleted-collection tombstones
sneak
2026-06-10 11:49:11 -07:00
-
-
6a9e41a2ee
Merge: decrypt collections shared by other users (sealed-box keys)
sneak
2026-06-10 11:46:54 -07:00
-
-
15d2effc2d
Green: unseal shared collection keys with the account keypair
sneak
2026-06-10 11:46:51 -07:00
-
59e0aa7d47
Red: shared collections arrive as sealed boxes with no keyDecryptionNonce
sneak
2026-06-10 11:41:36 -07:00
-
-
b86ac2cd20
Merge: fix dual-2FA login against real server (empty-string fields)
sneak
2026-06-10 11:26:18 -07:00
-