Commit Graph
10 Commits
Author SHA1 Message Date
mroberts 9d7b0e805c style: drop redundant comments and apply formatting
Frontend now uses double quotes and semicolons. No behaviour change.
2026-10-02 15:06:56 -05:00
mroberts d9b824851a chore: add mise format and lint tasks (ruff + Biome)
Tools are pinned in mise.toml. ruff.toml points first-party detection at backend/, since the frontend's src/auth, src/books and src/notes otherwise get matched as first-party. biome.json uses spaces to match the existing Prettier-style formatting. Also combines a nested with in test_passwords.py (ruff SIM117).
2026-10-02 15:06:56 -05:00
mroberts 63c9991421 style: format backend with black
Also drops the session-sliding comment in login_required.
2026-10-02 14:46:16 -05:00
mroberts 2512c67893 fix: cap request bodies, link login error, add book-form retry, guard double add
Limit request bodies to 1 MiB (413 JSON), wire aria-describedby on the
login form, add Retry and cancellation to the book form load, disable
Add entry while a note POST is in flight, and poll pg_isready in README.

Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:36:14 -05:00
mroberts e1096da1a7 feat: add per-book reading journal notes
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:21:26 -05:00
mroberts c7a6cae714 test: cover search escaping, genre filter, and isolation
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:19:41 -05:00
mroberts 6447251914 feat: add per-user books CRUD with progress and genres
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:17:46 -05:00
mroberts d8d71bf942 feat: add register/login/logout with revocable server-side sessions
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:15:24 -05:00
mroberts 7c09154b76 feat: add peppered PBKDF2 password hashing
Implements password hashing with PBKDF2-SHA256 and pepper-based additional security.
Includes password verification, rehash detection, and pepper loading from environment
or file.

Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:13:40 -05:00
mroberts b15448f109 feat: scaffold Flask + React app with schema and JSON error handling
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:11:37 -05:00