mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-03-01 05:29:41 +00:00
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 |
||
|---|---|---|
| .. | ||
| ApiKeyController.js | ||
| AuthorController.js | ||
| BackupController.js | ||
| CacheController.js | ||
| CollectionController.js | ||
| CustomMetadataProviderController.js | ||
| EmailController.js | ||
| FileSystemController.js | ||
| LibraryController.js | ||
| LibraryItemController.js | ||
| MeController.js | ||
| MiscController.js | ||
| NotificationController.js | ||
| PlaylistController.js | ||
| PodcastController.js | ||
| RSSFeedController.js | ||
| SearchController.js | ||
| SeriesController.js | ||
| SessionController.js | ||
| ShareController.js | ||
| StatsController.js | ||
| ToolsController.js | ||
| UserController.js | ||