Commit Graph

2085 Commits

Author SHA1 Message Date
13c20e0cdd Add: generic function to ignor files 2025-02-22 12:28:51 -07:00
7919a8b581 Fix get podcast library items endpoint when not including a limit query param #4014 2025-02-20 17:40:54 -06:00
f9c0e52f18 Add title triggers in new databases 2025-02-19 17:39:32 +02:00
6290cfaeb1 Auto format 2025-02-18 17:19:06 -06:00
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
568bf0254d Change migration version to v2.19.4 2025-02-18 07:57:46 +02:00
7038f5730f Set title[IgnorePrefix] when a podcast libraryItem is created 2025-02-16 14:57:05 +02:00
0a8186cbda Add ANALYZE to database init sequence 2025-02-16 13:38:54 +02:00
659164003f Clear LibraryItemsPodcastFilters count cache after podcast[Episode] is created or destroryed 2025-02-16 13:27:47 +02:00
de5d8650e8 Add profiling to podcast library filterdata queries 2025-02-16 12:47:23 +02:00
bacefb5f6f Format PodcastScanner (Pretteier-only changes) 2025-02-16 12:41:47 +02:00
0169bf5518 Update podcast.numEpisodes when episodes are created or destroyed 2025-02-16 12:38:44 +02:00
8f192b1b17 Add profiling to podcasts and podcast episodes page queries 2025-02-16 09:46:32 +02:00
21343b5aa0 Add count cache to libraryItemsPodcastQueries 2025-02-16 09:40:29 +02:00
a5508cdc4c Remove unnecessary 'distinct: true' from podcast episodes page query 2025-02-16 09:32:00 +02:00
bd4f48ec39 Add required: true to includes in podcast episodes page query 2025-02-16 09:29:57 +02:00
cb9fc3e0d1 Replace numEpisodesIncomplete subquery with cached user progress calculation 2025-02-16 09:22:06 +02:00
707533df8f Remove numEpisodes subquery from podcasst page query 2025-02-16 09:15:54 +02:00
2e48ec0dde Use libraryItem.title[IgnorePrefix] for sorting podcasts page query 2025-02-16 09:08:27 +02:00
f1e46a351b Separate feed query from podcasts page query 2025-02-16 09:05:54 +02:00
da8fd2d9d5 Set podcastId when mediaProgress is created 2025-02-16 08:57:10 +02:00
f1de307bf9 Update cached user whenever mediaProgress is removed 2025-02-16 08:52:33 +02:00
7282afcfde Add podcastId to mediaProgress model 2025-02-16 08:42:09 +02:00
e2f1aeed75 Add numEpisodes to podcast model 2025-02-16 08:38:03 +02:00
23a750214f Add migration in preparation for podcast query optimization 2025-02-16 08:35:51 +02:00
8ee5646d79 fix stringifySequelizeQuery and add tests 2025-02-15 23:57:27 +02:00
d9b206fe1c Fix server crash when quick match all updates existing series sequence #3961 2025-02-14 16:56:37 -06:00
5ca12eee19 Fix count cache by stringify Symbols #3979 2025-02-13 18:07:59 -06:00
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
a34813b3ab Fix server crash remove column name ambiguity #3966 2025-02-12 08:52:20 -06:00
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
ed3af5bdcd Fix server crash when feed cover image is requested but doesnt exist 2025-02-11 16:14:49 -06:00
ec65376569 Security fix for GHSA-pg8v-5jcv-wrvw 2025-02-11 22:02:51 +02:00
4cc300d6e9 Update changelog with v2.19.1 migration 2025-02-09 21:39:43 +02:00
ef45f844e5 Update upwards migration to be idempotent 2025-02-08 12:37:34 -06:00
9a261195b7 Update server/models/Book.js 2025-02-08 10:19:13 -06:00
3d08a35aa0 Add index on (libraryId, mediaType, createdAt) 2025-02-08 14:53:01 +02:00
a13143245b Improve page load queries on title, titleIgnorePrefix, and addedAt sort order 2025-02-08 12:29:23 +02:00
52bb28669a Add a profile utility function 2025-02-08 10:41:56 +02:00
a37fe3c3d2 Fix: Users with update permission unable to remove books from collection #3947 2025-02-07 17:09:48 -06:00
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
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
201e12ecc3 Update downloadFile to debug log percentage complete 2025-02-05 16:15:00 -06:00
24d6e390f0 Fix Book/Podcast updateFromRequest to support null values in string fields #3938 2025-02-05 15:31:57 -06:00
aebb3ff413 Fix API including basepath in tracks contentUrl 2025-02-01 16:47:36 -06:00
c3aad9486c Fix Logger.fatal to be a promise to ensure crash_logs.txt write 2025-01-30 17:27:32 -06:00
b3b2bd7772 Fix feeds for collection/series pub date increment #3442 2025-01-28 17:11:57 -06:00
95864705dc Update clean database to remove invalid CollectionBook records 2025-01-28 16:58:42 -06:00
575927c101 server/podcast: stabilize random ID 2025-01-28 20:36:35 +01:00
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