Commit Graph

1039 Commits

Author SHA1 Message Date
Shadowghost d20c775daf Implement ignore rule caching 2026-05-03 23:35:33 +02:00
Shadowghost d68d0fa962 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-05-03 13:31:23 +02:00
Seven Rats f5f75ed2e1 feat/audiobook_chapters (#16518)
feat/audiobook_chapters
2026-05-03 12:18:20 +02:00
Shadowghost 755ef1f942 Fix BoxSet library visibility 2026-04-26 18:53:17 +02:00
Shadowghost f806ae4018 Fix too many SQL variables error on large libraries 2026-04-19 10:27:47 +02:00
Shadowghost e71bb7e904 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-04-19 10:23:34 +02:00
theguymadmax 5bad7b8ae3 Fix artist metadata not being fetched on initial library scan (#16606)
* Fix artist metadata not being fetched on initial library scan

* Update Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs

Co-authored-by: Bond-009 <bond.009@outlook.com>

---------

Co-authored-by: Bond-009 <bond.009@outlook.com>
2026-04-14 18:38:01 +02:00
Shadowghost d8bbb4dfe8 Fix filters 2026-04-11 17:42:27 +02:00
LmanTW 3ef7ada736 Ignore season directories with no video for TV Shows 2026-04-10 18:59:59 +08:00
Shadowghost 24a0df9a39 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-04-07 21:36:07 +02:00
Shadowghost 99ad70fbc8 Wrap method parameters 2026-04-01 18:01:25 +02:00
furdiburd 921a364bb0 Add ignore patterns for Hungarian sample files (#16238)
* Add ignore patterns for Hungarian sample files

Added ignore patterns for Hungarian sample files.

* Removed leftover spaces
2026-03-29 12:38:46 +02:00
Marc Brooks aa96ff42e6 Parse provider IDs from season and episode folder/file names
Season and episode directories/files can now include provider ID
attributes in their names (e.g. "Season 01 [tvdbid=22222]" or
"Show S01E01 [tmdbid=99999].mkv"), consistent with the existing
behavior for series folders.

Supported providers: imdbid, tvdbid, tvmazeid, tmdbid.

Adds TmdbSeasonExternalId and TmdbEpisodeExternalId so that
the TMDB season and episode IDs are surfaced in the metadata editor.

Seasons do not have their own IMDb IDs, so we don't support imdbid parsing
in SeasonResolver. Instead, generate IMDb season URLs via
ImdbExternalUrlProvider using the parent series' IMDb ID and the
season number, matching the IMDb URL format:
imdb.com/title/{seriesId}/episodes/?season={N}

Add tests for the ExternalUrlProviders.
2026-03-25 18:47:40 -05:00
Louis 995d56d5ff Recognize ".m4b", ".m4a", ".aac", ".flac", ".mp3", and ".opus" as an audio-book formats (#15377)
* Recognize ".m4b" as an audio-book format

- Has the resolver recognize the ".m4b" format as book
  - Jellyfin reverts to seeing the file as a music file without this check

* Recognize ".m4a", ".aac", ".flac", and ".mp3" as an audio-book formats

- All the formats supported in the docs will now be marked as type "Book"

* Add ".opus" as a supported Audiobook format

---------

Co-authored-by: Louis Sandoval <louis@sandoval.family>
2026-03-19 20:31:29 +01:00
Shadowghost ebc15d3e27 Handle removed alternates 2026-03-14 20:26:40 +01:00
Bond_009 946c6b9981 Return BadRequest when an invalid set of filters is given 2026-03-11 21:22:48 +01:00
Shadowghost 352b6c91f8 Safeguard against empty list 2026-03-11 15:39:04 +01:00
Shadowghost a8a029de73 Fix DeleteItemsUnsafeFast usage 2026-03-11 09:16:35 +01:00
Shadowghost 077fa89717 Split BaseItemRepository and IItemRepository 2026-03-07 20:12:42 +01:00
Shadowghost 46ffe0af9c Fix version promotion if multiple versions change 2026-02-27 20:07:09 +01:00
Shadowghost 826e21ecc8 Fix LinkedAlternativeVersion validation 2026-02-27 13:51:51 +01:00
Shadowghost 885b45838c Enable Extras for BD and DVD folders 2026-02-27 13:30:23 +01:00
Shadowghost 2d0d497961 Update saved metadata on primary change 2026-02-25 21:03:46 +01:00
Shadowghost 9aa69eded9 Fix collection handling of multiple version movie 2026-02-25 08:51:26 +01:00
Shadowghost 34c1e45bc2 Fixup 2026-02-23 17:01:38 +01:00
Shadowghost ea0641b659 Fix version promotion 2026-02-23 09:05:43 +01:00
Shadowghost 3a090a5716 Optimize item count calculation for named items 2026-02-18 20:28:42 +01:00
Shadowghost ba356638e8 Fix Extra refresh 2026-02-15 23:13:01 +01:00
Shadowghost 3439d3c017 Migrate PrimaryVersionId to GUID and fix assignment 2026-02-15 23:12:52 +01:00
Shadowghost 71594b4a9a Fix multiple version resolution 2026-02-08 17:22:52 +01:00
Shadowghost 2420ece5fe Fix version resolution and scan handling 2026-02-07 19:01:37 +01:00
Shadowghost 00dd84035e Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-02-07 14:06:53 +01:00
Shadowghost 268d88a5fb Optimize Collection Grouping, NextUp and Latest queries 2026-02-07 01:38:06 +01:00
Shadowghost a0346fe5b7 Fix multiple version handling 2026-02-05 01:41:07 +01:00
Bond-009 909e2142d6 Merge pull request #14927 from nileshp87/patch-1
Add curly brace and parentheses support for parsing attribute values
2026-02-02 20:54:06 +01:00
Shadowghost 2789532aa8 Optimize Validator and Filter Performance 2026-01-31 19:22:04 +01:00
Shadowghost 694db80d4c Reroute on version removal 2026-01-31 19:21:36 +01:00
Shadowghost a650148dfd Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-01-30 21:12:06 +01:00
theguymadmax 0c274af72c Backport pull request #16077 from jellyfin/release-10.11.z
Revert hidden directory ignore pattern

Original-merge: 644327eb76

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-01-28 12:11:28 -05:00
Shadowghost 5996c4afce Complete LinkedChildren integration and batch DTO optimizations
This commit integrates remaining performance changes:

- Add batch user data fetching in DtoService to reduce N+1 queries
- Add GetNextUpEpisodesBatch in TVSeriesManager for efficient batch retrieval
- Update Video/Movie/BoxSet to use LibraryManager for alternate versions
- Transition LinkedChild to use ItemId instead of Path (obsolete Path/LibraryItemId)
- Update providers and controllers for LinkedChildren-based references
- Add NextUpEpisodeBatchResult for batched episode queries
- Integrate IDescendantQueryProvider in SqliteDatabaseProvider
2026-01-18 19:48:46 +01:00
Shadowghost 0b77f97048 Optimize latest items grouping in UserViewManager
- Use dictionary lookup for O(1) container grouping instead of O(n) FirstOrDefault searches
- Add optimized path for movies in GetLatestItemList
- Reduce query limit multiplier from 5x to 2x
- Update to collection expression syntax
2026-01-18 19:45:39 +01:00
Shadowghost d3d4d37e82 Simplify UserDataManager and remove unused private methods
Removes unused private GetUserData and GetUserDataInternal methods.
Moves GetUserDataBatch to be an abstract interface method rather than
having a default implementation for clarity.
2026-01-18 19:45:39 +01:00
Shadowghost 1c1447362e Skip metadata refresh for already-indexed items during validation
Optimizes the validation process by checking if items already exist in
the database before attempting to refresh metadata.
2026-01-18 19:45:39 +01:00
theguymadmax c9b7c5bb56 Backport pull request #16029 from jellyfin/release-10.11.z
Skip hidden directories and .ignore paths in library monitoring

Original-merge: 2cb7fb52d2

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-01-18 11:30:43 -05:00
Collin-Swish afcaec0a89 Backport pull request #15965 from jellyfin/release-10.11.z
Add mblink creation logic to library update endpoint.

Original-merge: 22d593b8e9

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-01-18 11:30:39 -05:00
MarcoCoreDuo 09edca8b7a Backport pull request #15899 from jellyfin/release-10.11.z
Fix watched state not kept on Media replace/rename

Original-merge: 8433b6d8a4

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-01-18 11:30:38 -05:00
Shadowghost b9cf26db2f Backport pull request #15746 from jellyfin/release-10.11.z
Skip invalid ignore rules

Original-merge: 6e60634c9f

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-28 07:22:20 -05:00
gnattu 5557004375 Backport pull request #15689 from jellyfin/release-10.11.z
Use original name for MusicAritist matching

Original-merge: 4c5a3fbff3

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-28 07:22:17 -05:00
Luigi311 771b0a7eab Library: Async the SaveImages function (#15718) 2025-12-13 08:43:49 -07:00
dkanada dd480f96cd parse more information from book filenames (#15655) 2025-12-13 08:29:28 -07:00