Add TODO.md
Some checks failed
check / check (push) Failing after 5s

This commit is contained in:
2026-07-06 20:35:46 +02:00
parent 6c26e3ccb7
commit 88510a3ff5

44
TODO.md Normal file
View File

@@ -0,0 +1,44 @@
# 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.