Shadowghost
5dcec831f3
Fix naming filter when collapsing into boxsets
2026-02-09 09:13:31 +01:00
Shadowghost
edc6caf255
Cleanup and fix version ordering
2026-02-09 00:45:48 +01:00
Shadowghost
0a99a78ddc
Fix random sorting
2026-02-08 21:52:08 +01:00
Shadowghost
71594b4a9a
Fix multiple version resolution
2026-02-08 17:22:52 +01:00
Shadowghost
bb6c3b4eec
Fix BoxSet collapse handling and deletion
2026-02-07 21:17:01 +01:00
Shadowghost
00dd84035e
Merge remote-tracking branch 'upstream/master' into perf-rebased
2026-02-07 14:06:53 +01:00
Shadowghost
98d7c8d59f
Make sure we deduplicate LinkedChildren
2026-02-07 09:37:42 +01:00
Shadowghost
268d88a5fb
Optimize Collection Grouping, NextUp and Latest queries
2026-02-07 01:38:06 +01:00
Shadowghost
46ad25f47d
Fix NextUp
2026-02-05 19:57:39 +01:00
Shadowghost
a0346fe5b7
Fix multiple version handling
2026-02-05 01:41:07 +01:00
Shadowghost
aedd2b04a2
Fix alternative Versions and prevent over fetching
2026-02-04 19:19:31 +01:00
theguymadmax
4c751e0a86
Normalize names and roles
2026-02-03 17:41:01 -05:00
Shadowghost
042385599f
Fix orderBy warnings
2026-02-01 12:22:27 +01:00
Shadowghost
09a729effe
Fix tag checks
2026-01-31 23:45:38 +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
815a153b94
Backport pull request #16098 from jellyfin/release-10.11.z
...
Fix random sort returning duplicate items
Original-merge: a37ead86df
Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-01-28 12:11:29 -05:00
MarcoCoreDuo
6d34f605a3
Backport pull request #16071 from jellyfin/release-10.11.z
...
Rehydrate cached UserData after reattachment
Original-merge: 95d08b264f
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-01-28 12:11:26 -05:00
theguymadmax
ec4744709d
Backport pull request #15816 from jellyfin/release-10.11.z
...
Fix artist display order
Original-merge: a2b1936e73
Merged-by: joshuaboniface <joshua@boniface.me >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-01-28 12:11:23 -05:00
Shadowghost
17e8759a52
Apply review suggestions
2026-01-26 16:52:26 +01:00
Shadowghost
95a301dc43
Optimization and search test fixes
2026-01-19 12:39:17 +01:00
Shadowghost
342846e4fc
Add ImageInfo index
2026-01-18 19:48:46 +01:00
Shadowghost
2086ac7dd2
Don't use raw SQL
2026-01-18 19:48:46 +01:00
Shadowghost
89427af41c
Fixes after rebase
2026-01-18 19:48:46 +01: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
912a963a2b
Add folder-aware filter extensions and descendant query provider
...
- Add FolderAwareFilterExtensions for LinkedChildren-based filtering
- Add IDescendantQueryProvider interface for database-specific queries
- Add MatchCriteria classes for folder filtering
- Add SqliteDescendantQueryProvider implementation
2026-01-18 19:47:02 +01:00
Shadowghost
c350fd0f40
Remove ExtraIds column and use OwnerId relationship for extras
...
- Remove ExtraIds property from BaseItemEntity and BaseItem
- Update RefreshExtras to query via OwnerId instead of cached ExtraIds
- Update GetExtras methods to query database via OwnerIds filter
- Add OwnerIds and ExtraTypes filter support to InternalItemsQuery
- Add filter handling in BaseItemRepository for new query options
- Update HasSpecialFeature/HasTrailer filters to use Extras relationship
- Add CleanupOrphanedExtras migration routine
- Add database migration to drop ExtraIds column
2026-01-18 19:47:02 +01:00
Shadowghost
139d23ddc2
Normalize OwnerId to GUID and add performance indexes
...
- Change OwnerId from string to Guid for proper foreign key relationships
- Add Owner/Extras navigation properties for extras relationship
- Add indexes on OwnerId and ExtraType columns for efficient queries
- Add optimized composite indexes for latest items queries sorted by DateCreated
- Update BaseItemRepository and migration to handle new Guid type
2026-01-18 19:46:37 +01:00
Shadowghost
1491494bcb
Add early tag check exit and enhance search ordering
...
- BaseItem: Skip GetInheritedTags() call for users without tag
restrictions, improving visibility check performance
- BaseItem: Only fetch parents once in visibility chec
- OrderMapper: Include OriginalTitle in search relevance scoring
for better matching of foreign content
2026-01-18 19:46:37 +01:00
theguymadmax
42ff253339
Backport pull request #16020 from jellyfin/release-10.11.z
...
Fix birthplace not saving correctly
Original-merge: 49775b1f6a
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-01-18 11:30:42 -05:00
Shadowghost
c4ffc357a3
Backport pull request #15983 from jellyfin/release-10.11.z
...
Prioritize better matches on search
Original-merge: a518160a6f
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-01-18 11:30:41 -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
Bond-009
226da3b371
Fix zh-CN subtitle language display ( #15947 )
...
The DisplayTitle property was using .NET's CultureInfo.GetCultures(NeutralCultures)
to resolve language display names. Since zh-CN is a specific culture (not neutral),
it would fall back to the base 'zh' code, resulting in generic 'Chinese' instead
of 'Chinese (Simplified)'.
This change adds a LocalizedLanguage property to MediaStream that gets populated
via LocalizationManager.FindLanguageInfo() when streams are retrieved from the
database. This leverages Jellyfin's existing iso6392.txt mappings which correctly
map zh-CN to 'Chinese (Simplified)'.
The same pattern is already used for other localized strings like LocalizedDefault
and LocalizedExternal.
2026-01-18 12:19:31 +01:00
Bond_009
9e480f6efb
Update to .NET 10.0
2026-01-14 18:55:47 +01:00
theguymadmax
0ee872999d
Backport pull request #15931 from jellyfin/release-10.11.z
...
Fix tag inheritance for Continue Watching queries
Original-merge: 559e0088e5
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-01-10 06:11:25 -05:00
ZeusCraft10
0ff869dfcd
fix: Handle unknown item types gracefully in DeserializeBaseItem
...
When querying items with recursive=true, items with types from removed
plugins would cause a 500 error. Now these items are skipped with a
warning log instead of throwing an exception.
Fixes #15945
2026-01-05 21:08:26 -05:00
ZeusCraft10
9039077286
Fix zh-CN subtitle language display
...
The DisplayTitle property was using .NET's CultureInfo.GetCultures(NeutralCultures)
to resolve language display names. Since zh-CN is a specific culture (not neutral),
it would fall back to the base 'zh' code, resulting in generic 'Chinese' instead
of 'Chinese (Simplified)'.
This change adds a LocalizedLanguage property to MediaStream that gets populated
via LocalizationManager.FindLanguageInfo() when streams are retrieved from the
database. This leverages Jellyfin's existing iso6392.txt mappings which correctly
map zh-CN to 'Chinese (Simplified)'.
The same pattern is already used for other localized strings like LocalizedDefault
and LocalizedExternal.
2026-01-05 06:22:44 -05:00
theguymadmax
b9158c467a
Backport pull request #15768 from jellyfin/release-10.11.z
...
Fix NullReferenceException in ApplyOrder method
Original-merge: b617c62f8e
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-12-28 07:22:26 -05:00
Collin-Swish
2a464c316d
Backport pull request #15752 from jellyfin/release-10.11.z
...
Fix case sensitivity edge case
Original-merge: b50ce1ad6b
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-12-28 07:22:21 -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
andrewrabert
8461268837
Backport pull request #15666 from jellyfin/release-10.11.z
...
Fix unnecessary database JOINs in ApplyNavigations
Original-merge: 4cdd8c8233
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-12-28 07:22:13 -05:00
Björn Tenje Persson
84f66dd54e
Fixed Multi Sort in New ActivityManager ( #15820 )
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (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
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
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
2025-12-19 20:36:38 -07:00
Luigi311
771b0a7eab
Library: Async the SaveImages function ( #15718 )
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
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
Cody Robibero
0b3d6676d1
Add ability to sort and filter activity log entries ( #15583 )
2025-12-08 21:01:32 -07:00
audrey-inglish
8fd59d6f33
Merge pull request #14879 from audrey-inglish/master
...
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
Fix: normalize punctuation when computing CleanName so searches without punctuation match (closes #1674 )
2025-12-08 18:43:37 +01:00
theguymadmax
70dcf3f7b3
Backport pull request #15594 from jellyfin/release-10.11.z
...
Fix isMovie filter logic
Original-merge: 94f3725208
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-12-03 14:04:25 -05:00
theguymadmax
4f020a947a
Backport pull request #15564 from jellyfin/release-10.11.z
...
Fix locked fields not saving
Original-merge: 0ee81e87be
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-12-03 14:04:22 -05:00
Niels van Velzen
19c232809e
Merge pull request #14950 from nielsvanvelzen/security-remove-has-password
...
Deprecate HasPassword property on UserDto
2025-11-27 16:31:05 +01:00