Commit Graph
16 Commits
Author SHA1 Message Date
XingfenD 505f660dbd fix: self-heal missing library root on access; accept .zip in admin upload picker 2026-09-07 20:16:26 +08:00
XingfenD cc66a648b0 fix(web): logout-path parity, CSP header, epub display fallback + small review nits 2026-09-07 17:17:33 +08:00
XingfenD 96e96fec51 feat(web): pwa offline caching, dockerized SPA, full-stack nginx smoke 2026-09-07 16:33:50 +08:00
XingfenD 1bd7688ee6 feat(web): admin users CRUD + libraries create/scan/upload 2026-09-07 16:18:58 +08:00
XingfenD 4f4eff871c feat(web): epub reader via epubjs arraybuffer bootstrap with cfi progress 2026-09-07 16:15:10 +08:00
XingfenD de3015e537 feat(web): pdf reader with dpr-aware canvas rendering and keyboard paging 2026-09-07 16:08:49 +08:00
XingfenD b2e40a5049 feat(web): txt/md reader with dompurified markdown and scroll-fraction progress 2026-09-07 16:04:37 +08:00
XingfenD 654e4febf1 feat(web): cbz reader — virtual scroll with height correction, prefetch, progress restore 2026-09-07 15:58:01 +08:00
XingfenD 97f6d2d3b6 feat(web): throttled progress saver with keepalive flush, reader dispatch shell 2026-09-07 15:47:11 +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