Commit Graph
190 Commits
Author SHA1 Message Date
XingfenD 052b94bb6a docs(plan): lazy import lands with first reader wiring (noUnusedLocals) 2026-09-07 15:49:44 +08:00
XingfenD 97f6d2d3b6 feat(web): throttled progress saver with keepalive flush, reader dispatch shell 2026-09-07 15:47:11 +08:00
XingfenD 36a2014a8b docs(plan): shelf scan button carries isAdmin guard (constraint governs) 2026-09-07 15:44:25 +08:00
XingfenD bc81b03d6a fix(web): hide scan trigger from members per admin-only write rule 2026-09-07 15:44:08 +08:00
XingfenD cf512b7d5a feat(web): shelf with library tabs, search, dir groups, covers, continue-reading, admin delete/scan 2026-09-07 15:40:03 +08:00
XingfenD 63b41f333e feat(web): authed blob image pipeline with LRU, cover card, dir grouping 2026-09-07 15:36:19 +08:00
XingfenD b231b62720 fix(web): login honors from-path redirect; me-error clears stored token 2026-09-07 15:32:13 +08:00
XingfenD c34289ebbe feat(web): auth context, login page, route guards, toast/error shell 2026-09-07 15:27:11 +08:00
XingfenD 2f0fc25c7c feat(web): typed api client with bearer token, 401 logout, binary channels 2026-09-07 15:23:18 +08:00
XingfenD 0cc040d750 feat(web): vite+react+ts+tailwind4 scaffold, vitest, /api dev proxy 2026-09-07 15:19:02 +08:00
XingfenD b730b7acb4 docs(plan): frontend Plan 2 — shelf, four readers, admin, PWA, dockerized SPA 2026-09-07 15:14:58 +08:00
XingfenD b09bcf5772 merge: booklib backend Plan 1 (scaffold→scanner→API→deploy, e2e smoke green) 2026-09-07 13:05:52 +08:00
XingfenD e0783e5e6a chore: smoke tmpdir hygiene, seed pw floor, README 2026-09-07 12:44:47 +08:00
XingfenD 93638ed647 fix(api): classify DB errors in library paths 2026-09-07 12:44:47 +08:00
XingfenD 12f6e82308 fix(api): lazy cover self-heal + tmp-file skip 2026-09-07 12:44:47 +08:00
XingfenD 4b40dd669b fix(redis): lock acquisition fails open per spec §9 2026-09-07 12:44:47 +08:00
XingfenD 6adbab44c3 fix(security): trusted-proxy-scoped login rate limit 2026-09-07 12:44:47 +08:00
XingfenD f7c27272ba fix(deploy): app-owned cache/books dirs in image + .dockerignore 2026-09-07 12:18:49 +08:00
XingfenD 94b215c2b3 feat(deploy): compose w/ nginx api-prefix ingress, scaled stateless api, e2e smoke 2026-09-06 19:59:27 +08:00
XingfenD a11bf28155 fix(backend): dbErr 503 degradation for connection-class DB errors 2026-09-06 19:53:19 +08:00
XingfenD 04095b5438 feat(backend): main wiring, graceful shutdown, local smoke green 2026-09-06 19:52:42 +08:00
XingfenD 8f18072843 feat(backend): reading progress upsert + listing, path-keyed survival 2026-09-05 20:59:11 +08:00
XingfenD 8206c7a4ed fix(backend): single error body on pages paths, reject newline entry names, empty-index cache skip 2026-09-05 20:56:05 +08:00
XingfenD 0946f6be5a feat(backend): cover/file/pages endpoints — immutable URLs, Range, disk+redis caches 2026-09-05 00:48:40 +08:00
XingfenD 249619b857 feat(backend): book list/detail/delete with embedded progress + cache cleanup 2026-09-05 00:42:08 +08:00
XingfenD 193d7612b5 feat(backend): directory scanner — diff, error state, covers, cache sweep, redis lock 2026-09-05 00:31:32 +08:00
XingfenD 4e84a8aeb7 feat(backend): immutable cache dir scheme + stale sweep 2026-09-05 00:23:57 +08:00
XingfenD b02ca67d16 feat(backend): cover extraction for cbz and epub (opf cover-image/meta) 2026-09-05 00:23:02 +08:00
XingfenD 589cb210bb feat(backend): zip page index with natural sort, zip-slip rejection, content hash 2026-09-05 00:22:13 +08:00
XingfenD ed4ee2458f feat(backend): user + library admin API, atomic sanitized upload 2026-09-05 00:16:33 +08:00
XingfenD 51735680e0 test(backend): setupAPI points BooksDir at os.TempDir and resets shared loginrl key 2026-09-05 00:16:33 +08:00
XingfenD 18e31396f3 fix(backend): login timing-guard uses a valid bcrypt hash so the compare actually runs 2026-09-04 23:59:39 +08:00
XingfenD bc88cabc47 feat(backend): jwt middleware, login with redis rate limit, /auth/me 2026-09-04 23:58:26 +08:00
XingfenD a2f202ada6 fix(backend): seed admin tolerates only unique-violation, propagates other errors 2026-09-04 23:54:48 +08:00
XingfenD a20b32fe26 docs(plan): test suite command uses -p 1 (shared-PG destructive fixtures race) 2026-09-04 23:54:03 +08:00
XingfenD b224288dae feat(backend): bcrypt+jwt auth package and admin seeding 2026-09-04 23:50:52 +08:00
XingfenD c1761d0f3e feat(backend): pg schema + store queries incl. path-keyed progress 2026-09-04 23:48:05 +08:00
XingfenD d4972d6d4c docs(plan): fix unclosed code fence in Task 2, bump api build image to golang:1.26 2026-09-04 23:43:19 +08:00
XingfenD ad934d9812 feat(backend): module scaffold, config, gin router with healthz 2026-09-04 23:39:31 +08:00
XingfenD 2458c9ca4d docs: book-comic-library spec + backend implementation plan 2026-09-04 23:36:04 +08:00