aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
21 hoursAdded Tanzania countries.json (#14406)Eliya Wolfram Konzo
* Update countries.json Added Tanzania * Fix order countries.json * Fix tests --------- Co-authored-by: Bond_009 <bond.009@outlook.com>
22 hoursfix: retain subtitles spanning HLS segment boundaries (#16594)Hilmar Gústafsson
fix: retain subtitles spanning HLS segment boundaries
5 daysMerge pull request #16380 from LTe/fix-subtitle-extraction-settingBond-009
Respect EnableSubtitleExtraction setting in subtitle delivery
8 daysFix language display for ISO 639-2-only codes (e.g. mul, und)Lasath Fernando
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).
12 daysMerge pull request #15902 from ZeusCraft10/fix/udp-discovery-cross-subnet-ipv6Joshua M. Boniface
2026-03-29Only set IsAvc for video streamsBond_009
Also enables nullable for MediaStreamInfo Makes more properties nullable that aren't always present
2026-03-29recognize underscore and dot separators for multi-version grouping (#16465)upscaylman
* Add underscore and dot as multi-version file separators Extend IsEligibleForMultiVersion to recognize _ and . as valid separators between the base movie name and the version suffix. Common naming patterns like 'Movie_4K.mkv' or 'Movie.UHD.mkv' are now correctly grouped as alternate versions during library scan. * Address review: remove comment, add 3D recognition assertions --------- Co-authored-by: aimarshall615-creator <aimarshall615@gmail.com>
2026-03-27Merge pull request #16222 from tyage/fix/filename-truncation-bracketed-tagsBond-009
Fix filename truncation when bracketed tags appear mid-filename
2026-03-13Merge pull request #16368 from redinsch/fix/image-language-priorityBond-009
Fix remote image language priority to prefer English over no-language
2026-03-13Respect EnableSubtitleExtraction setting in subtitle deliveryPiotr Niełacny
Wire up EnableSubtitleExtraction config to MediaEncoder.CanExtractSubtitles so the setting is actually respected. Gate subtitle extraction check behind PlayMethod.Transcode since DirectPlay has no competing ffmpeg process. Add parameterized tests for StreamBuilder.GetSubtitleProfile covering text and graphical codecs, profile format matching, and extraction setting behavior. Remove misplaced SubtitleEncoder extraction test.
2026-03-11Return BadRequest when an invalid set of filters is givenBond_009
2026-03-08Use file-scoped namespace in EnumerableExtensionsTestsredinsch
2026-03-08Fix remote image language priority to prefer English over no-languageredinsch
Previously, images with no language were ranked higher (score 3) than English images (score 2), causing poorly rated languageless images to be selected over well-rated English alternatives for posters and logos. Swap the priority so English is preferred over no-language images. Backdrop images are unaffected as they have their own dedicated sorting. Add unit tests for OrderByLanguageDescending. Fixes #13310
2026-03-01Fix StyleCop and xUnit analyzer errorsNoFear0411
- Add missing param and returns XML doc tags (SA1611, SA1615) - Remove trailing alignment whitespace in test attributes (SA1025) - Use nullable string parameter for null test case (xUnit1012)
2026-03-01Fix near-1:1 SAR values falsely flagged as anamorphicNoFear0411
Encoders sometimes produce sample aspect ratios like 3201:3200 (0.03% off square) for content that has effectively square pixels. The exact string comparison against "1:1" marks these as anamorphic, which triggers unnecessary transcoding on clients that require non-anamorphic video. Parse the SAR ratio numerically and treat values within 1% of 1:1 as square pixels. This threshold is well clear of the nearest real anamorphic SAR (PAL 4:3 at 16:15 = 6.67% off).
2026-02-18Fix malformed query string in StreamInfo.ToUrl() causing 500 error via proxiesCosmin Dumitru
StreamInfo.ToUrl() generated URLs like `/master.m3u8?&DeviceId=...` (note `?&`) because `?` was appended to the path and all parameters started with `&`. When the first optional parameter (DeviceProfileId) was null, the result was a malformed query string. This is harmless when clients hit Jellyfin directly (ASP.NET Core tolerates `?&`), but when accessed through a reverse proxy that parses and re-serializes the URL (e.g. Home Assistant ingress via aiohttp/yarl), `?&` becomes `?=&` — introducing an empty-key query parameter. ParseStreamOptions then crashes on `param.Key[0]` with IndexOutOfRangeException. Changes: - StreamInfo.ToUrl(): Track query start position and replace the first `&` with `?` after all parameters are appended, producing valid query strings - ParseStreamOptions: Guard against empty query parameter keys - Tests: Remove .Replace("?&", "?") workaround that masked the bug Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12Fix filename truncation when bracketed tags appear mid-filenametyage
2026-02-02Merge pull request #14927 from nileshp87/patch-1Bond-009
Add curly brace and parentheses support for parsing attribute values
2026-02-02Fix testsBond-009
2026-01-28Backport pull request #16077 from jellyfin/release-10.11.ztheguymadmax
Revert hidden directory ignore pattern Original-merge: 644327eb762a907328c68ab9f5d61a151cd96897 Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2026-01-18Backport pull request #16029 from jellyfin/release-10.11.ztheguymadmax
Skip hidden directories and .ignore paths in library monitoring Original-merge: 2cb7fb52d2221d9daa39206089b578c2c0fcb549 Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2026-01-18Fix zh-CN subtitle language display (#15947)Bond-009
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-18Merge pull request #15926 from abitofevrything/feat/accurate_hls_seekingAbitofevrything
Refactor HLS transcode seeking
2026-01-14Replace AlphanumericComparator with new CompareOptions.NumericOrderingBond_009
2026-01-14Fix testsBond_009
2026-01-14Update to .NET 10.0Bond_009
2026-01-09Merge pull request #15956 from ↵Bond-009
ZeusCraft10/fix/issue-15945-unknown-type-deserialization fix: Handle unknown item types gracefully in DeserializeBaseItem
2026-01-05Fix KeyNotFoundException in CryptographyProvider.VerifyZeusCraft10
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-05fix: Handle unknown item types gracefully in DeserializeBaseItemZeusCraft10
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-05Fix zh-CN subtitle language displayZeusCraft10
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.
2025-12-30Fix UDP Auto-Discovery returning IPv6 for cross-subnet IPv4 requestsZeusCraft10
Fixes #15898 When a UDP discovery request is relayed from a different IPv4 subnet, GetBindAddress() now correctly returns an IPv4 address instead of incorrectly falling back to ::1. Changes: - Loopback fallback now prefers address family matching the source IP - Interface fallback now prefers interfaces matching source address family - Added test case for cross-subnet IPv4 request scenario
2025-12-28Backport pull request #15807 from jellyfin/release-10.11.zgnattu
Enforce more strict webm check Original-merge: 8379b4634aeaf9827d07a41cf9ba8fd80c8c323e Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-28Backport pull request #15793 from jellyfin/release-10.11.zShadowghost
Prefer US rating on fallback Original-merge: 156761405e7fd5308474a7e6301839ae7c694dfa Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-28Backport pull request #15746 from jellyfin/release-10.11.zShadowghost
Skip invalid ignore rules Original-merge: 6e60634c9f078cc01e343b07a0a6b2a5c230478c Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-10Add curly brace and parentheses support for parsing attribute values from pathsNilesh Patel
2025-12-08Merge pull request #14879 from audrey-inglish/masteraudrey-inglish
Fix: normalize punctuation when computing CleanName so searches without punctuation match (closes #1674)
2025-11-27Merge pull request #14824 from CodyEngel/fix-numeric-titlesNiels van Velzen
Fix TV Series parsing containing only numbers.
2025-11-27Merge pull request #14950 from nielsvanvelzen/security-remove-has-passwordNiels van Velzen
Deprecate HasPassword property on UserDto
2025-11-17Backport pull request #15413 from jellyfin/release-10.11.zJPVenson
Fixed missing sort argument Original-merge: 91c3b1617e06283c88f36bc63046b99c993cb774 Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17Backport pull request #15404 from jellyfin/release-10.11.ztheguymadmax
Improve season folder parsing Original-merge: 2e5ced50986c37b19b5f4ef34d730fc56a51535a Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-02Backport pull request #15326 from jellyfin/release-10.11.zShadowghost
Skip too large extracted season numbers Original-merge: e7dbb3afec3282c556e4fe35d9376ecaa4417171 Merged-by: crobibero <cody@robibe.ro> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2025-10-27Backport pull request #15102 from jellyfin/release-10.11.ztheguymadmax
Make season paths case-insensitive Original-merge: 305b0fdca323833653dd26c642b2c465890143dc Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-19Add back UpdateUserPassword_Empty_RemoveSetPassword testNiels van Velzen
2025-10-08add test for new uniqueid nfo key normalisationKGT1
2025-10-05Deprecate HasPassword property on UserDtoNiels van Velzen
2025-10-04Handle xx as TMDb no language for backdrops (#14941)Cody Robibero
2025-09-20remove explicit ‘-‘ support in series nameCody Engel
2025-09-20support series that are numeric onlyCody Engel
updates SeriesResolver to handle series names that only contain numbers such as 1923.
2025-09-16Optimize internal querying of UserData, other fixes (#14795)JPVenson
2025-09-06Preserve 3D format on metadata refresh (#14742)theguymadmax