refactor(reader): serve pages as static files instead of base64 #4

Merged
colgora merged 1 commits from feat/reader-static-images into main 2026-03-09 22:07:35 +01:00
Owner

Replace the per-page API call (base64 payload) with static image URLs
served directly by Caddy from public/images/pages/{chapterId}/.

  • LocalImageStorage now stores to public/images/ (was MANGA_DATA_PATH)
  • LegacyChapterRepository returns /images/pages/{id}/{file} URLs,
    uses getimagesize() instead of loading file content into memory
  • Delete GetChapterPage query/handler/response, ChapterPageResource,
    ChapterPageProvider, PageContent model
  • Remove getPageContent() from ChapterRepositoryInterface
  • Frontend: loadChapter() fetches chapter + all pages in parallel,
    ReaderPage uses URL instead of base64 data URI, InfiniteReader drops
    lazy-load observer side effect, readerStore drops loadedPages/preload
  • GetChapterPagesTest: extract fixture images from CBZ at runtime,
    ignore tests/Fixtures/pages/ in .gitignore

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

Replace the per-page API call (base64 payload) with static image URLs served directly by Caddy from public/images/pages/{chapterId}/. - LocalImageStorage now stores to public/images/ (was MANGA_DATA_PATH) - LegacyChapterRepository returns /images/pages/{id}/{file} URLs, uses getimagesize() instead of loading file content into memory - Delete GetChapterPage query/handler/response, ChapterPageResource, ChapterPageProvider, PageContent model - Remove getPageContent() from ChapterRepositoryInterface - Frontend: loadChapter() fetches chapter + all pages in parallel, ReaderPage uses URL instead of base64 data URI, InfiniteReader drops lazy-load observer side effect, readerStore drops loadedPages/preload - GetChapterPagesTest: extract fixture images from CBZ at runtime, ignore tests/Fixtures/pages/ in .gitignore Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
colgora added 1 commit 2026-03-09 22:07:11 +01:00
Replace the per-page API call (base64 payload) with static image URLs
served directly by Caddy from public/images/pages/{chapterId}/.

- LocalImageStorage now stores to public/images/ (was MANGA_DATA_PATH)
- LegacyChapterRepository returns /images/pages/{id}/{file} URLs,
  uses getimagesize() instead of loading file content into memory
- Delete GetChapterPage query/handler/response, ChapterPageResource,
  ChapterPageProvider, PageContent model
- Remove getPageContent() from ChapterRepositoryInterface
- Frontend: loadChapter() fetches chapter + all pages in parallel,
  ReaderPage uses URL instead of base64 data URI, InfiniteReader drops
  lazy-load observer side effect, readerStore drops loadedPages/preload
- GetChapterPagesTest: extract fixture images from CBZ at runtime,
  ignore tests/Fixtures/pages/ in .gitignore

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
colgora merged commit 487f400418 into main 2026-03-09 22:07:35 +01:00
colgora deleted branch feat/reader-static-images 2026-03-09 22:07:35 +01:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: colgora/Mangarr#4