audiobookshelf/server
clawdbot 2245d7e9c6 fix: server-side comic page extraction with caching
Fixes #3505 - Large comic books (300+ MB) were unusable due to
client-side extraction.

Changes:
- Add ComicCacheManager for server-side page extraction and caching
- Add GET /api/items/:id/comic-pages endpoint for page metadata
- Add GET /api/items/:id/comic-page/:page endpoint for individual pages
- Update ComicReader.vue to fetch pages on-demand from server
- Add browser-side preloading for adjacent pages

Before: Client downloads entire comic file, extracts in browser
After: Server extracts pages on-demand, caches to disk, streams to client

Performance improvements:
- Initial load: Only metadata request (~1KB) instead of full file (300MB+)
- Page turns: Single image request (~100KB-2MB) with disk caching
- Memory: No longer loads entire archive in browser memory
- Subsequent views: Cached pages served instantly from disk
2026-02-21 11:28:30 -05:00
..
auth Chnage Auth Expiry 2025-10-19 09:22:12 +02:00
controllers fix: server-side comic page extraction with caching 2026-02-21 11:28:30 -05:00
finders Fix Upload Lookup 2025-11-29 11:02:42 +01:00
libs Add fuse.basic.min.js in libs instead of full npm package, use lower threshold for quick matching 2025-06-13 17:23:24 -05:00
managers fix: server-side comic page extraction with caching 2026-02-21 11:28:30 -05:00
migrations Update API Keys to be tied to a user, add apikey lru-cache, handle deactivating expired keys 2025-06-30 14:53:11 -05:00
models Fix server crash on /me/progress/:libraryItemId/:episodeId? when episodeId is not passed in for a podcast library item #5058 2026-02-14 17:17:12 -06:00
objects Update Stream ac3/eac3 check 2025-11-08 17:08:43 -06:00
providers Fix server crash on audible match #4931 2025-12-23 16:44:29 -06:00
routers fix: server-side comic page extraction with caching 2026-02-21 11:28:30 -05:00
scanner Auto-formatting 2025-12-21 14:45:04 -06:00
utils Fix server crash filtering by decade with collapsed series 2025-12-24 17:07:05 -06:00
Auth.js Add additional debug logs for OIDC login 2025-08-15 17:23:20 -05:00
Database.js Update API Keys to be tied to a user, add apikey lru-cache, handle deactivating expired keys 2025-06-30 14:53:11 -05:00
Logger.js Simplify log level determination 2025-03-08 12:46:36 -07:00
Server.js fix: server-side comic page extraction with caching 2026-02-21 11:28:30 -05:00
SocketAuthority.js Replace cover search with streaming version 2025-10-02 13:30:03 +03:00
Watcher.js Add: generic function to ignor files 2025-02-22 12:28:51 -07:00