clawdbot
c6c8b378ab
fix: make comic-page endpoint public (like covers)
...
The img src tag doesn't send auth headers, so the comic-page
endpoint needs to be publicly accessible like the cover endpoint.
2026-02-21 12:07:53 -05:00
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
Finn Dittmar
a5d2c1bd64
Fix Upload Lookup
2025-11-29 11:02:42 +01:00
Finn Dittmar
3e9ca51088
Fix region parameter extraction in findChapters
2025-11-27 21:40:29 +01:00
advplyr
a92ba564bd
Merge pull request #4750 from mikiher/providers-api
...
Add metadata providers API and use them on web client
2025-10-21 17:24:11 -05:00
advplyr
e684a8dc43
Update JSDocs & auto-formatting of PodcastFinder
2025-10-21 17:22:10 -05:00
mikiher
57c7b123f0
Fix codeQL error: Return json error object
2025-10-21 11:00:29 +03:00
mikiher
fd593caafc
SearchController: simplify query param validation logic
2025-10-21 09:38:35 +03:00
mikiher
b01e7570d3
Remove custom providers from library filterdata request
2025-10-19 10:54:26 +03:00
mikiher
0a8662d198
Merge providers API into a single endpoint
2025-10-19 10:53:27 +03:00
mikiher
888190a6be
Fix codeQL failures
2025-10-15 18:28:15 +03:00
mikiher
4f30cbf2f6
SearchController: New providers API, query param validation
2025-10-14 18:09:32 +03:00
advplyr
a87ea32715
Fix admin user unable to close sessions of other users #4746
CodeQL / Analyze (push) Has been cancelled
Build and Push Docker Image / build (push) Has been cancelled
Integration Test / build and test (push) Has been cancelled
Run Unit Tests / Run Unit Tests (push) Has been cancelled
2025-10-13 09:50:01 -05:00
advplyr
feed827223
Update settings update endpoint to validate allowedOrigins is array
CodeQL / Analyze (push) Has been cancelled
Build and Push Docker Image / build (push) Has been cancelled
Integration Test / build and test (push) Has been cancelled
Run Unit Tests / Run Unit Tests (push) Has been cancelled
2025-10-10 18:00:37 -05:00
advplyr
794f0ef42a
Fix server crash when transcode requests are made to the direct play endpoint #4555
2025-08-07 17:21:05 -05:00
advplyr
832165716b
Fix ereader update socket event sending all devices #4529
2025-07-24 17:29:08 -05:00
advplyr
45e8e72759
Update change password to support null or empty string passwords #4522
2025-07-22 15:17:00 -05:00
advplyr
8c38987d92
Fix podcast episode track index null in playback session
2025-07-22 14:44:36 -05:00
advplyr
e678fe6e2f
Update sessions modal to show username & update sessions endpoints to always return username
2025-07-16 16:56:07 -05:00
advplyr
8775e55762
Update jwt secret handling
Run Component Tests / Run Component Tests (push) Waiting to run
Integration Test / build and test (push) Waiting to run
Run Unit Tests / Run Unit Tests (push) Waiting to run
2025-07-08 16:39:50 -05:00
advplyr
4ff7355262
Fix hashPassword
2025-07-08 09:14:07 -05:00
advplyr
9c8900560c
Seperate out auth strategies, update change password to return error status codes
2025-07-07 15:04:40 -05:00
advplyr
97afd22f81
Refactor Auth to breakout functions in TokenManager, handle token generation for OIDC
Run Component Tests / Run Component Tests (push) Waiting to run
Integration Test / build and test (push) Waiting to run
Run Unit Tests / Run Unit Tests (push) Waiting to run
2025-07-06 16:43:03 -05:00
advplyr
e24eaab3f1
Log when token expiry is set via env var, api-keys create/update returns with user association
Run Component Tests / Run Component Tests (push) Waiting to run
Integration Test / build and test (push) Waiting to run
Run Unit Tests / Run Unit Tests (push) Waiting to run
Verify all i18n files are alphabetized / update_translations (push) Has been cancelled
2025-07-06 13:10:14 -05:00
advplyr
8b995a179d
Add support for returning refresh token for mobile clients
Integration Test / build and test (push) Waiting to run
Run Unit Tests / Run Unit Tests (push) Waiting to run
Run Component Tests / Run Component Tests (push) Has been cancelled
Verify all i18n files are alphabetized / update_translations (push) Has been cancelled
2025-06-30 17:31:31 -05:00
advplyr
4d32a22de9
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
advplyr
af1ff12dbb
Add get all, update and delete endpoints. Add api keys config page
Run Component Tests / Run Component Tests (push) Waiting to run
Verify all i18n files are alphabetized / update_translations (push) Waiting to run
Integration Test / build and test (push) Waiting to run
Run Unit Tests / Run Unit Tests (push) Waiting to run
2025-06-30 11:32:02 -05:00
advplyr
d96ed01ce4
Set up ApiKey model and create Api Key endpoint
2025-06-30 10:12:39 -05:00
advplyr
4f5123e842
Implement new JWT auth
2025-06-29 17:22:58 -05:00
advplyr
22f6e86a12
Fix pathexists filepath back to posix
CodeQL / Analyze (push) Waiting to run
Build and Push Docker Image / build (push) Waiting to run
Integration Test / build and test (push) Waiting to run
Run Unit Tests / Run Unit Tests (push) Waiting to run
2025-06-11 16:37:07 -05:00
advplyr
a6f10ca48e
Update upload endpoint to check user has access to library
2025-06-11 16:14:51 -05:00
advplyr
aac01d6d9a
Update pathexists endpoint to check user has access to library
2025-06-11 16:04:18 -05:00
advplyr
0135b3560c
Fix filesystem pathexists path join
2025-06-10 17:02:42 -05:00
advplyr
9052ceedd3
Sanitize media item & episode description on update
2025-05-31 17:01:58 -05:00
advplyr
6ce1806359
Update pathexists file system API endpoint
2025-05-26 16:56:50 -05:00
advplyr
336de49d8d
Add new api endpoint for direct playing audio files using session id #4259
2025-05-05 17:00:43 -05:00
advplyr
342d100f3e
Replace advanced options with presets/advanced card
2025-05-02 17:24:46 -05:00
advplyr
e0b90c6813
Add channels, codec and bitrate to tracks table & breakpoint updates
2025-05-02 15:06:31 -05:00
advplyr
5eaf9c69ad
Fix server crash when updating excluded prefixes #4221
2025-04-28 16:40:06 -05:00
advplyr
35870a0158
Update upload API endpoint to validate request body
2025-04-27 09:18:52 -05:00
Nicholas Wallace
79fe064c4a
Add: server localization for chapter lookup
2025-04-19 23:25:17 -07:00
advplyr
bc1b99efd6
Fix socket events check user permissions for library items #4199
2025-04-12 17:39:51 -05:00
advplyr
73c1ea92f3
Add admin middleware for StatsController
2025-03-29 17:37:13 -05:00
advplyr
4fb5330308
Create new StatsController and move year in review stats endpoint
2025-03-29 17:34:17 -05:00
advplyr
e16d3d72b6
Fix uploader check if item already exists in a subdirectory #4146
2025-03-24 18:01:38 -05:00
advplyr
ff36a9327c
Fix multiple download for podcasts & cleanup
2025-03-18 17:28:49 -05:00
advplyr
1def32aa50
Fix req.query check and response
2025-03-18 17:03:43 -05:00
Vito0912
3c9966e849
clean up
2025-03-17 20:04:01 +01:00
Vito0912
9b79aab4d5
logging
2025-03-17 19:58:55 +01:00
Vito0912
0123dacb29
download multiple items
2025-03-17 19:35:59 +01:00