2026-09-01 - 2026-10-01

Overview

59 Active Pull Requests
71 Active Issues
Excluding merges, 0 authors have pushed 0 commits to main and 73 commits to all branches. On main, 0 files have changed and there have been 0 additions and 0 deletions.

58 Pull requests merged by 1 user

Merged #138 TODO.md workflow: branch from and merge into next (closes #137) 2026-09-29 05:54:36 +02:00

Merged #136 README development workflow: branch from and merge into next (closes #135) 2026-09-29 05:38:37 +02:00

Merged #133 Bring README and TODO.md in line with next after the milestone merge (closes #132) 2026-09-29 05:22:58 +02:00

Merged #31 next → main: pre-1.0 milestone 2026-09-29 03:12:32 +02:00

Merged #131 Test the live-photo writer's fsyncs (closes #130) 2026-09-28 18:45:48 +02:00

Merged #128 Store live photos as their image and their video (closes #107) 2026-09-28 18:06:01 +02:00

Merged #129 Sync next2 into next: hardening, backup and CLI fixes 2026-09-24 12:21:38 +02:00

Merged #127 Mark the package private and declare engines and exports (closes #6) 2026-09-23 14:17:53 +02:00

Merged #126 Bring README and TODO.md in line with the tree on next2 2026-09-23 10:08:03 +02:00

Merged #125 Test quak login and backup-metadata --exif 2026-09-23 09:27:41 +02:00

Merged #124 Write each backed-up original once and skip the precache (closes #106) 2026-09-23 08:48:03 +02:00

Merged #123 Refresh before backup-metadata and the thumbnail helpers answer (closes #100) 2026-09-23 08:11:37 +02:00

Merged #122 Make backup wait for the server refresh and fail when it fails 2026-09-23 08:07:44 +02:00

Merged #121 Print CLI errors as one line instead of a stack trace 2026-09-23 07:33:26 +02:00

Merged #120 Keep another process's downloads when opening a library (closes #105) 2026-09-23 07:25:29 +02:00

Merged #112 Make lint and test phases of the Dockerfile (closes #96) 2026-09-23 07:18:46 +02:00

Merged #119 Skip thumbnail repairs the server always refuses (closes #109) 2026-09-23 07:03:33 +02:00

Merged #118 Test the live-photo hash check error paths (closes #117) 2026-09-23 06:56:15 +02:00

Merged #116 quak logout ends the session on the server (closes #108) 2026-09-23 06:51:12 +02:00

Merged #115 Give backup album folders distinct names and remove stale entries 2026-09-23 06:36:13 +02:00

Merged #98 Check downloaded originals against their recorded content hash (closes #68) 2026-09-23 06:16:57 +02:00

Merged #113 Start empty when the cache directory holds another account's cache (closes #104) 2026-09-23 05:56:14 +02:00

Merged #114 backup-metadata: keep going when an ML data request fails (closes #101) 2026-09-23 05:49:38 +02:00

Merged #95 Single-source the version from package.json 2026-09-23 05:07:47 +02:00

Merged #94 Test that close() waits for the originals precache (closes #93) 2026-09-23 04:54:46 +02:00

Merged #92 Fix two intermittently failing library tests (closes #90) 2026-09-23 04:38:00 +02:00

Merged #91 Pin three untested guards: download timer, URL fragment, short APP1 2026-09-23 03:44:45 +02:00

Merged #88 Make the download deadline an idle deadline and cancel failed bodies (closes #24) 2026-09-23 03:14:42 +02:00

Merged #87 Build every ApiClient request URL in one place (closes #18) 2026-09-23 02:57:42 +02:00

Merged #86 Move CLI commands into testable functions and test them 2026-09-23 02:47:47 +02:00

Merged #85 Harden the backup tree's atomic copy (closes #22) 2026-09-23 02:44:47 +02:00

Merged #83 Harden the retry classifier and pin per-attempt deadlines 2026-09-23 02:38:02 +02:00

Merged #84 Harden the JPEG EXIF scan against malformed input 2026-09-23 02:28:15 +02:00

Merged #82 Keep make test from collecting tests in nested checkouts 2026-09-23 02:18:32 +02:00

Merged #81 Drop the deprecated @types/libsodium-wrappers-sumo stub (closes #27) 2026-09-23 02:15:08 +02:00

Merged #79 Validate session snapshots and wipe keys on logout (closes #10) 2026-09-23 02:08:02 +02:00

Merged #78 Sanitize file names taken from server metadata (closes #9) 2026-09-23 02:04:32 +02:00

Merged #77 Rewrite the README API reference for the shipped library surface 2026-09-23 00:27:31 +02:00

Merged #74 Port the quak CLI to the library API (closes #52) 2026-09-23 00:00:55 +02:00

Merged #76 Add fresh read variants that await a server round-trip (closes #75) 2026-09-22 23:29:15 +02:00

Merged #73 Precache all thumbnails and pinned originals from Library.open (closes #48) 2026-09-22 21:21:34 +02:00

Merged #72 Content-similarity search surface over the CLIP index (closes #50) 2026-09-22 20:45:59 +02:00

Merged #70 Rebuild backup on the library API with a durable failure ledger 2026-09-22 20:21:50 +02:00

Merged #71 Bound the originals cache with adaptive LRU eviction (closes #47) 2026-09-22 20:13:22 +02:00

Merged #66 On-disk content and thumbnail cache with per-photo fetch and prefetch 2026-09-22 18:38:23 +02:00

Merged #69 Revert ML search (#50): it breaks make build (tsc) and reddened next 2026-09-22 18:21:55 +02:00

Merged #67 Content-similarity search surface over the CLIP index 2026-09-22 18:14:14 +02:00

Merged #65 Fetch, store, and index per-file ML data and CLIP embeddings (closes #49) 2026-09-22 17:54:42 +02:00

Merged #64 In-process read surface: albums, photos, and timeline grouping 2026-09-22 17:21:48 +02:00

Merged #63 Three bounded request pools for metadata, content, and thumbnails (closes #45) 2026-09-22 15:31:21 +02:00

Merged #62 Plain-record library snapshot and change subscription 2026-09-22 15:22:52 +02:00

Merged #61 Accumulate streamDecrypt reads linearly, not quadratically (closes #21) 2026-09-22 15:13:09 +02:00

Merged #60 Library.open with a transparent background refresh loop 2026-09-22 14:52:02 +02:00

Merged #59 Stream decrypted downloads to disk with bounded memory (closes #40) 2026-09-22 13:54:21 +02:00

Merged #58 On-disk JSON metadata store for the local cache (closes #41) 2026-09-22 12:52:51 +02:00

Merged #57 Resumable, deletion-aware collection and file enumeration (closes #38) 2026-09-22 12:37:11 +02:00

Merged #56 feat(download): durable atomic writer and per-chunk progress hook (closes #39) 2026-09-22 12:01:06 +02:00

Merged #55 Carry file size, thumbnail size, and deletion flag through decryptFile 2026-09-22 12:01:04 +02:00

1 Pull request proposed by 1 user

Proposed #134 next → main: docs brought in line with the code 2026-09-29 05:23:13 +02:00

70 Issues closed from 1 user

Closed #139 Run every build, test and lint step in the Dockerfiles at nice -n 19 2026-09-29 13:12:08 +02:00

Closed #137 TODO.md workflow: branch from and merge into next, not main 2026-09-29 05:54:37 +02:00

Closed #135 README development workflow: branch from and merge into next, not main 2026-09-29 05:38:37 +02:00

Closed #132 Bring README.md and TODO.md in line with next after the milestone merge 2026-09-29 05:22:58 +02:00

Closed #111 Bring README and TODO.md in line with the tree on next2 2026-09-29 03:12:33 +02:00

Closed #12 Add tests for the CLI (bin/quak.ts) 2026-09-29 03:12:33 +02:00

Closed #80 Retry classifier hardening and per-attempt deadline tests (from issue 24, items 3-9) 2026-09-29 03:12:33 +02:00

Closed #33 lint-once.test.ts misses the path CI actually runs, and its lockfile assertion checks the wrong branch 2026-09-29 03:12:33 +02:00

Closed #30 Run all linting in Docker via Dockerfile.lint + script/lint 2026-09-29 03:12:33 +02:00

Closed #29 make check runs prettier --check . twice 2026-09-29 03:12:33 +02:00

Closed #130 Test that the live-photo writer syncs its files before and after the rename 2026-09-28 18:45:49 +02:00

Closed #107 Live photos are saved as a ZIP under the image's extension 2026-09-28 18:06:01 +02:00

Closed #6 Package metadata for release: engines, exports, prepublishOnly 2026-09-23 14:17:53 +02:00

Closed #16 Decision needed: does quak publish to npm? 2026-09-23 13:50:31 +02:00

Closed #97 Review toward 1.0: identify and file all next steps 2026-09-23 10:08:10 +02:00

Closed #110 Test quak login and backup-metadata --exif 2026-09-23 09:27:41 +02:00

Closed #106 quak backup writes every original twice and precaches the whole account 2026-09-23 08:48:03 +02:00

Closed #100 backup-metadata and the thumbnail helpers answer from the cache without refreshing 2026-09-23 08:11:37 +02:00

Closed #99 backup does not wait for the server refresh and ignores its failure 2026-09-23 08:07:44 +02:00

Closed #102 CLI prints a raw stack trace instead of an error message 2026-09-23 07:33:26 +02:00

Closed #105 Opening a library deletes another process's download in progress 2026-09-23 07:25:29 +02:00

Closed #96 Re-vendor the lint and test setup from the canonical template (lint and test as Dockerfile phases) 2026-09-23 07:18:46 +02:00

Closed #109 fix-missing-thumbnails retries files the server will always refuse 2026-09-23 07:03:33 +02:00

Closed #117 Test the live-photo hash check against an unreadable ZIP and a missing image or video entry 2026-09-23 06:56:16 +02:00

Closed #108 quak logout leaves the session valid on the server 2026-09-23 06:51:12 +02:00

Closed #103 Backup album folders drop files with the same title and never remove old entries 2026-09-23 06:36:13 +02:00

Closed #68 Wire content-integrity hash comparison once the hash construction is confirmed 2026-09-23 06:16:58 +02:00

Closed #104 A cache directory reused by a second account mixes the two accounts' data 2026-09-23 05:56:15 +02:00

Closed #101 backup-metadata stops the whole dump when one ML data request fails 2026-09-23 05:49:38 +02:00

Closed #32 Rename LINT_EPOCH to CHECK_EPOCH in Dockerfile.lint (blocked on a policy ruling) 2026-09-23 05:28:05 +02:00

Closed #5 Single-source the version string 2026-09-23 05:07:47 +02:00

Closed #93 Test that close() waits for the originals precache sweep 2026-09-23 04:54:46 +02:00

Closed #90 Fix two intermittently failing library tests 2026-09-23 04:38:01 +02:00

Closed #89 Pin three guards reviewers found untested (download timer, URL fragment, short APP1 segment) 2026-09-23 03:44:46 +02:00

Closed #24 Retry/timeout follow-ups: idle deadline, reader cancellation, and classifier hardening 2026-09-23 03:14:42 +02:00

Closed #18 Unify URL construction in ApiClient 2026-09-23 02:57:42 +02:00

Closed #22 Atomic download writes: durability, orphan reaping, and untested failure paths 2026-09-23 02:44:48 +02:00

Closed #11 Harden the JPEG EXIF scanner against malformed input 2026-09-23 02:28:15 +02:00

Closed #19 Prune stale remote branches 2026-09-23 02:18:48 +02:00

Closed #25 make test silently runs the suite N+1 times when a git worktree exists inside the checkout 2026-09-23 02:18:32 +02:00

Closed #27 Drop the deprecated @types/libsodium-wrappers-sumo stub dependency 2026-09-23 02:15:08 +02:00

Closed #10 Client session handling: stop reaching into private state, validate snapshots, clear keys on logout 2026-09-23 02:08:02 +02:00

Closed #9 Sanitize server-controlled filenames used as output paths 2026-09-23 02:04:32 +02:00

Closed #15 Tag v1.0.0 2026-09-23 01:36:26 +02:00

Closed #7 listFiles can loop forever when the server stops advancing 2026-09-23 00:30:14 +02:00

Closed #13 Rewrite the README API reference to match the implementation 2026-09-23 00:27:35 +02:00

Closed #53 Rewrite the README API reference for the new library surface 2026-09-23 00:27:31 +02:00

Closed #17 fixMissingThumbnails assumes every file is a JPEG 2026-09-23 00:00:59 +02:00

Closed #52 Port the quak CLI to the new library API 2026-09-23 00:00:55 +02:00

Closed #75 Fresh read variants that await a server round-trip before resolving 2026-09-22 23:29:15 +02:00

Closed #54 Owner decision: quak (priority repo) is starved of worker capacity 2026-09-22 22:11:39 +02:00

Closed #48 Precache thumbnails for the whole account and originals for favorites and the latest week 2026-09-22 21:21:34 +02:00

Closed #50 Content-similarity search surface over the CLIP index 2026-09-22 20:45:59 +02:00

Closed #8 runBackup must not crash on symlink failure, and must repair partial originals 2026-09-22 20:21:54 +02:00

Closed #51 Rewrite the backup command on the library API with a durable failure ledger 2026-09-22 20:21:50 +02:00

Closed #47 Originals cache size limit with least-recently-used eviction 2026-09-22 20:13:22 +02:00

Closed #46 On-disk content and thumbnail cache, with per-photo fetch and thumbnail prefetch 2026-09-22 18:38:28 +02:00

Closed #49 Fetch and store machine-learning (magic) data and build the CLIP index 2026-09-22 17:54:42 +02:00

Closed #44 In-process read surface: albums, photos, and timeline grouping 2026-09-22 17:21:53 +02:00

Closed #45 Three bounded request pools for metadata, content, and thumbnails 2026-09-22 15:31:21 +02:00

Closed #43 Plain-record snapshot and change subscription for the library 2026-09-22 15:22:57 +02:00

Closed #42 Library.open with a background refresh loop and staleness window 2026-09-22 14:53:29 +02:00

Closed #40 Stream decrypted downloads to disk instead of buffering whole files in memory 2026-09-22 13:54:21 +02:00

Closed #21 streamDecrypt buffers quadratically: recopies the whole accumulated buffer on every network read 2026-09-22 13:54:21 +02:00

Closed #41 On-disk JSON metadata store for the local cache 2026-09-22 12:52:51 +02:00

Closed #38 Resumable, deletion-aware collection and file enumeration on Client 2026-09-22 12:37:11 +02:00

Closed #39 Download module: shared atomic writer with fsync, and per-chunk progress 2026-09-22 12:01:06 +02:00

Closed #37 Carry file size, thumbnail size, and deletion flag through file decryption 2026-09-22 12:01:04 +02:00

Closed #35 lint-once: run: >- block scalars are caught only by a test whose name does not say so 2026-09-05 11:32:54 +02:00

Closed #34 lint-once: sh -c indirection is not followed by the invocation walk 2026-09-05 11:32:54 +02:00

48 Issues created by 1 user

Opened #34 lint-once: sh -c indirection is not followed by the invocation walk 2026-09-04 14:12:21 +02:00

Opened #35 lint-once: run: >- block scalars are caught only by a test whose name does not say so 2026-09-04 14:12:22 +02:00

Opened #36 Design for review: a cache layer (SQLite metadata + on-disk content/thumbnail store) and a crash-safe backup on it 2026-09-10 13:17:05 +02:00

Opened #37 Carry file size, thumbnail size, and deletion flag through file decryption 2026-09-22 09:10:56 +02:00

Opened #38 Resumable, deletion-aware collection and file enumeration on Client 2026-09-22 09:10:57 +02:00

Opened #39 Download module: shared atomic writer with fsync, and per-chunk progress 2026-09-22 09:10:58 +02:00

Opened #40 Stream decrypted downloads to disk instead of buffering whole files in memory 2026-09-22 09:10:59 +02:00

Opened #41 On-disk JSON metadata store for the local cache 2026-09-22 09:11:00 +02:00

Opened #42 Library.open with a background refresh loop and staleness window 2026-09-22 09:11:02 +02:00

Opened #43 Plain-record snapshot and change subscription for the library 2026-09-22 09:11:03 +02:00

Opened #44 In-process read surface: albums, photos, and timeline grouping 2026-09-22 09:11:04 +02:00

Opened #45 Three bounded request pools for metadata, content, and thumbnails 2026-09-22 09:11:05 +02:00

Opened #46 On-disk content and thumbnail cache, with per-photo fetch and thumbnail prefetch 2026-09-22 09:11:06 +02:00

Opened #47 Originals cache size limit with least-recently-used eviction 2026-09-22 09:11:07 +02:00

Opened #48 Precache thumbnails for the whole account and originals for favorites and the latest week 2026-09-22 09:11:08 +02:00

Opened #49 Fetch and store machine-learning (magic) data and build the CLIP index 2026-09-22 09:11:10 +02:00

Opened #50 Content-similarity search surface over the CLIP index 2026-09-22 09:11:11 +02:00

Opened #51 Rewrite the backup command on the library API with a durable failure ledger 2026-09-22 09:11:12 +02:00

Opened #52 Port the quak CLI to the new library API 2026-09-22 09:11:13 +02:00

Opened #53 Rewrite the README API reference for the new library surface 2026-09-22 09:11:14 +02:00

Opened #54 Owner decision: quak (priority repo) is starved of worker capacity 2026-09-22 09:51:50 +02:00

Opened #68 Wire content-integrity hash comparison once the hash construction is confirmed 2026-09-22 18:05:32 +02:00

Opened #75 Fresh read variants that await a server round-trip before resolving 2026-09-22 22:55:49 +02:00

Opened #80 Retry classifier hardening and per-attempt deadline tests (from issue 24, items 3-9) 2026-09-23 01:55:01 +02:00

Opened #89 Pin three guards reviewers found untested (download timer, URL fragment, short APP1 segment) 2026-09-23 03:14:57 +02:00

Opened #90 Fix two intermittently failing library tests 2026-09-23 03:14:57 +02:00

Opened #93 Test that close() waits for the originals precache sweep 2026-09-23 04:24:17 +02:00

Opened #96 Re-vendor the lint and test setup from the canonical template (lint and test as Dockerfile phases) 2026-09-23 05:28:05 +02:00

Opened #97 Review toward 1.0: identify and file all next steps 2026-09-23 05:28:22 +02:00

Opened #99 backup does not wait for the server refresh and ignores its failure 2026-09-23 05:34:57 +02:00

Opened #106 quak backup writes every original twice and precaches the whole account 2026-09-23 05:34:58 +02:00

Opened #111 Bring README and TODO.md in line with the tree on next2 2026-09-23 05:34:58 +02:00

Opened #110 Test quak login and backup-metadata --exif 2026-09-23 05:34:58 +02:00

Opened #109 fix-missing-thumbnails retries files the server will always refuse 2026-09-23 05:34:58 +02:00

Opened #108 quak logout leaves the session valid on the server 2026-09-23 05:34:58 +02:00

Opened #107 Live photos are saved as a ZIP under the image's extension 2026-09-23 05:34:58 +02:00

Opened #105 Opening a library deletes another process's download in progress 2026-09-23 05:34:58 +02:00

Opened #104 A cache directory reused by a second account mixes the two accounts' data 2026-09-23 05:34:58 +02:00

Opened #103 Backup album folders drop files with the same title and never remove old entries 2026-09-23 05:34:58 +02:00

Opened #102 CLI prints a raw stack trace instead of an error message 2026-09-23 05:34:58 +02:00

Opened #101 backup-metadata stops the whole dump when one ML data request fails 2026-09-23 05:34:58 +02:00

Opened #100 backup-metadata and the thumbnail helpers answer from the cache without refreshing 2026-09-23 05:34:58 +02:00

Opened #117 Test the live-photo hash check against an unreadable ZIP and a missing image or video entry 2026-09-23 06:17:09 +02:00

Opened #130 Test that the live-photo writer syncs its files before and after the rename 2026-09-28 18:06:41 +02:00

Opened #132 Bring README.md and TODO.md in line with next after the milestone merge 2026-09-29 03:14:12 +02:00

Opened #135 README development workflow: branch from and merge into next, not main 2026-09-29 05:25:19 +02:00

Opened #137 TODO.md workflow: branch from and merge into next, not main 2026-09-29 05:40:28 +02:00

Opened #139 Run every build, test and lint step in the Dockerfiles at nice -n 19 2026-09-29 13:02:20 +02:00