Files
quak/TODO.md
sneak 88510a3ff5
Some checks failed
check / check (push) Failing after 5s
Add TODO.md
2026-07-06 20:35:46 +02:00

1.8 KiB

Status

pre-1.0

Next Step

Implement the download retry policy from the README TODO: no retry on 4xx, exponential backoff on 5xx and network errors. Apply it to file and thumbnail downloads, cover it with mock-server tests, and update the README TODO checkbox.

Completed Steps

  • 2026-06-10: Decrypted collections shared by other users (sealed-box keys); listCollections drops deleted-collection tombstones.
  • 2026-06-10: Login hardening: dual-2FA empty-string fields handled, TOTP preferred when a passkey is also enrolled, interactive input via @inquirer/prompts.
  • 2026-06-10: Replaced sharp with pure JS (jpeg-js + exif-reader); added single-binary bun build and make install.
  • 2026-06-09: Added backup-metadata command (ML data always included, --exif opt-in); rewrote README to match the implementation; added thumbnail helper tests.
  • 2026-05-13: Full CLI surface: login, backup with dedup symlink layout, collections, files, get, get-thumb, thumbnail repair helpers.
  • 2026-05-13: Client OO API with literate usage tests; file download and decryption; all three metadata layers decrypted and persisted; renamed quack to quak.
  • 2026-05-11: SRP login flow (email OTP + TOTP) and ApiClient.

Future Steps

  • Retry policy: no retry on 4xx, exponential backoff on 5xx and network errors (the Next Step).
  • Update the README API reference section to match the current implementation.
  • Make make docker green.
  • Tag v1.0.0.
  • Future desktop client, separate repo:
    • Electron app skeleton consuming this library.
    • Local SQLite cache keyed on (collectionID, fileID, updationTime).
    • Background sync worker streaming new files into the cache.
    • Gallery UI: thumbnails, full-image view, basic search.
    • Upload, delete, and share operations in the library.