XingfenD
  • Joined on 2026-07-15
XingfenD pushed to feat/ui-redesign at XingfenD/book-comic-library 2026-09-08 11:53:32 +00:00
7e0847815d docs(changelog): phase-1 modern redesign — shadcn tokens, dual theme, app shell, rebuilt public surfaces
XingfenD pushed to feat/ui-redesign at XingfenD/book-comic-library 2026-09-08 11:33:12 +00:00
7727baa25b fix(web): theme menu items fire on keyboard select (onSelect)
dcaf502de6 feat(ui): admin pages on shadcn table/card/alert-dialog; drop TopBar, trim icons/ui.ts to reader-compat surface
273f35a42f fix(web): shelf search debounce merges against live searchParams (no lost sort/group clicks)
b1c0db6c03 feat(ui): shelf rebuilt — sticky toolbar (search/sort/group in URL), rail, menu cards, alert-dialog delete
d9e9e95ece feat(ui): login rebuilt on shadcn card/label/input, theme toggle available pre-auth
Compare 12 commits »
XingfenD pushed to feat/ui-redesign at XingfenD/book-comic-library 2026-09-08 08:25:01 +00:00
2721df8ea9 fix(web): upload toast always showed 0 files (live FileList read after input reset); snapshot before upload
XingfenD pushed to feat/ui-redesign at XingfenD/book-comic-library 2026-09-08 07:48:45 +00:00
e5dacc0a77 fix(cbz): clamp locked cur at chapter end, hide 连读 on flat packs, silent restore, tighten prefetch storage
60c4ccf26f fix(cbz): window-relative scroll geometry locks head boundary; default prefetch 2 when key absent
f63b639f64 feat(cbz): chapter-scoped continuous reading — lock scroll at chapter end, screen paging, prefetch next N chapters; drop 连读/整页/适高 modes
cd251b940c feat(cbz): pure chapter-window helpers (chapterIndexAt/chapterWin) with table tests
bba82e5529 docs(plan): correct container names to podman compose underscores
Compare 8 commits »
XingfenD pushed to feat/ui-redesign at XingfenD/book-comic-library 2026-09-08 05:15:35 +00:00
ec3f2c587e feat(reader): remove admin delete button from reader header; shelf card hover remains the only delete entry
XingfenD created branch feat/ui-redesign in XingfenD/book-comic-library 2026-09-08 05:06:38 +00:00
XingfenD pushed to feat/ui-redesign at XingfenD/book-comic-library 2026-09-08 05:06:38 +00:00
a43b73dcef fix(cbz): attach resize observer via callback ref + drop vh from scroll-mode geometry deps — fixes constant per-page gaps and refetch storm on mobile
32b9d3a136 feat(ui): content-first shelf redesign — responsive cover grid, hover overlays, format badges, skeletons, sticky blurred top bar, brand login, SVG icon set, animated toasts
Compare 2 commits »
XingfenD pushed to master at XingfenD/book-comic-library 2026-09-08 04:34:34 +00:00
02ac3e5f7f Merge branch 'feat/bookmarks'
40e9999e6a chore(bookmarks): changelog + e2e verification (create/jump/patch/delete against live api, seek page serves real jpeg)
d989668650 feat(bookmarks): shared useBookmarks panel + wired into all four readers
b2c5c4a445 feat(bookmarks): client plumbing — saver capture + bookmark api
0fe3bc3057 feat(bookmarks): api+store — per-user CRUD, owner-scoped 404, percent-ordered list
Compare 7 commits »
XingfenD pushed to master at XingfenD/book-comic-library 2026-09-07 16:27:56 +00:00
aa18eb66eb Merge branch 'feat/cbz-chapters'
66466ec8d1 Merge branch 'feat/chunked-upload'
b8da9fd92e feat(cbz): adapt reader to real archive structure — PageIndex skips macOS junk (__MACOSX/ and ._ AppleDouble were polluting pages with 163-byte blacks), pages endpoint derives chapters[{title,start}] from folder layout, imageless zip now lands state=error instead of an empty reader, CbzReader gains 目录 sidebar + prev/next chapter (TextReader pattern, rd-* classes); pagesidx cache key bumped for one-time invalidation; e2e on 311MB 調教開關:第二季.zip: 15048→7524 real pages, 52 chapters, all JPEGs
7d650107d2 feat(upload): resumable chunked upload protocol for large files — init(parts≤32MB)/status/complete endpoints with fingerprint-derived deterministic uploadId (same file resumes, no restart), sessions in BOOKS_DIR/.uploads with 24h sweep, frontend uploadBook auto-switches >16MB to 8MB parts (retry x3 in place, skip received); oversize single POST now reports honest 413 too_large instead of "multipart field 'file' required" (was MaxBytesReader abort mislabeled); UPLOAD_MAX_MB wired into both compose stacks (cap total, .env.example 2048), nginx body limit drops to 32m; testCfg limit 1MB, CJK/fullwidth-colon filename proven unaffected; e2e verified with 311MB real file (39 parts, sha1 match)
Compare 4 commits »
XingfenD pushed to master at XingfenD/book-comic-library 2026-09-07 15:18:29 +00:00
aba1e58fa6 Merge branch 'feat/reader-warm-theme'
c6dfb92c76 fix(cbz): smooth scrollbar/slider dragging — rAF-coalesce scroll handler, idle-debounced prefetch, frame-batched height corrections, PageHeights.setEst converges unseen pages to the first measured page size, page slider seeks instantly while scrubbing (no per-notch smooth-animation restart); restore lost ### Fixed header in changelog
065fde5b56 feat(reader): immersive chrome + WeChat-Read/Mihon-style bottom sheets — tap-center toggles header/toolbar, progress & page sliders seek anywhere, WYSIWYG theme swatches, A± font size; CBZ gains 连读/整页/适高 modes, edge-tap & arrow-key paging, persisted mode (seekChapter helper + test)
7e63c21902 feat(reader): stop detecting 卷 in txt splitting (volume lines stay body text, volume-only books fall back to pseudo-sections); replace chapter dropdown with a 目录 sidebar overlay (active row highlighted + centered, click-away/pick to close)
7fb01ce335 feat(ui): warm library palette (zinc+emerald -> stone+amber) with hover/focus feedback; text reader gains paper/sepia/night themes + persisted font-size (lib/readerPrefs.ts), serif justified measure; PDF drops emoji icons for 首页/末页, CBZ pill page counter, EPUB centered spread, blur reader header with format badge, aria labels on login/search/chapter select
Compare 5 commits »
XingfenD pushed to master at XingfenD/book-comic-library 2026-09-07 14:23:41 +00:00
2478da059b Merge branch 'fix/txt-chapters-render'
f47f2a6199 fix(reader): split large txt into chapters (章 as boundaries, 卷 as optgroup labels, pseudo-sections when unmarked) rendered one at a time so the browser stops freezing; decode via strict-UTF-8-then-GB18030 with UTF-16 BOM sniffing to kill mojibake; progress locator {ch,scrollFraction} with old global-fraction fallback
Compare 2 commits »
XingfenD pushed to master at XingfenD/book-comic-library 2026-09-07 13:59:59 +00:00
991de0ef26 Merge branch 'feat/server-generated-library-root'
45eefd6741 feat(libs): create library by name only; root_path derived server-side as BOOKS_DIR/SafeName(name), validated at creation; drop root_path input from admin UI; align changelogs to bilingual template; trim AGENTS.md to rules not derivable from repo layout
Compare 2 commits »
XingfenD pushed to master at XingfenD/book-comic-library 2026-09-07 13:37:39 +00:00
ca64bc0d73 refactor(repo): conform structure to AGENTS.md (web->frontend, internal/api->cmd/webui/{api,handlers}, docs/README+CHANGELOGs, module .gitignores, drop stray library/ and committed debug bins)
961de429f9 fix(deploy): pin distinct image tags per compose (booklib/{api,web}:{dev,prod}); same project name shared default tags so dev up without --build ran the prod image
Compare 2 commits »
XingfenD pushed to master at XingfenD/book-comic-library 2026-09-07 13:15:32 +00:00
95317a0108 docs(readme): rewrite run/dev/migrate instructions for dev/release deploy spec
0de824cc6a feat(deploy): dev compose runs full stack with source mounts, delve, shared volumes; vite proxy target via env (dlv --accept-multiclient, GOPROXY=goproxy.cn in dev image)
0ea918fae6 feat(deploy): release compose under deploy/ with shared named volumes and rendered config mounts; drop root compose
67dc4bc2bf feat(deploy): dev/prod Dockerfiles in service dirs (backend/,web/), templates live beside rendered outputs, entrypoint copies /etc/booklib conf before resolver injection
a78442da54 feat(deploy): prepare.sh + config templates, migrate env to deploy/, gitignore rendered outputs
Compare 6 commits »
XingfenD pushed to master at XingfenD/book-comic-library 2026-09-07 11:45:13 +00:00
6b3a4e5240 docs(plan): docker deploy conformance implementation plan (5 tasks); spec: smoke storage path item
e563c88913 docs(spec): docker deployment conformance redesign (dev/release compose, prepare.sh, shared volumes, storage path)
Compare 2 commits »
XingfenD pushed to master at XingfenD/book-comic-library 2026-09-07 09:31:49 +00:00
22ae1717f4 docs: tick completed plan checkboxes, mark spec as implemented
73af5c1d78 merge: booklib frontend Plan 2 (shelf, four readers, admin, PWA, dockerized SPA, web smoke green)
1adb596981 docs(plan): execution-time amendments log for plan2-frontend
cc66a648b0 fix(web): logout-path parity, CSP header, epub display fallback + small review nits
67c95e7bdc fix(deploy): runtime DNS re-resolution via resolv.conf-injected resolver, both runtimes
Compare 23 commits »
XingfenD created branch master in XingfenD/book-comic-library 2026-09-07 05:08:04 +00:00
XingfenD pushed to master at XingfenD/book-comic-library 2026-09-07 05:08:04 +00:00
b09bcf5772 merge: booklib backend Plan 1 (scaffold→scanner→API→deploy, e2e smoke green)
e0783e5e6a chore: smoke tmpdir hygiene, seed pw floor, README
93638ed647 fix(api): classify DB errors in library paths
12f6e82308 fix(api): lazy cover self-heal + tmp-file skip
4b40dd669b fix(redis): lock acquisition fails open per spec §9
Compare 10 commits »
XingfenD created repository XingfenD/book-comic-library 2026-09-07 05:07:48 +00:00
XingfenD pushed to master at XingfenD/yoresee_dropbox 2026-08-27 07:35:13 +00:00
8bcef95dd4 Merge branch 'feat/docker-support'
3171866344 chore: gitignore local .env file
1f8529badc feat: add Docker deployment support
Compare 3 commits »