Commit Graph

191 Commits

Author SHA1 Message Date
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
818fe67c99 fix: add ios startup splash coverage for modern devices
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m50s
2026-03-04 08:23:43 +01:00
06848d2c3a feat: apply new branding logo across app and pwa assets 2026-03-04 08:21:25 +01:00
4e8c8ebac0 fix: make next-book lookup non-blocking when opening reader 2026-03-04 07:05:04 +01:00
99d9f41299 feat: refresh buttons invalidate cache and show spinner during refresh
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 1m56s
- Add revalidateForRefresh(scope, id) server action for home/library/series
- Library/Series wrappers: revalidate cache then router.refresh(), 400ms delay for animation
- Home: revalidate home-data + path before refresh
- RefreshButton uses refreshLibrary from RefreshContext when not passed as prop
- Library/Series pages pass id to wrapper for context and pull-to-refresh
- read-progress: pass 'max' to revalidateTag for Next 16 types

Made-with: Cursor
2026-03-02 13:38:45 +01:00
30e3529be3 fix: invalidate library series cache when read progress changes
Some checks failed
Deploy with Docker Compose / deploy (push) Failing after 48s
- Add LIBRARY_SERIES_CACHE_TAG to getLibrarySeries fetch
- Revalidate library-series tag in updateReadProgress and deleteReadProgress
- Add eslint ignores for temp/, .next/, node_modules/

Made-with: Cursor
2026-03-02 13:27:59 +01:00
4288e4c541 feat: polish app loading screen and home section emphasis
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 1m52s
Refine the global loading experience to feel smoother and less flashy while keeping brand accents. Simplify the home continue-reading highlight by styling the section header instead of using a heavy card wrapper.
2026-03-01 22:01:56 +01:00
b8961b85c5 fix: reduce unauthenticated log noise and add request path context
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 4m46s
2026-02-28 22:18:55 +01:00
0cb51ce99d fix: improve account password autofill semantics and settings layout
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 5m11s
2026-02-28 21:44:28 +01:00
01951c806d refactor: make library rendering server-first and deterministic
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 4m7s
Move library header/covers to deterministic server-side rendering, split preference controls into controlled/uncontrolled modes, and remove client cover wrapper to eliminate hydration mismatches and provider coupling on library pages.
2026-02-28 14:06:27 +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
03cb46f81b refactor: use Server Actions for read progress updates
- Create src/app/actions/read-progress.ts with updateReadProgress and deleteReadProgress
- Update mark-as-read-button and mark-as-unread-button to use Server Actions
- Update usePageNavigation hook to use Server Action
- Use revalidateTag with 'min' profile for cache invalidation
2026-02-28 10:34:26 +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
2908172777 feat: books fetch on SSR in book reader
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 17s
2026-02-28 08:50:57 +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
034aa69f8d feat: update service worker to version 2.5 and enhance caching strategies for network requests, including cache bypass for refresh actions in LibraryClientWrapper, SeriesClientWrapper, and HomeClientWrapper components
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 5m3s
2026-01-04 11:44:50 +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
b497746cfa feat: enhance home and library pages by integrating new data fetching methods, improving error handling, and refactoring components for better structure
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 4m17s
2026-01-04 06:19:45 +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
e903b55a46 refactor: implement abort controller for fetch requests in multiple components to prevent memory leaks and improve error handling 2026-01-03 21:51:07 +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
4c4ebf2b06 Revert "feat: enhance ClientSeriesPage to utilize initial series and books props for improved data handling and loading state management"
This reverts commit 239ea19ac3.
2025-12-07 10:10:55 +01:00
Julien Froidefond
239ea19ac3 feat: enhance ClientSeriesPage to utilize initial series and books props for improved data handling and loading state management 2025-12-07 10:03:44 +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