Commit Graph

102 Commits

Author SHA1 Message Date
fc9c220be6 perf: stream Stripstream images and increase image fetch timeout
Some checks failed
Build, Push & Deploy / deploy (push) Failing after 3s
Stream image responses directly to the client instead of buffering the
entire image in memory, reducing perceived latency. Increase image fetch
timeout from 15s to 60s to avoid AbortError on slow page loads.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 17:53:37 +01:00
7e4c48469a feat: enhance Stripstream configuration handling
- Introduced a new resolver function to streamline fetching Stripstream configuration from the database or environment variables.
- Updated various components and API routes to utilize the new configuration resolver, improving code maintainability and reducing direct database calls.
- Added optional environment variables for Stripstream URL and token in the .env.example file.
- Refactored image loading logic in the reader components to improve performance and error handling.
2026-03-11 21:25:58 +01:00
7d0f1c4457 feat: add multi-provider support (Komga + Stripstream Librarian)
Some checks failed
Deploy with Docker Compose / deploy (push) Has been cancelled
- Introduce provider abstraction layer (IMediaProvider, KomgaProvider, StripstreamProvider)
- Add Stripstream Librarian as second media provider with full feature parity
- Migrate all pages and components from direct Komga services to provider factory
- Remove dead service code (BaseApiService, HomeService, LibraryService, SearchService, TestService)
- Fix library/series page-based pagination for both providers (Komga 0-indexed, Stripstream 1-indexed)
- Fix unread filter and search on library page for both providers
- Fix read progress display for Stripstream (reading_status mapping)
- Fix series read status (books_read_count) for Stripstream
- Add global search with series results for Stripstream (series_hits from Meilisearch)
- Fix thumbnail proxy to return 404 gracefully instead of JSON on upstream error
- Replace duration-based cache debug detection with x-nextjs-cache header

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 11:48:17 +01:00
3d7ac0c13e feat: add global Komga search autocomplete in header
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 5m50s
2026-03-04 13:46:02 +01:00
26021ea907 refactor: replace book details GET route with server action
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 6m16s
2026-02-28 12:21:07 +01:00
5eba969846 refactor: remove unused series details GET API route 2026-02-28 12:18:24 +01:00
9a11ab16bb refactor: remove unused user profile GET API route 2026-02-28 12:15:54 +01:00
70a77481e5 refactor: remove unused home GET API route 2026-02-28 12:14:28 +01:00
b1e0e18d9e refactor: replace random-book GET route with server action 2026-02-28 12:10:15 +01:00
e5497b4f58 refactor: migrate paginated library and series flows to server-first 2026-02-28 12:08:20 +01:00
612a70ffbe chore: resolve lint warnings with targeted type and rule fixes 2026-02-28 11:59:30 +01:00
29f5324bd7 refactor: remove client-only GET API routes for lot 1 2026-02-28 11:43:11 +01:00
7f361ce0a2 refactor: delete unused GET /api/komga/config route
Some checks failed
Deploy with Docker Compose / deploy (push) Failing after 2s
2026-02-28 11:13:45 +01:00
eec51b7ef8 refactor: convert Komga test connection to Server Action
- Add testKomgaConnection to config.ts
- Update KomgaSettings to use Server Action
- Remove api/komga/test route
2026-02-28 11:09:48 +01:00
b40f59bec6 refactor: convert admin user management to Server Actions
- Add src/app/actions/admin.ts with updateUserRoles, deleteUser, resetUserPassword
- Update EditUserDialog, DeleteUserDialog, ResetPasswordDialog to use Server Actions
- Remove admin users API routes (PATCH/DELETE/PUT)
2026-02-28 11:06:42 +01:00
7134c069d7 refactor: convert auth register to Server Action
- Add src/app/actions/auth.ts with registerUser
- Update RegisterForm to use Server Action
- Remove api/auth/register route
2026-02-28 11:01:13 +01:00
b815202529 refactor: convert password change to Server Action
- Add src/app/actions/password.ts with changePassword
- Update ChangePasswordForm to use Server Action
- Remove api/user/password route (entire file)
2026-02-28 10:59:00 +01:00
0548215096 refactor: convert Komga config to Server Action
- Add src/app/actions/config.ts with saveKomgaConfig
- Update KomgaSettings to use Server Action
- Remove POST from api/komga/config route (keep GET)
2026-02-28 10:56:52 +01:00
6180f9abb1 refactor: convert library scan to Server Action
- Add src/app/actions/library.ts with scanLibrary
- Update ScanButton to use Server Action
- Remove POST from api/komga/libraries/[libraryId]/scan route
2026-02-28 10:53:41 +01:00
d56b0fd7ae refactor: convert preferences to Server Action
- Add src/app/actions/preferences.ts with updatePreferences
- Update PreferencesContext to use Server Action
- Remove PUT from api/preferences route (keep GET)
2026-02-28 10:50:32 +01:00
7308c0aa63 refactor: convert favorites to Server Actions
- Add src/app/actions/favorites.ts with addToFavorites and removeFromFavorites
- Update SeriesHeader to use Server Actions instead of fetch
- Keep API route GET only (POST/DELETE removed)
2026-02-28 10:46:03 +01:00
546f3769c2 refactor: remove unused read-progress API route 2026-02-28 10:36:58 +01:00
ecce0a9738 fix: invalidate home cache when updating read progress
- Add cache tags support to BaseApiService
- Tag home data with 'home-data' tag in HomeService
- Use revalidateTag('home-data', 'max') after read progress updates
- With 'max' profile: serve stale while fetching fresh in background
2026-02-28 10:16:12 +01:00
0c3a54c62c feat: perf optimisation
Some checks failed
Deploy with Docker Compose / deploy (push) Failing after 2s
2026-02-27 16:23:05 +01:00
b9c8b05bc8 fix: resolve komga api errors 2026-02-27 09:02:11 +01:00
Julien Froidefond
ad11bce308 revert: restore page-by-page download method (old method works better) 2026-01-04 11:39:55 +01:00
Julien Froidefond
1ffe99285d feat: add fflate library for file decompression and implement file download functionality in BookOfflineButton component
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 5m18s
2026-01-04 11:32:48 +01:00
Julien Froidefond
117ad2d0ce fix: enhance error handling in read progress update by validating request body and returning appropriate error responses
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 10m22s
2026-01-03 22:06:28 +01:00
Julien Froidefond
512e9a480f refactor: remove caching-related API endpoints and configurations, update preferences structure, and clean up unused services
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 7m22s
2026-01-03 18:55:12 +01:00
Julien Froidefond
181240cd5f feat: add cache invalidation for series after updating or deleting read progress, and enhance BookGrid and BookList components with refresh functionality 2025-12-07 18:49:16 +01:00
Julien Froidefond
c76d960dca refactor: remove HTTP Cache-Control headers and revalidate settings from API routes to streamline caching strategy and avoid conflicts with server-side caching 2025-12-07 11:36:50 +01:00
Julien Froidefond
39e3328123 chore: update various components and services for improved functionality and consistency, including formatting adjustments and minor refactors 2025-12-07 09:54:05 +01:00
Julien Froidefond
8ccd13465f refactor: improve request deduplication by returning buffer and content type for better response handling 2025-10-31 13:13:22 +01:00
Julien Froidefond
349448ef69 feat: implement request deduplication and concurrency management in image loading for improved performance 2025-10-31 13:07:37 +01:00
Julien Froidefond
52350a43d9 feat: add logging enhancements by integrating pino and pino-pretty for improved error tracking and debugging across the application 2025-10-26 06:15:47 +01:00
Julien Froidefond
0c080bd525 feat: implement image caching mechanism with configurable cache duration and flush functionality 2025-10-19 10:36:19 +02:00
Julien Froidefond
7d9bac5c51 feat: add scan library functionality and related error handling in LibraryHeader and services 2025-10-19 09:55:07 +02:00
Julien Froidefond
e923343f08 feat: implement random book background feature in ClientLayout, allowing dynamic background images from selected Komga libraries 2025-10-18 22:37:59 +02:00
Julien Froidefond
816abe2b90 feat: add cache entries API and enhance CacheSettings component with server and service worker cache previews 2025-10-18 13:45:15 +02:00
Julien Froidefond
b7704207ec feat: add caching debug logs and configurable max concurrent requests for Komga API to enhance performance monitoring 2025-10-18 09:08:41 +02:00
Julien Froidefond
ae4b766085 feat: implement caching strategy for API responses and adjust loading timeout in CoverClient for improved performance 2025-10-17 23:20:42 +02:00
Julien Froidefond
592aadf4ab feat: refactor book page to use ClientBookPage component and enhance data fetching with next book information 2025-10-17 16:18:38 +02:00
Julien Froidefond
c370b8372a feat: implement DELETE API endpoints for cache invalidation in libraries and series, updating ClientLibraryPage and ClientSeriesPage to utilize these endpoints 2025-10-17 10:28:56 +02:00
Julien Froidefond
946b495ce2 feat: implement DELETE API endpoint for cache invalidation in HomeService and update ClientHomePage to utilize it 2025-10-17 10:12:50 +02:00
Julien Froidefond
e396503ddb refactor: simplify HomePage and LibraryPage components by integrating ClientHomePage and ClientLibraryPage, enhancing data fetching and error handling 2025-10-17 08:46:19 +02:00
Julien Froidefond
bf94c29bc6 fix: handle missing Komga configuration gracefully by returning an empty array instead of an error in API routes 2025-10-17 08:37:08 +02:00
Julien Froidefond
f636a7b112 feat: add cache size retrieval functionality and display in CacheSettings component 2025-10-17 08:23:27 +02:00
Julien Froidefond
9899789fce feat: add admin role management with user authentication checks and update sidebar for admin access 2025-10-16 22:39:04 +02:00
Julien Froidefond
83f523c11a feat: implement user account management features including profile display and password change functionality 2025-10-16 22:27:06 +02:00
Julien Froidefond
7426bfb33c feat: integrate NextAuth for authentication, refactor login and registration processes, and enhance middleware for session management 2025-10-16 15:50:37 +02:00