Commit Graph

  • 2039608c07 Refresh vendored REPO_POLICIES.md from prompts repo main 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
  • 68d8cfb7fe Green: treat empty-string 2FA session fields as absent sneak 2026-06-10 11:26:15 -07:00
  • 2c51074294 Red: mock server must serialize empty 2FA fields like Go does sneak 2026-06-10 11:25:25 -07:00
  • 0d0dcf5987 Merge: TOTP login for accounts that also have passkeys sneak 2026-06-10 11:05:39 -07:00
  • 9fd7b6a857 Green: prefer TOTP via twoFactorSessionIDV2 when passkey also enrolled sneak 2026-06-10 11:05:36 -07:00
  • 0024631ef3 Red: test TOTP preference when account has both passkey and TOTP sneak 2026-06-10 11:04:49 -07:00
  • 3d76bd092f Use @inquirer/prompts for interactive login input sneak 2026-06-10 10:54:17 -07:00
  • 3d6742945b Add make install: copies compiled binary to ~/bin sneak 2026-06-10 10:45:59 -07:00
  • 6171d275e9 Merge: replace sharp with pure JS, add single-binary build sneak 2026-06-10 10:44:37 -07:00
  • 25d3c612cf Replace sharp with jpeg-js + exif-reader; add bun compile binary sneak 2026-06-10 10:44:26 -07:00
  • 5e6069f574 ML data always included in backup-metadata; remove --no-ml sneak 2026-06-09 17:42:30 -04:00
  • 21a1a78f07 ML data included by default, --exif is the opt-in, --all aliases --exif sneak 2026-06-09 17:38:15 -04:00
  • 8cd57f4d12 Merge: backup-metadata --ml and --exif flags sneak 2026-06-09 17:35:44 -04:00
  • c8e7971445 Add --ml and --exif flags to backup-metadata sneak 2026-06-09 17:35:35 -04:00
  • 73bfec5a9e Merge: quak backup-metadata command sneak 2026-06-09 12:41:43 -04:00
  • f3958e911d Add quak backup-metadata: dump all decrypted metadata to plain JSON sneak 2026-06-09 12:41:34 -04:00
  • 6729e8bdc3 Merge: README rewrite to match current implementation sneak 2026-06-09 12:35:47 -04:00
  • 16ea7b1f03 Rewrite README to match current implementation sneak 2026-06-09 12:35:40 -04:00
  • ebd247696b Merge: thumbnail helpers with tests sneak 2026-06-09 12:29:41 -04:00
  • 6cb679d62f Add tests for thumbnail-helpers branch (20 new tests) sneak 2026-06-09 12:29:24 -04:00
  • 4a47308dd5 Merge: thumbnail helper commands fix-readme-and-priority-items sneak 2026-05-13 21:00:45 -07:00
  • e9a56d5c8d Add quak helper list-missing-thumbnails and fix-missing-thumbnails thumbnail-helpers sneak 2026-05-13 21:00:35 -07:00
  • fbd5099d49 Regenerate yarn.lock for commander + env-paths deps sneak 2026-05-13 20:50:55 -07:00
  • bf0eca4b80 Merge: complete CLI command surface sneak 2026-05-13 20:49:23 -07:00
  • ec2d12b986 Add collections, files, get, get-thumb CLI commands sneak 2026-05-13 20:49:13 -07:00
  • 5499effa91 Merge: decrypt magic metadata + per-file JSON in backups sneak 2026-05-13 19:07:26 -07:00
  • d4098c711a Decrypt and persist all file metadata layers sneak 2026-05-13 19:07:16 -07:00
  • 7baa9b585a Merge: CLI with login + backup sneak 2026-05-13 18:47:17 -07:00
  • 8ee1be1cc2 CLI: quak login + quak backup with dedup symlink layout sneak 2026-05-13 18:47:06 -07:00
  • 30a13eeeaf CLI red: backup tests, commander + env-paths deps, stub sneak 2026-05-13 18:36:07 -07:00
  • c1b1d12bcc Rename quack to quak in .gitignore sneak 2026-05-13 18:04:35 -07:00
  • f493918777 Merge: rename quack to quak (Ente = duck, quak = German for quack) sneak 2026-05-13 18:03:03 -07:00
  • d8a4b0291e Rename quack to quak sneak 2026-05-13 18:02:55 -07:00
  • f87680cfd4 Merge: Client class (OO API) sneak 2026-05-13 18:01:21 -07:00
  • 58c8db4ea9 Update public exports and README for Client class sneak 2026-05-13 18:01:18 -07:00
  • a8641cbfe8 Client class green: OO API wrapping the entire library sneak 2026-05-13 18:00:10 -07:00
  • ca6857d3fe Client class red: literate usage tests and stub sneak 2026-05-13 17:59:18 -07:00
  • 3b04a8134f Merge: Phase 6 file download and decryption sneak 2026-05-13 17:54:21 -07:00
  • 75af244815 Tick off Phase 6 download TODO sneak 2026-05-13 17:54:19 -07:00
  • f55d216252 Phase 6 green: download and decrypt files to disk sneak 2026-05-13 17:54:03 -07:00
  • 8f4afb06c0 Phase 6 red: file download + decryption tests sneak 2026-05-13 17:40:51 -07:00
  • cfeec0a009 Merge: Phase 5 collection and file decryption sneak 2026-05-13 17:38:39 -07:00
  • 9ea829aaa6 Tick off Phase 5 collection/file decryption TODO sneak 2026-05-13 17:38:36 -07:00
  • 44718a92a9 Fix file metadata decryption: use secretstream blob, not secretbox sneak 2026-05-13 17:38:18 -07:00
  • f81216333e Phase 5 red: collection and file decryption tests sneak 2026-05-13 17:12:46 -07:00
  • ab6e59bd4d Merge: fix auth token encoding (URL-safe base64 with padding) sneak 2026-05-13 17:10:11 -07:00
  • e3e40229a5 Fix auth token encoding: use URL-safe base64 WITH padding sneak 2026-05-13 17:10:04 -07:00
  • e182d95d80 Merge: Phase 3b SRP login flow sneak 2026-05-11 10:11:39 -07:00
  • 22260c142f Tick off Phase 3 SRP + auth TODO sneak 2026-05-11 10:11:37 -07:00
  • dcec9b92ad Phase 3b green: implement login flow (SRP + email OTP + TOTP) sneak 2026-05-11 10:11:19 -07:00
  • 75b57cfb29 Phase 3b red: login flow tests with SRP mock server sneak 2026-05-11 01:04:10 -07:00
  • 7d19d16b1b Merge: Phase 4 ApiClient sneak 2026-05-11 01:02:15 -07:00
  • 87ff5f3108 Tick off Phase 4 ApiClient TODO sneak 2026-05-11 01:02:13 -07:00
  • 0f70409fd8 Phase 4 green: implement ApiClient sneak 2026-05-11 01:02:03 -07:00
  • ef3f10fecc Phase 4 red: ApiClient tests and stub sneak 2026-05-11 01:01:34 -07:00
  • d8466be0a7 Merge: Phase 3a auth/unwrap sneak 2026-05-11 00:59:45 -07:00
  • 78fdabe54a Phase 3a green: implement auth.unwrapAuth sneak 2026-05-11 00:59:43 -07:00
  • 6386a0ec9f Phase 3a red: auth.unwrapAuth tests and stub sneak 2026-05-11 00:58:27 -07:00
  • 2e2238fa5f Merge: Phase 2 crypto primitives sneak 2026-05-09 12:45:55 -07:00
  • 52c2fa844c Tick off Phase 2 crypto primitives TODO sneak 2026-05-09 12:45:53 -07:00
  • 8aecf977e9 Phase 2 green: implement crypto primitives sneak 2026-05-09 12:44:59 -07:00
  • 676d42c5eb Phase 2 red: crypto primitive tests and stub modules sneak 2026-05-09 12:43:52 -07:00
  • 64a3ace33a Add libsodium-wrappers-sumo runtime dependency sneak 2026-05-09 21:40:38 +02:00
  • 5fc01f4558 Merge: relax pre-commit hook to support TDD red-phase commits sneak 2026-05-09 21:39:34 +02:00
  • 0d504294b5 Pre-commit hook runs lint+fmt-check, not full check (TDD) sneak 2026-05-09 21:39:32 +02:00
  • 22c80d07ee Merge: TDD development workflow sneak 2026-05-09 21:37:40 +02:00
  • 3ccb00d6c8 Mandate TDD in README development workflow sneak 2026-05-09 21:37:33 +02:00
  • b35c677e23 Merge initial scaffolding sneak 2026-05-09 21:33:08 +02:00
  • 42cc1f4a77 Tick off Phase 1 scaffolding TODO items in README sneak 2026-05-09 21:32:32 +02:00
  • d64db876ca Add Gitea Actions workflow that runs docker build on push sneak 2026-05-09 21:31:01 +02:00
  • 7d087ba7f9 Add Dockerfile pinning node:22-alpine by sha256 sneak 2026-05-09 21:31:00 +02:00
  • d7d3cd1af7 Add Makefile with check, build, docker, hooks targets sneak 2026-05-09 21:30:34 +02:00
  • 47cdb5ca8b Add JS toolchain: TypeScript, ESLint, Prettier, Vitest sneak 2026-05-09 21:29:13 +02:00
  • 65b5124cf5 gitignore: ignore .claude/ local agent settings sneak 2026-05-09 21:29:09 +02:00
  • ed8b3a8fff Reflow README to prettier 80-column prose wrap sneak 2026-05-09 21:29:08 +02:00
  • fde1a1da29 Add editor, prettier, and ignore dotfiles sneak 2026-05-09 21:27:16 +02:00
  • 31f092b7bc Add REPO_POLICIES.md from sneak/prompts (synced 2026-05-09) sneak 2026-05-09 21:27:03 +02:00
  • 0146ee4ea2 Add WTFPL license sneak 2026-05-09 21:27:03 +02:00
  • 64108536fb Expand README: desktop-client motivation and API reference sneak 2026-05-09 21:25:05 +02:00
  • 0006af4f70 Initial commit: README with project spec and implementation plan sneak 2026-05-09 18:57:58 +02:00