fannta1990
7e3c632041
Merge 633bc4805e into 47ea6b5092
2026-05-10 16:48:15 -06:00
advplyr
47ea6b5092
Update book/podcast scanner to sanitize description pulled from metadata
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
2026-05-05 17:18:49 -05:00
Brandon
40869bcf39
fix: set correct Content-Type for RSS feed audio files
...
Express's mime package does not recognize .m4b, causing it to fall back
to application/octet-stream. This reuses the existing
getAudioMimeTypeFromExtname utility (already applied to the download
endpoint) to set the correct audio/mp4 header before sendFile.
Fixes #5041
2026-05-02 22:13:35 -04:00
advplyr
92df92ec99
Fix recent episodes endpoint cache not being cleared when updating media progress #5159
2026-04-26 16:51:08 -05:00
advplyr
2c3108a1fa
Merge pull request #5163 from pjkottke/master
...
CodeQL / Analyze (push) Waiting to run
Run Component Tests / Run Component Tests (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
The timestamp in the share URL should override the saved position for the user.
2026-04-25 17:15:23 -05:00
advplyr
928051744a
ShareController check ?t param is less than duration, revert frontend mounted usage of param
2026-04-25 17:13:22 -05:00
advplyr
3ccdcaec1a
Implement SSRF filter for podcast episode downloads
2026-04-25 16:46:54 -05:00
advplyr
7c0ca44727
Update podcast create/update endpoints to validate autoDownloadSchedule cron expression, validate cron expression before starting in CronManager
CodeQL / Analyze (push) Waiting to run
Run Component Tests / Run Component Tests (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
2026-04-24 16:55:42 -05:00
advplyr
d6a2e5596b
Fix undefined variable in error log for when podcast cron is invalid
2026-04-24 16:18:56 -05:00
advplyr
a5362de9cc
Update podcast createFromRequest to sanitize html description
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
2026-04-23 14:34:59 -05:00
advplyr
9ab35ef418
Update playlist endpoints to check user still has library access
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
2026-04-22 16:42:58 -05:00
advplyr
79cc9765cf
Update collection endpoints to check user library access
2026-04-22 16:29:47 -05:00
advplyr
80b39abaa2
Update library item batch api endpoints check users per-item access & return 403
2026-04-21 17:13:06 -05:00
advplyr
b7e8a0474a
Update bulk download endpoint ensure items are from the same library requested
2026-04-19 16:20:31 -05:00
advplyr
39adefb632
Update backup load & upload to remove tempfile on failed backups, validate details filesize & close zip
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
2026-04-18 17:03:37 -05:00
advplyr
24cab79c66
Update filesystem/pathexists endpoint to use existing isSameOrSubPath func
2026-04-18 16:24:48 -05:00
advplyr
b27f21fd95
Update podcastUtils to sanitize episode subtitle from rss feed
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
2026-04-17 16:59:22 -05:00
advplyr
09fa0b38f5
Update podcast create path validation & fix relPath
2026-04-17 16:51:22 -05:00
advplyr
455e605162
Update author & library item image endpoints to clamp width/height query params
2026-04-17 16:30:08 -05:00
advplyr
88667d00a1
Merge pull request #5115 from rktjmp/fix-mka-opus-desktop-streaming
...
CodeQL / Analyze (push) Has been cancelled
Run Component Tests / Run Component Tests (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
Force AAC transcode when streaming mka+opus to desktop client
2026-04-10 16:54:18 -05:00
advplyr
94c426bd97
Update comments on matroska
2026-04-10 16:42:39 -05:00
peter.kottke
5a6b3d8e61
updates to allow share t argument to over-ride server stored position
2026-04-01 21:05:48 -04:00
mikiher
fda1a6ea9b
Fix item_removed payload to include libraryId
2026-03-31 22:02:52 +03:00
advplyr
ab3bd6f4a1
Update JS docs
2026-03-30 16:22:27 -05:00
mikiher
093124aac6
Emit proper author_updated/added events when updating book media
2026-03-30 22:02:56 +03:00
advplyr
5de92d08f9
Fix share playback session not including coverAspectRatio
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
2026-03-29 15:36:07 -05:00
advplyr
3faa6f3e7d
Update playlist create/update endpoint to strip all html tags
2026-03-19 16:57:22 -05:00
advplyr
9821c31f8e
Update collection create/update endpoints to strip html tags from collection name
2026-03-19 16:53:21 -05:00
advplyr
4bdd76d94c
Update podcast episode update endpoint to sanitize subtitle
CodeQL / Analyze (push) Has been cancelled
Run Component Tests / Run Component Tests (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
2026-03-18 17:01:19 -05:00
advplyr
874e9e1856
Update API Key jwtAuthCheck to check user active status
2026-03-18 16:17:45 -05:00
advplyr
a47c869d0b
Update migration file to v2.33.0
2026-03-12 16:45:08 -05:00
advplyr
eb0383d37a
Merge pull request #5073 from kevingatera/perf/minimal-upstream-patchset
...
Improve personalized/discover query performance and cache invalidation behavior
2026-03-12 16:38:26 -05:00
advplyr
e66ffb9c23
Add indexes to MediaProgress and BookSeries models
2026-03-12 16:37:59 -05:00
advplyr
972193b193
Update server settings authLoginCustomMessage to sanitize on save and load
CodeQL / Analyze (push) Waiting to run
Run Component Tests / Run Component Tests (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
2026-03-11 17:18:05 -05:00
advplyr
690a7e0da9
Update session DeviceInfo with sanitize on clientDeviceInfo
2026-03-11 17:03:07 -05:00
Oliver Marriott
d9355ac3aa
Force AAC transcode when streaming mka+opus to desktop client
...
Matroska audio containers (aka mka files) with Opus codec streams inside
were unplayable on the desktop client because hls.js was unable to
decode the stream, resulting in an infinitely "spinning" play button.
When configuring a stream, we now check for the opus codec and force AAC
transcoding.
Matroska containers support other codecs besides Opus, eg: mp3, which do
not require transcoding and work fine before this patch, which is why we
check for opus in codecsToForceAAC instead of AudioMimeType.MKA in
mimeTypesToForceAAC.
The AudioMimeType.OPUS mimetype is already marked as requiring
transcoding but since its inside a container this check does not
evaluate to true, we must check the codec explicitly.
2026-03-11 00:35:12 +11:00
advplyr
e5b7aea46c
Merge pull request #5063 from mandreko/idor-fixes
...
IDOR fixes
2026-03-08 17:26:03 -05:00
advplyr
c156b063f5
Merge pull request #5036 from kctdfh/Slightly-better-subtitle-parsing-logic
...
Improved subtitle parsing to account for bare colon in title
2026-03-08 17:12:55 -05:00
Kevin Gatera
c0319ebbac
Adjust discover/search changes for API compatibility
2026-02-23 19:22:45 -05:00
advplyr
6e0da3bf7a
Fix updating author name merging with same name authors in a different library #4628
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
2026-02-21 16:00:38 -06:00
Kevin Gatera
f1a2e56054
Add database indexes for discover query performance
2026-02-19 20:11:49 -05:00
Kevin Gatera
d2915e689f
Speed up personalized shelves and reduce search payload size
2026-02-19 20:11:38 -05:00
Kevin Gatera
05d9ab81f9
Improve API cache invalidation for high-churn models
2026-02-19 20:11:24 -05:00
Matt Andreko
ade1752e97
Fix IDOR bugs
2026-02-15 22:01:36 -05:00
advplyr
fa5fa7b788
Fix server crash on /me/progress/:libraryItemId/:episodeId? when episodeId is not passed in for a podcast library item #5058
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
2026-02-14 17:17:12 -06:00
fannta1990
633bc4805e
Add review deletion functionality and UI enhancements
...
- Implemented delete functionality for reviews in both the ReviewModal and ReviewsTable components.
- Added confirmation prompts for review deletion actions.
- Updated ReviewController to allow deletion of reviews by admins or the review owner.
- Enhanced event handling to refresh the review list upon deletion.
- Improved UI to include delete buttons for admins in the ratings page and reviews table.
2026-02-09 22:31:44 +08:00
fannta1990
d2285d952a
Enhance review and ratings functionality with new filters and UI improvements
...
- Added a default formatter for JavaScript in VSCode settings.
- Updated ReviewModal to submit on Enter key press.
- Improved ratings page layout with new filter dropdowns for users and ratings, and enhanced search functionality.
- Modified ReviewController to fetch unique reviewers and rating counts for better filtering options in the frontend.
2026-02-09 21:49:02 +08:00
fannta1990
41e8906312
Add review and rating features with sorting and filtering options
...
- Implemented a new ReviewController to handle review creation, updates, and retrieval for library items.
- Added pagination, sorting, and filtering capabilities for reviews in the API.
- Updated frontend components to support review display, including a new ReviewsTable and enhanced ratings UI.
- Introduced new strings for user interface elements related to reviews and ratings.
- Added tests for the ReviewController and Review model to ensure functionality and validation.
- Enabled the option to toggle the review feature in server settings.
2026-02-09 21:08:18 +08:00
fannta1990
e4e2770fbd
Fixed error for Ratings page and stats page & added controlls to make Rating system and Ratings page optional (admin can turn it on or off for the server)
2026-02-09 10:58:17 +01:00
fannta1990
3a8075a077
Created Rating and Review Feature as well as added a Top Rated books list to the Stats page
2026-02-09 10:04:11 +01:00