Nicholas Wallace
4662fc5244
Add: log custom metadata provider to match other providers
2025-02-22 14:48:13 -07:00
Nicholas Wallace
13c20e0cdd
Add: generic function to ignor files
2025-02-22 12:28:51 -07:00
alexshch09
452d354b52
fix(auth): Add admin-level auth to LibraryController delete update and issue removal
2025-02-22 00:44:52 +01:00
advplyr
9d7f44f73a
Fix RSS Feed Open query
2025-02-21 17:39:36 -06:00
mikiher
e8b60defb6
Invalidate count cache on entity update
2025-02-21 09:45:10 +02:00
advplyr
7919a8b581
Fix get podcast library items endpoint when not including a limit query param #4014
2025-02-20 17:40:54 -06:00
mikiher
f9c0e52f18
Add title triggers in new databases
2025-02-19 17:39:32 +02:00
advplyr
6290cfaeb1
Auto format
2025-02-18 17:19:06 -06:00
advplyr
fd3d4f5fcf
Merge pull request #3978 from sloped/fix/detect-http-https-upgrades
...
fix: allow upgrading HTTP to HTTPS for redirects
2025-02-18 17:18:36 -06:00
mikiher
568bf0254d
Change migration version to v2.19.4
2025-02-18 07:57:46 +02:00
mikiher
7038f5730f
Set title[IgnorePrefix] when a podcast libraryItem is created
2025-02-16 14:57:05 +02:00
mikiher
0a8186cbda
Add ANALYZE to database init sequence
2025-02-16 13:38:54 +02:00
mikiher
659164003f
Clear LibraryItemsPodcastFilters count cache after podcast[Episode] is created or destroryed
2025-02-16 13:27:47 +02:00
mikiher
de5d8650e8
Add profiling to podcast library filterdata queries
2025-02-16 12:47:23 +02:00
mikiher
bacefb5f6f
Format PodcastScanner (Pretteier-only changes)
2025-02-16 12:41:47 +02:00
mikiher
0169bf5518
Update podcast.numEpisodes when episodes are created or destroyed
2025-02-16 12:38:44 +02:00
mikiher
8f192b1b17
Add profiling to podcasts and podcast episodes page queries
2025-02-16 09:46:32 +02:00
mikiher
21343b5aa0
Add count cache to libraryItemsPodcastQueries
2025-02-16 09:40:29 +02:00
mikiher
a5508cdc4c
Remove unnecessary 'distinct: true' from podcast episodes page query
2025-02-16 09:32:00 +02:00
mikiher
bd4f48ec39
Add required: true to includes in podcast episodes page query
2025-02-16 09:29:57 +02:00
mikiher
cb9fc3e0d1
Replace numEpisodesIncomplete subquery with cached user progress calculation
2025-02-16 09:22:06 +02:00
mikiher
707533df8f
Remove numEpisodes subquery from podcasst page query
2025-02-16 09:15:54 +02:00
mikiher
2e48ec0dde
Use libraryItem.title[IgnorePrefix] for sorting podcasts page query
2025-02-16 09:08:27 +02:00
mikiher
f1e46a351b
Separate feed query from podcasts page query
2025-02-16 09:05:54 +02:00
mikiher
da8fd2d9d5
Set podcastId when mediaProgress is created
2025-02-16 08:57:10 +02:00
mikiher
f1de307bf9
Update cached user whenever mediaProgress is removed
2025-02-16 08:52:33 +02:00
mikiher
7282afcfde
Add podcastId to mediaProgress model
2025-02-16 08:42:09 +02:00
mikiher
e2f1aeed75
Add numEpisodes to podcast model
2025-02-16 08:38:03 +02:00
mikiher
23a750214f
Add migration in preparation for podcast query optimization
2025-02-16 08:35:51 +02:00
mikiher
8ee5646d79
fix stringifySequelizeQuery and add tests
2025-02-15 23:57:27 +02:00
advplyr
d9b206fe1c
Fix server crash when quick match all updates existing series sequence #3961
2025-02-14 16:56:37 -06:00
advplyr
5ca12eee19
Fix count cache by stringify Symbols #3979
2025-02-13 18:07:59 -06:00
Conner McCall
f460297daf
fix: allow upgrading HTTP to HTTPS for redirects
...
Re: #3142 and #3658
When adding certain podcasts, the server encountered a redirect from an HTTP URL to an HTTPS domain, causing an error that was difficult for end users to diagnose without inspecting logs or HTML.
This issue arose due to SSRF security measures that blocked such redirects. Instead of failing in these cases, we now detect when the error is caused by an HTTP-to-HTTPS upgrade. If confirmed, we upgrade the initial URL to HTTPS and resend the request.
Since this change does not allow cross-protocol or cross-domain redirections, it remains secure while resolving most of the reported issues.
Affected podcasts that are now fixed:
- D&D is for Nerds
- The New Yorker: The Writer's Voice - New Fiction from The New Yorker
- Radiolab
2025-02-13 09:19:02 -06:00
advplyr
a34813b3ab
Fix server crash remove column name ambiguity #3966
2025-02-12 08:52:20 -06:00
advplyr
d30a09f503
Merge pull request #3963 from mikiher/security-fix-GHSA-pg8v-5jcv-wrvw
...
Security fix for GHSA-pg8v-5jcv-wrvw
2025-02-11 16:50:52 -06:00
advplyr
ed3af5bdcd
Fix server crash when feed cover image is requested but doesnt exist
2025-02-11 16:14:49 -06:00
mikiher
ec65376569
Security fix for GHSA-pg8v-5jcv-wrvw
2025-02-11 22:02:51 +02:00
mikiher
4cc300d6e9
Update changelog with v2.19.1 migration
2025-02-09 21:39:43 +02:00
advplyr
ef45f844e5
Update upwards migration to be idempotent
2025-02-08 12:37:34 -06:00
advplyr
9a261195b7
Update server/models/Book.js
2025-02-08 10:19:13 -06:00
mikiher
3d08a35aa0
Add index on (libraryId, mediaType, createdAt)
2025-02-08 14:53:01 +02:00
mikiher
a13143245b
Improve page load queries on title, titleIgnorePrefix, and addedAt sort order
2025-02-08 12:29:23 +02:00
mikiher
52bb28669a
Add a profile utility function
2025-02-08 10:41:56 +02:00
advplyr
a37fe3c3d2
Fix: Users with update permission unable to remove books from collection #3947
2025-02-07 17:09:48 -06:00
Michael Vincent
3f7af8acfb
Add Accept-Encoding header to getPodcastFeed()
...
This commit adds the Accept-Encoding header to getPodcastFeed() with
gzip, compress, and deflate support. This allows servers to send a
compressed response that'll be decompressed by axios transparently.
Audiobookshelf is currently using axios v0.27.2, which enables the
decompress option by default. The decompress feature supports gzip,
compress, and deflate algorithms (see axios/lib/adapters/http.js).
axios v0.27.2 does not add the Accept-Encoding header to requests
automatically, so that's the responsibility of the caller.
2025-02-05 23:12:58 -06:00
advplyr
5e5a604d03
Fix name parser to not use "last, first" format when not using comma separators. Adds unit tests #3940
2025-02-05 17:25:31 -06:00
advplyr
201e12ecc3
Update downloadFile to debug log percentage complete
2025-02-05 16:15:00 -06:00
advplyr
24d6e390f0
Fix Book/Podcast updateFromRequest to support null values in string fields #3938
2025-02-05 15:31:57 -06:00
advplyr
aebb3ff413
Fix API including basepath in tracks contentUrl
2025-02-01 16:47:36 -06:00
advplyr
c3aad9486c
Fix Logger.fatal to be a promise to ensure crash_logs.txt write
2025-01-30 17:27:32 -06:00
advplyr
b3b2bd7772
Fix feeds for collection/series pub date increment #3442
2025-01-28 17:11:57 -06:00
advplyr
95864705dc
Update clean database to remove invalid CollectionBook records
2025-01-28 16:58:42 -06:00
tharvik
575927c101
server/podcast: stabilize random ID
2025-01-28 20:36:35 +01:00
advplyr
fbe186a925
Merge pull request #3899 from mikiher/pragma-from-env
...
Allows setting of some pragma values through environment variables
2025-01-27 16:21:40 -06:00
advplyr
6ed2b575b0
Merge pull request #3898 from mikiher/fix-batch-quick-match
...
Add bookSeries id attribute to findAllExpandedWhere
2025-01-26 13:27:41 -06:00
advplyr
558173e086
Update custom metadata provider results to sanitize html descriptions #3880
2025-01-26 10:51:18 -06:00
mikiher
23067e1818
Allows setting of some pragma values through environment variables
2025-01-26 13:44:57 +02:00
mikiher
9b4732c207
Add bookSeries id attribute to findAllExpandedWhere
2025-01-26 12:21:54 +02:00
advplyr
a4d0f95ecc
Merge pull request #3880 from mikiher/rich-text-book-descriptionss
...
Support rich text book descriptions
2025-01-25 13:42:37 -06:00
advplyr
922a5039ce
Update descriptionPlain to only be available in json expanded
2025-01-25 13:30:30 -06:00
advplyr
d4ba8b9d9f
Fix server crash on failed to extract epub image #3889
2025-01-24 17:24:37 -06:00
mikiher
286185329d
Support rich text book descriptions
2025-01-22 08:53:23 +02:00
advplyr
28681d3783
Merge pull request #3732 from Timtam/allow-mrss-item-enclosures-for-podcasts
...
check for mrss item media:content when extracting item enclosures
2025-01-20 15:08:43 -06:00
advplyr
b816c0e7c4
Fix opening feed for series and collections
2025-01-20 14:18:22 -06:00
advplyr
a8b92819d1
Update feed episode description to use CDATA
2025-01-20 14:04:18 -06:00
advplyr
54a4b09592
Update RSS feed to exclude empty tags, format duration, use CDATA
2025-01-20 13:57:56 -06:00
advplyr
6745efc4d6
Revert case-insensitive cache manager update in #3780
2025-01-20 08:59:45 -06:00
Toni Barth
bdd8e5bb58
Merge remote-tracking branch 'remotes/upstream/master' into allow-mrss-item-enclosures-for-podcasts
2025-01-20 10:28:09 +01:00
advplyr
4a3254d338
Fix create library with mark media as finished when setting #3856
2025-01-18 15:57:44 -06:00
advplyr
4701b3ed0c
Update audiobook rss feeds to increment pub dates in 1 minute intervals #3442
2025-01-17 17:21:35 -06:00
advplyr
1a67f57551
Update podcast downloads to fallback to download without tagging due to inaccurate rss feed enclosures #3837
2025-01-14 15:48:06 -06:00
advplyr
9b5bdc1fdb
Merge pull request #3822 from mikiher/episode-table-refresh-fix
...
Episode table refresh fixes
2025-01-13 16:12:38 -06:00
advplyr
64e9ac9d8f
Fix merging embedded chapters for multi-track audiobooks giving incorrect chapter ids #3361
...
- Also trim chapter titles on probe (remove carriage return)
2025-01-12 09:56:48 -06:00
advplyr
41daf557aa
Update get all libraries endpoint to support include stats for android auto to detect audio libraries
2025-01-11 14:26:57 -06:00
mikiher
de5bc63d88
Remove deleted episode from returned libraryItem object
2025-01-11 22:26:36 +02:00
advplyr
0f20ed101e
Update podcast RSS parser to handle HTML not wrapped in CDATA #3778
2025-01-10 15:42:52 -06:00
advplyr
02ecf7ccfe
Fix catch exception on failed to parse comic metadata #3804
2025-01-08 16:53:56 -06:00
advplyr
05ff5f1956
Merge pull request #3771 from sbyrx/master
...
Adds a configuration for podcast feed and episode download timeout
2025-01-08 14:10:20 -06:00
Vito0912
121805ba39
Merge branch 'master' into feat/metadataForPlaybackSessions
2025-01-07 17:01:01 +01:00
advplyr
8286aad7a4
Fix updating cover from match requests #3807
2025-01-07 09:05:53 -06:00
advplyr
ed5960825b
Fix podcast episode continue and listen again home page shelves
2025-01-07 08:37:05 -06:00
advplyr
977bdbf0bb
Fix podcast episode AudioTrack object
2025-01-06 13:30:31 -06:00
advplyr
a1ec10bd0d
Fix sync request responding with 500 status code
2025-01-06 11:39:55 -06:00
advplyr
108eaba022
Migrate tools and collapse series. fix continue shelves. remove old objects
2025-01-05 14:09:03 -06:00
advplyr
d5ce7b4939
Migrate to new library item in scanner
2025-01-05 12:05:01 -06:00
sbyrx
e64302f1d4
Merge branch 'advplyr:master' into master
2025-01-04 20:15:59 -05:00
advplyr
fdbca4feb6
Merge pull request #3776 from mikiher/fix-ffmpeg-concat-file
...
Fix ffmpeg concat file escaping
2025-01-04 16:04:18 -06:00
advplyr
f366dfa909
Merge pull request #3780 from nichwall/api_cache_case_insensitive
...
API Cache Manager route uses case-insensitive match
2025-01-04 16:03:14 -06:00
advplyr
5d1a17ffa8
Merge pull request #3794 from mikiher/fix-stream-ffmpeg-add-option
...
Fix ffmpeg.addOption for transcoding
2025-01-04 16:01:56 -06:00
advplyr
1e9470b840
Update AuthorController library item usage and remove unused
2025-01-04 15:59:40 -06:00
advplyr
726a9eaea5
Fix local playback sync
2025-01-04 15:35:05 -06:00
advplyr
6d52f88a96
Update controllers to use toOldJSON functions
2025-01-04 15:20:41 -06:00
advplyr
d8823c8b1c
Update podcasts to new library item model
2025-01-04 12:41:09 -06:00
mikiher
43d8d9b286
Fix ffmpeg.addOption for transcoding
2025-01-04 20:16:48 +02:00
advplyr
69d1744496
Update podcasts to new library item model
2025-01-03 16:48:24 -06:00
advplyr
0357dc90d4
Update libraryItem.updatedAt on media update
2025-01-03 14:07:27 -06:00
advplyr
6467a92de6
Remove media progress when deleting podcast episode audio file
2025-01-03 12:12:56 -06:00
advplyr
63466ec48b
Fix deleting episode library file removes episode from playlist #3784
2025-01-03 12:06:20 -06:00
advplyr
c251f1899d
Update PlaybackSession to use new library item model
2025-01-03 11:16:03 -06:00
Nicholas Wallace
f70f21455f
Req URL is lowercase in ApiCacheManager
2025-01-02 20:13:38 -07:00