Commit Graph

961 Commits

Author SHA1 Message Date
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
Some checks failed
CodeQL / Analyze (csharp) (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
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)
Some checks failed
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
2025-12-13 08:43:49 -07:00
dkanada
dd480f96cd parse more information from book filenames (#15655)
Some checks failed
CodeQL / Analyze (csharp) (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
2025-12-13 08:29:28 -07:00
Nilesh Patel
acb9da6f93 Add curly brace and parentheses support for parsing attribute values from paths 2025-12-10 12:23:05 -08:00
evan314159
8b2a8b94b6 avoid Take(0) when limit == 0 (#14608)
Co-authored-by: Evan <evan@MacBook-Pro.local>
2025-12-08 21:15:46 -07:00
theguymadmax
5b3f29946b Backport pull request #15501 from jellyfin/release-10.11.z
Fix .ignore handling for directories

Original-merge: e8150428b6

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17 14:09:09 -05:00
CBPJ
a08b6ac266 Backport pull request #15487 from jellyfin/release-10.11.z
Fix gitignore-style not working properly on windows.

Original-merge: 435bb14bb2

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17 14:09:07 -05:00
theguymadmax
e51680cf56 Backport pull request #15462 from jellyfin/release-10.11.z
Fix NullReferenceException in GetPathProtocol when path is null

Original-merge: 7c1063177f

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17 14:09:02 -05:00
theguymadmax
e34e7a1d0b Backport pull request #15423 from jellyfin/release-10.11.z
Invalidate parent folder's cache on deletion/creation

Original-merge: 49efd68fc7

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17 14:08:57 -05:00
revam
5ea3910af9 Backport pull request #15263 from jellyfin/release-10.11.z
Resolve symlinks for static media source infos

Original-merge: 3b2d64995a

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17 14:08:47 -05:00
theguymadmax
06fb300cff Backport pull request #14955 from jellyfin/release-10.11.z
Fix tmdbid not detected in single movie folder

Original-merge: def5956cd1

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17 14:08:45 -05:00
Shadowghost
423c2654c0 Backport pull request #15209 from jellyfin/release-10.11.z
Improve symlink handling

Original-merge: e5656af1f2

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-27 15:43:27 -04:00
theguymadmax
4c1c160990 Backport pull request #15133 from jellyfin/release-10.11.z
Play selected song first with instant mix

Original-merge: 1520a697ad

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-27 15:43:17 -04:00
Tim Eisele
5c519270b8 Remove chapters on file change (#14984) 2025-10-13 12:32:41 -06:00
theguymadmax
2b45a984dd Clean up missing image references (#14962) 2025-10-08 08:23:12 -06:00
Thomas Jones
bf69f9d8a8 Validate wizard-created libraries immediately instead of only doing it after a library refresh was triggered (#14942)
Some checks failed
CodeQL / Analyze (csharp) (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
Co-authored-by: Derpipose <90276123+Derpipose@users.noreply.github.com>
2025-10-04 08:58:51 -06:00
theguymadmax
d6cebf1e67 Add tag filtering and random sorting to GetSimilarItems (#14918) 2025-10-01 17:26:48 -06:00
JPVenson
5a6d9180fe Add People Dedup and multiple progress fixes (#14848) 2025-09-24 15:20:30 -06:00
JPVenson
98f5e21bb8 Fix groupings not applied (#14826) 2025-09-22 15:31:21 -06:00
Tim Eisele
b73ea1b99d Skip removed images (#14823) 2025-09-20 07:20:21 -06:00
JPVenson
a1b85a63e7 Fix root folder not being saved to Db if nessesary (#14819)
* Fix root folder not being saved to Db if nessesary

* Always update folder to Db
2025-09-19 11:47:41 -06:00
JPVenson
a0b3e2b071 Optimize internal querying of UserData, other fixes (#14795) 2025-09-16 13:08:04 -06:00
Bond-009
8776a447d1 Various cleanups (#14785) 2025-09-12 13:58:23 -06:00
Bond-009
deee04ae38 Add fast path to check for empty ignore files (#14782) 2025-09-12 13:58:02 -06:00
theguymadmax
986a509955 Add 1-second tolerance to resume playback completion check (#14774)
Some checks failed
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
2025-09-11 15:24:23 -06:00
theguymadmax
0845b0c258 Skip non-media folders in movie resolver (#14724)
Some checks failed
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
* Skip non-media folders in movie resolver

* Ignorepatterns first
2025-09-07 13:02:52 +02:00
theguymadmax
d9eaeed61d Fix latest items grouping by collection type (#14736)
* Fix latest items grouping by collection type

* Update Emby.Server.Implementations/Library/UserViewManager.cs

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

---------

Co-authored-by: Bond-009 <bond.009@outlook.com>
2025-09-05 11:05:37 +02:00
Cody Robibero
bd94ca3071 Merge pull request #14634 from crobibero/itemname-counts 2025-08-12 20:20:54 -06:00
Cody Robibero
beca405ad4 Refactor to pull item counts in a single query 2025-08-11 21:06:04 -06:00
Tim Eisele
0650666497 Always save images (#14600)
Some checks failed
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
2025-08-09 08:24:26 -06:00
Joshua M. Boniface
1262ac31dc Merge pull request #14410 from dyphire/language
Further refinement of BCP 47 language labeling support
2025-08-03 17:29:40 -04:00