Commit Graph

2152 Commits

Author SHA1 Message Date
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
Nicholas Wallace
a6fd0c95b2 API cache manager case-insensitive match 2025-01-02 20:07:21 -07:00
advplyr
5e8678f1cc Remove unused 2025-01-02 17:25:10 -06:00
advplyr
12c6f2e9a5 Update updateMedia endpoint to use new model 2025-01-02 17:21:07 -06:00
advplyr
5cd14108f9 Remove req.oldLibraryItem usage 2025-01-02 15:54:10 -06:00
advplyr
eb853d9f09 Fix LibraryItemController unit test 2025-01-02 15:51:21 -06:00
advplyr
4787e7fdb5 Updates to LibraryItemController to use new model 2025-01-02 15:42:52 -06:00
advplyr
dd0ebdf2d8 Implementing toOld functions for LibraryItem/Book/Podcast 2025-01-02 12:49:58 -06:00
Toni Barth
18dfbdd983 Merge remote-tracking branch 'remotes/upstream/master' into allow-mrss-item-enclosures-for-podcasts 2025-01-02 17:10:09 +01:00
mikiher
fe2ba083be Fix ffmpeg concat file escaping 2025-01-02 13:34:25 +02:00
sbyrx
0d8d0a650b Adds a configuration for podcast feed and episode download timeout 2025-01-01 19:41:19 +00:00
advplyr
eb505a0be7
Merge pull request #3754 from maxlajoie99/feature/experimental-proxy-support
Experimental proxy support by manually following redirects
2025-01-01 12:54:25 -06:00
advplyr
f3918a47e1 Auto formatting 2025-01-01 12:48:58 -06:00
advplyr
e7f7d1a573 Fix refresh feed when book is deleted and belonged to a series/collection 2025-01-01 12:06:01 -06:00
advplyr
5201625d38 Fix FeedEpisodes using a new ID when updating #3757 2025-01-01 11:32:39 -06:00
mikiher
46247ecf78 Update migrations changelog 2025-01-01 08:41:27 +02:00
mikiher
0444829a9f Add index on duration 2025-01-01 08:37:57 +02:00
mikiher
754c121168 Add libraryItem size index 2025-01-01 07:34:29 +02:00
advplyr
777c59458d Fix find all playlist endpoint 2024-12-31 17:11:31 -06:00
advplyr
9785bc02ea Update Playlist model & controller to remove usage of old Playlist object, remove old Playlist 2024-12-31 17:01:42 -06:00
advplyr
476933a144 Refactor Collection model/controller to not use old Collection object, remove 2024-12-30 16:54:48 -06:00
Greg Lorenzen
4cdc2a8c28
Feat/download via share link (#3666)
* Adds share download endpoint
* Adds Downloadable toggle to share modal

---------

Co-authored-by: advplyr <advplyr@protonmail.com>
2024-12-29 16:52:57 -06:00
advplyr
e0c674d9a9 Fix:Opening audiobook RSS feeds use audiofile name #3752 2024-12-28 16:36:53 -06:00
maxlajoie99
d7830f4bfc Experimental proxy support by manually following redirects 2024-12-27 20:26:55 -05:00
advplyr
d811ec3806
Merge pull request #3714 from nichwall/zip_download_speedup
Change: no compression when downloading library item as zip file
2024-12-25 08:59:43 -06:00
advplyr
94fdd99ab5 Fix wrong url used for SSRF filter in fileUtils 2024-12-24 15:07:11 -06:00
advplyr
331c7c011c Support SSRF_REQUEST_FILTER_WHITELIST as a comma separated string of hostnames to pass through the ssrf request filter #3742 2024-12-23 17:18:08 -06:00
advplyr
5fa263023f Fix:Quick match not removing empty series/authors #3743 2024-12-22 10:58:22 -06:00
advplyr
7eb315a371 Fix watcher skip dot files #3230 2024-12-21 17:22:48 -06:00
Toni Barth
4d2241769e also check for mrss item enclosures when extracting items 2024-12-18 19:15:09 +01:00
advplyr
63b3f22504 Trim podcast descriptions #3720 2024-12-17 17:44:18 -06:00
Vito0912
f9bbd71174
added type to be saved. Should support podcasts
It should support everything important from the podcast metadata:
https://api.audiobookshelf.org/#podcast-metadata

And the book metadata:
https://api.audiobookshelf.org/#book-metadata
2024-12-17 15:27:37 +01:00
advplyr
b39268ccb0 Remove old Feed/FeedEpisode/FeedMeta objects 2024-12-15 17:54:36 -06:00
advplyr
de8a9304d2 Remove unused old feed methods 2024-12-15 17:05:57 -06:00
advplyr
f8fbd3ac8c Migrate Feed updating and build xml to new model 2024-12-15 16:56:59 -06:00
advplyr
369c05936b Fix feed create entityUpdatedAt value 2024-12-15 14:07:46 -06:00
advplyr
837a180dc1 Refactor RssFeedManager.init to use new model only 2024-12-15 13:14:55 -06:00
advplyr
4c68ad46f4 Refactor RssFeedManager to use new model when closing feeds, fix close series feed when series is removed, update RssFeedManager to singleton 2024-12-15 12:37:01 -06:00
advplyr
e50bd93958 Refactor Feed model to create new feed for series 2024-12-15 11:44:07 -06:00
advplyr
d576625cb7 Refactor Feed model to create new feed for collection 2024-12-15 10:53:31 -06:00
advplyr
9bd1f9e3d5 Refactor Feed model to create new feed for library item 2024-12-14 16:55:56 -06:00
advplyr
329bbea043 Fix:Downloading podcast episode when file extension is mp3 but enclosure type is not mp3 #3711 2024-12-13 16:06:00 -06:00
advplyr
57906540fe Add:Server setting to allow iframe & update UI to differentiate web client settings #3684 2024-12-08 08:57:45 -06:00
advplyr
726adbb3bf
Merge pull request #3692 from mikiher/rss-remove-server-address
Remove serverAddress from Feeds and FeedEpisodes URLs
2024-12-08 08:24:41 -06:00
advplyr
f7b7b85673 Add v2.17.5 migration to changelog 2024-12-08 08:19:23 -06:00
advplyr
5646466aa3 Update JSDocs for feeds endpoints 2024-12-08 08:05:33 -06:00
mikiher
b38ce41731 Remove xml cache from Feed object 2024-12-08 09:48:58 +02:00
mikiher
a8ab8badd5 always set req.originalHostPrefix 2024-12-08 09:23:39 +02:00
Nicholas Wallace
61729881cb Change: no compression when downloading library item as zip file 2024-12-07 16:52:31 -07:00
mikiher
9b8e059efe Remove serverAddress from Feeds and FeedEpisodes URLs 2024-12-07 19:27:37 +02:00
Vito0912
2fbb31e0ea
added null saftey and added displayTitle and displayAuthor 2024-12-07 10:37:00 +01:00
Vito0912
89167543fa
added author for podcasts 2024-12-07 10:25:52 +01:00
Vito0912
33e0987d73
Added mediaMetadata to playbackSessions 2024-12-07 10:09:14 +01:00
Vito0912
7486d6345d
Resolved a server crash when a playback session lacked associated media metadata. 2024-12-07 09:34:06 +01:00
advplyr
3b4a5b8785 Support ALLOW_IFRAME env variable to not include frame-ancestors header #3684 2024-12-06 17:17:32 -06:00
advplyr
9a1c773b7a Fix:Server crash on uploadCover temp file mv failed #3685 2024-12-06 16:59:34 -06:00
advplyr
c35185fff7 Update prober to accept grp1 as an alternative tag to grouping #3681 2024-12-05 16:15:23 -06:00
advplyr
9774b2cfa5 Update JSDocs for groupFileItemsIntoLibraryItemDirs 2024-12-04 16:30:35 -06:00
advplyr
344890fb45 Update watcher files changed function to use the same grouping function as other scans 2024-12-04 16:25:17 -06:00
advplyr
5fa0897ad7
Merge pull request #3665 from mikiher/subdirectory-fixes-3
Subdirectory support for OIDC and SocketIO
2024-12-03 17:29:57 -06:00
advplyr
95c80a5b18
Merge pull request #3672 from Techwolfy/disc-folder-support
Support additional disc folder names
2024-12-03 17:28:32 -06:00
advplyr
84803cef82 Fix:Load year in review stats for playback sessions with null mediaMetadata 2024-12-02 17:23:25 -06:00
Techwolf
605bd73c11 Fix third instance of regex 2024-12-01 23:57:47 -08:00
Techwolf
cc89db059b Fix second instance of regex 2024-12-01 18:41:38 -08:00
Techwolf
a03146e09c Support additional disc folder names 2024-12-01 18:10:44 -08:00
advplyr
33aa4f1952 Merge master 2024-12-01 13:27:20 -06:00
advplyr
0dedb09a07 Update:batchUpdate endpoint validate req.body is an array of objects 2024-12-01 12:49:39 -06:00
advplyr
2b5484243b Add LibraryItemController test for delete/batchDelete/updateMedia endpoint functions to correctly remove authors & series with no books 2024-12-01 12:44:21 -06:00
advplyr
c496db7c95 Fix:Remove authors with no books when a books is removed #3668
- Handles bulk delete, single delete, deleting library folder, and removing items with issues
- Also handles bulk editing and removing authors
2024-12-01 09:51:26 -06:00
advplyr
4b52f31d58 Update v2.17.3 migration file to first check if constraints need to be updated, add unit test 2024-11-30 15:48:20 -06:00
mikiher
9917f2d358 Change migration to v2.17.4 2024-11-29 09:01:03 +02:00
mikiher
6d8720b404 Subfolder support for OIDC auth 2024-11-29 04:28:50 +02:00
mikiher
843dd0b1b2 Keep original socket.io server for non-subdir clients 2024-11-29 04:13:00 +02:00
advplyr
70f466d03c Add migration for v2.17.3 to fix dropped fk constraints 2024-11-28 17:18:34 -06:00
advplyr
ef82e8b0d0 Fix:Server crash deleting user with sessions 2024-11-27 16:48:07 -06:00
advplyr
315b21db00 Fix:API get media progress for episode 2024-11-24 15:05:19 -06:00
advplyr
f9aaeb3a34 Update:Set Content-Security-Policy header to disallow iframes 2024-11-23 11:17:13 -06:00
advplyr
d19bb909b3 Fix:Server crash deleting library that has playback sessions #3634 2024-11-22 17:20:31 -06:00
advplyr
784b761629 Fix:Unable to edit series sequence #3636 2024-11-21 14:19:40 -06:00
advplyr
ff026a06bb Fix v2.17.0 migration to ensure mediaItemShares table exists 2024-11-20 16:48:09 -06:00
advplyr
a5e38d1473 Fix:Error adding new series if a series has a null title #3622 2024-11-18 07:59:02 -06:00
advplyr
778256ca16 Fix:Server crash on new libraries when getting filter data #3623 2024-11-18 07:42:24 -06:00
advplyr
75eef8d722 Fix:Book library sort by publishedYear #3620
- Updated sort to cast publishedYear to INTEGER
2024-11-17 16:00:44 -06:00
advplyr
46a3c3de33
Merge pull request #3597 from nichwall/mediatype_uuid_migration
`MediaId` UUID migration
2024-11-17 15:50:10 -06:00
advplyr
2b7e3f0efe Update uuid migration to v2.17.0 and for all tables still using UUIDv4 2024-11-17 15:45:21 -06:00
advplyr
bbe59499ad
Merge pull request #3615 from mikiher/fullupdatefromold-fix
Use a simpler database fetch in fullUpdateFromOld
2024-11-16 16:26:13 -06:00
advplyr
4c88e9c8d2
Merge pull request #3594 from nichwall/filter_data_longer_cache
Increase cache time for `filterdata` in library
2024-11-16 16:18:54 -06:00
mikiher
5ccf5d7150 Use a simpler database fetch in fullUpdateFromOld 2024-11-16 06:26:32 +02:00
advplyr
45f8b06d56 Fix:CBC Radio podcast RSS feeds not accepting our user-agent string #3322 2024-11-15 08:30:54 -06:00
mikiher
8626fa3e00 Add episode_download_queue_cleared socket event 2024-11-12 07:37:38 +02:00
mikiher
b50d7f0927 Remove unnecessary socket event causing OOM 2024-11-12 07:25:10 +02:00
mikiher
a382482173 Add in-memory user cache 2024-11-10 08:34:47 +02:00
advplyr
2e970cbb39 Fix:Series Progress filters incorrect - showing for any users progress #2923 2024-11-09 18:03:50 -06:00
Nicholas Wallace
161a3f4da9 Update migrations changelog for 2.16.3 2024-11-09 13:20:59 -07:00
Nicholas Wallace
713bdcbc41 Add: migration for mediaId to use UUID instead of UUIDV4 2024-11-09 13:10:46 -07:00