Bond-009
308981cc0d
Merge pull request #14935 from JadedRain/master
...
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Artifact (push) Waiting to run
Project Automation / Project board (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Merge Conflict Labeler / main (push) Waiting to run
CodeQL / Analyze (csharp) (push) Waiting to run
Format / format-check (push) Waiting to run
Fixed "Deleting media that is still being watched in SyncPlay results in errors"
2026-06-18 17:46:33 +02:00
Bond_009
d50205cc9f
Follow native interoperability best practices
...
https://learn.microsoft.com/en-us/dotnet/standard/native-interop/best-practices
2026-06-15 21:01:28 +02:00
Bond-009
003f01a99a
Merge pull request #16520 from beateixeira04/PlaylistPrimaryImageFix
...
fix(dto): prefer PlaylistsFolder primary image for playlists tiles
2026-06-07 22:56:35 +02:00
Shadowghost
b4d970ae38
Fix xUnit1051 in UserManagerLockHelperTests
2026-06-07 22:04:00 +02:00
JPVenson
6ccdaad0a4
Backport pull request #16944 from jellyfin/release-10.11.z
...
Add lockhelper for UserManager
Original-merge: 39958ad9e5
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-06-07 14:29:36 -04:00
Shadowghost
5feb70f489
Fix recently added episode links and posters
2026-05-29 10:41:50 +02:00
Bond-009
11130030d2
Backport: Fix/user manager collation ( #16919 )
...
Backport: Fix/user manager collation
2026-05-26 20:59:20 +02:00
Bond-009
31889c0215
Merge pull request #16828 from Shadowghost/episode-multiple-versions
...
Implement multiple versions for episodes.
2026-05-15 10:19:28 +02:00
Shadowghost
5cfb379aa6
Use native middleware
2026-05-12 23:18:38 +02:00
Shadowghost
4be3f5f1f9
Add Accept-Language header support for per-request localization
2026-05-12 23:18:38 +02:00
Shadowghost
d5bb7756f1
Implement multiple versions for episodes.
2026-05-11 16:41:22 +02:00
Erik W
e1e18e8da0
Add OriginalLanguage as option to PreferredAudioLanguage ( #12579 )
...
* Add OriginalLanguage as option to PreferredAudioLanguage
* Support for multiple original languages
* Add original audio stream indicator
* Fetch OriginalLanguage from TMDB
* Adapt to EFCore refactor
* Fix PlayDefaultAudioTrack OriginalLanguage behavior
* Fix better PlayDefaultAudioTrack OriginalLanguage behavior
* Add comment to ItemFields
* Improved PlayDefaultAudioTrack behavior
* Add migration for original language
* Use sting.Equals for string comparisons
* Always set dto OriginalLanguage
* Remove OriginalLanguage from ItemFields
---------
Co-authored-by: Lampan-git <lampan-git@users.noreply.github.com >
2026-05-07 20:07:23 +02:00
Bond-009
33ed52b8ee
Merge branch 'master' into feature/season-provider-id-from-path
2026-05-06 20:49:19 +02:00
Bond-009
1bbbc1c823
Merge pull request #16328 from Shadowghost/rating-fix
...
Fix Canadian rating and fallback to unrated if we have a CountryCode but no matching rating
2026-05-06 20:33:58 +02:00
Shadowghost
d20c775daf
Implement ignore rule caching
2026-05-03 23:35:33 +02:00
Bond-009
b1e2419c65
Merge pull request #16666 from Shadowghost/xunit3
...
Upgrade to xunit v3
2026-04-24 18:59:31 +02:00
Shadowghost
bd70e0ca34
Upgrade to xunit v3
2026-04-19 18:41:39 +02:00
Eliya Wolfram Konzo
8510cfe77d
Added Tanzania countries.json ( #14406 )
...
* Update countries.json
Added Tanzania
* Fix order countries.json
* Fix tests
---------
Co-authored-by: Bond_009 <bond.009@outlook.com >
2026-04-15 19:59:13 +02:00
Lasath Fernando
553f38a237
Fix language display for ISO 639-2-only codes (e.g. mul, und)
...
LoadCultures() in LocalizationManager skipped all iso6392.txt entries
without a two-letter ISO 639-1 code, dropping 302 of 496 languages
including mul (Multiple languages), und (Undetermined), mis (Uncoded
languages), zxx, and many real languages like Achinese, Akkadian, etc.
This caused FindLanguageInfo() to return null for these codes, which
meant:
- ExternalPathParser could not recognize them as valid language codes
in subtitle filenames, so the Language field was never set
- DisplayTitle fell back to the raw code string (e.g. "Mul")
Fix by allowing entries without two-letter codes to be loaded with an
empty TwoLetterISOLanguageName. Also set LocalizedLanguage in
ProbeResultNormalizer for ffprobe-detected streams (the DB repository
path was already handled on master).
2026-04-08 12:38:24 -05:00
Beatriz Teixeira
8ceb8c23ce
fix(dto): prefer PlaylistsFolder primary image for playlists tiles
...
This patch fixes issue #16032 where the Playlists media folder ignored a user-uploaded Primary image and kept showing the generated collage. The root cause was DTO image precedence on UserView items for CollectionType.playlists. We now prefer the display parent (PlaylistsFolder) Primary image when available by clearing the UserView Primary tag and setting ParentPrimaryImageItemId/ParentPrimaryImageTag. Added tests cover both paths: parent custom image preferred, and fallback to existing UserView Primary when parent has none.
2026-03-29 15:27:32 +01: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
Shadowghost
3d4e4c4572
If we have a country code in the rating, treat as unrated if the country does not have the rating
2026-03-02 09:14:23 +01:00
Bond-009
909e2142d6
Merge pull request #14927 from nileshp87/patch-1
...
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
Bond-009
8083ab78b5
Fix tests
2026-02-02 20:46:28 +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
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
Bond-009
185849b68a
Merge pull request #15956 from ZeusCraft10/fix/issue-15945-unknown-type-deserialization
...
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
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
fix: Handle unknown item types gracefully in DeserializeBaseItem
2026-01-09 18:40:59 +01:00
ZeusCraft10
244757c92c
Fix KeyNotFoundException in CryptographyProvider.Verify
...
When a password hash is missing the 'iterations' parameter, Verify now
throws a descriptive FormatException instead of KeyNotFoundException.
- Extract GetIterationsParameter() helper method to avoid code duplication
- Provide distinct error messages for missing vs invalid parameters
- Add comprehensive unit tests for CryptographyProvider
2026-01-05 23:03:22 -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
Shadowghost
3c802a7505
Backport pull request #15793 from jellyfin/release-10.11.z
...
Prefer US rating on fallback
Original-merge: 156761405e
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-12-28 07:22:30 -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
Nilesh Patel
acb9da6f93
Add curly brace and parentheses support for parsing attribute values from paths
2025-12-10 12:23:05 -08: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
JPVenson
74c9629372
Backport pull request #15413 from jellyfin/release-10.11.z
...
Fixed missing sort argument
Original-merge: 91c3b1617e
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-11-17 14:08:55 -05:00
Christopher Young
88602ce905
Refactored GroupTests. Removed duplicate mock object declarations
2025-11-08 12:35:37 -07:00
Christopher Young
438d992c8b
Fixed group tests to use a file scoped namespace
2025-11-08 07:30:58 -07:00
pokreman06
b09c9655fd
Update tests/Jellyfin.Server.Implementations.Tests/SyncPlay/GroupTests.cs
...
Co-authored-by: Bond-009 <bond.009@outlook.com >
2025-10-10 10:38:36 -06:00
pokreman06
790220ef6b
Update tests/Jellyfin.Server.Implementations.Tests/SyncPlay/GroupTests.cs
...
Co-authored-by: Bond-009 <bond.009@outlook.com >
2025-10-10 10:38:29 -06:00
Christopher Young
91b2b7fc3d
added tests
2025-10-08 12:27:46 -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
dyphire
2007815fa6
Further refinement of BCP 47 language labeling support
2025-07-30 22:15:37 +08:00
Sven Cazier
7785b51f57
Enhance extra rules for video and audio file naming; update tests for new naming conventions
2025-07-26 23:24:58 +02:00
Tim Eisele
c6e568692e
Fix modification checks and make sure to use UTC ( #14347 )
OpenAPI / OpenAPI - HEAD (push) Waiting to run
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
2025-06-26 17:50:37 -06:00
Bond-009
28e2f5bb08
Add tests for ManagedFileSystem.MoveDirectory ( #14065 )
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
2025-05-05 15:39:06 -06:00
Bond-009
0c3ba30de2
Cleanup file related code ( #14023 )
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
2025-05-04 08:40:34 -06:00
Tim Eisele
a0b3b7335f
Add .gitignore style ignoring ( #13906 )
2025-04-26 09:35:57 -06:00
baka0815
5fc1b1c862
Translate the ISO-639-2/B codes to ISO-639-2/T. ( #13068 )
...
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
* Translate the ISO-639-2/B codes to ISO-639-2/T.
This enables 19 additional languages to be displayed correctly.
* Convert the 2-dimensional array to a dictionary
* Added the French language to the list of ISO-639-2/B codes
* Don't change the property, use a local variable instead.
* When creating the MediaStream in the MediaStreamRepository ensure that the ISO 639-2/T (f.e. deu) code is used for the language as that is the one the .NET culture info knows.
The other code is most likely the ISO 639-2/B code (f.e. ger) which is unknown to the .NET culture info and will result in just displaying the code instead of the display name.
* Move the substitution of ISO 639-2/B to /T to the localization manager.
Some language (like Chinese) have multiple entries in the iso6392.txt file (f.e. zho|chi|zh|..., zho|chi|zh-tw|...) but the conversation between /T and /B is the same so use .TryAdd.
* Change the method definition from GetISO6392TFromB to TryGetISO6392TFromB and return true if a case was found.
* Add unit tests for TryGetISO6392TFromB.
2025-04-07 21:29:12 -06:00
Tim Eisele
3fc3b04daf
Rework parental ratings ( #12615 )
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
2025-03-30 21:51:54 -06:00
Quyet Vu
2ace880345
Fix playlist order ( #13730 )
...
* Fix playlist order move
* Remove extra space
* Added more test cases
* Change namespace to file-scoped
2025-03-30 21:39:51 -06:00
Cody Robibero
6c46b06c75
Fix merged namespace error
2025-03-27 19:46:45 -06:00