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
theguymadmax
b528c1100f
Fix missing music genre metadata ( #14332 )
2025-06-23 08:30:59 -06:00
Tim Eisele
b2312466e1
Update Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
...
Co-authored-by: Bond-009 <bond.009@outlook.com >
2025-06-19 11:40:40 +02:00
Tim Eisele
989aef18af
Update Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
...
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com >
2025-06-18 23:08:05 +02:00
Shadowghost
ccb917b8df
Cleanup logging and user data import skip on missing user
2025-06-18 21:33:32 +02:00
JPVenson
4cd0a2ed8d
Always set update action when item does not exist ( #14304 )
2025-06-15 15:19:57 -06:00
JPVenson
2d9257b203
Add explicit check for placeholder ID ( #14298 )
2025-06-15 12:07:19 -06:00
JPVenson
1c4c9cf733
Fix UserData cleanup task and queries ( #14280 )
2025-06-11 17:30:57 -06:00
JPVenson
d3ad2aec60
Feature/persistent watch data ( #14262 )
2025-06-09 17:14:27 -06:00
JPVenson
7aee5b1e70
Fix ExcludeItemId, ExcludeProviderIds and HasAnyProviderId filter ( #14249 )
2025-06-08 19:53:18 -06:00
theguymadmax
4f3b49472a
Fix broken chapter image placeholders when no image is present ( #14230 )
2025-06-06 13:52:00 -06:00
JPVenson
a1d72deba2
Add multiple options for internal locking ( #14047 )
2025-06-03 15:15:22 -06:00
Max
8cb077402f
Use CleanName for sorting case insensitive
2025-05-22 10:32:40 -04:00
Max
709d0bb231
Make name sorting case insensitive
2025-05-21 11:18:34 -04:00
theguymadmax
43659f011c
Fix ArgumentNullException in TmdbExternalUrlProvider ( #14130 )
2025-05-18 18:35:12 -06:00
Alexander Miller
29fc7711a1
Merge pull request #14094 from allesmi/fix/ancestor-ids-parent-child-relation
...
CodeQL / Analyze (csharp) (push) Has been cancelled
Merge Conflict Labeler / Labeling (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
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
Translate query by AncestorIds correctly
2025-05-15 11:48:20 +02:00
Tim Eisele
d976f13970
Recognize file changes and remove data on change ( #13839 )
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 21:21:44 -06:00
JPVenson
1c4b5199b8
Fix ItemValue query ( #13939 )
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-04-26 19:10:54 -06:00
JPVenson
5d65cfcd99
improved performance of save operations ( #13889 )
2025-04-26 09:32:12 -06:00
Tim Eisele
df5671263f
Merge pull request #13847 from Shadowghost/rework-chapter-management
...
Rework chapter management
2025-04-26 14:01:12 +02:00
theguymadmax
1c190f7952
Improve video resolution filtering and classification logic ( #13332 )
2025-04-19 10:45:19 -06:00
Tim Eisele
cad8de9701
Add Genre cleanup and fix cleanup filter queries ( #13891 )
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
Project Automation / Project board (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-04-09 18:40:16 -06:00
JPVenson
070abcd8ff
Fix InheritedParentalRatingSubValue not set ( #13880 )
2025-04-08 19:19:01 -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
b65e03da9a
Fix Genre type ( #13862 )
2025-04-07 06:11:05 -06:00
Tim Eisele
de3d1445c0
Fix ancestors ( #13827 )
2025-04-05 10:49:29 -06:00
Tim Eisele
0e7ae0e9a4
Fix indices and update of ItemValues ( #13843 )
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-04-05 09:57:58 -06:00
Tim Eisele
0573999d5e
Import Keyframes into database ( #13771 )
...
* Migrate keyframe data into database
* Clear database table before import to handle failed migrations
2025-04-02 18:06:40 -06:00
gnattu
49ac705867
Improve dynamic HDR metadata handling ( #13277 )
...
* Add support for bitstream filter to remove dynamic hdr metadata
* Add support for ffprobe's only_first_vframe for HDR10+ detection
* Add BitStreamFilterOptionType for metadata removal check
* Map HDR10+ metadata to VideoRangeType.cs
Current implementation uses a hack that abuses the EL flag to avoid database schema changes. Should add proper field once EFCore migration is merged.
* Add more Dolby Vision Range types
Out of spec ones are problematic and should be marked as a dedicated invalid type and handled by the server to not crash the player.
Profile 7 videos should not be treated as normal HDR10 videos at all and should remove the metadata before serving.
* Remove dynamic hdr metadata when necessary
* Allow direct playback of HDR10+ videos on HDR10 clients
* Only use dovi codec tag when dovi metadata is not removed
* Handle DV Profile 7 Videos better
* Fix HDR10+ with new bitmask
* Indicate the presence of HDR10+ in HLS SUPPLEMENTAL-CODECS
* Fix Dovi 8.4 not labeled as HLG in HLS
* Fallback to dovi_rpu bsf for av1 when possible
* Fix dovi_rpu cli for av1
* Use correct EFCore db column for HDR10+
* Undo outdated migration
* Add proper hdr10+ migration
* Remove outdated migration
* Rebase to new db code
* Add migrations for Hdr10PlusPresentFlag
* Directly use bsf enum
* Add xmldocs for SupportsBitStreamFilterWithOption
* Make `VideoRangeType.Unknown` explicitly default on api models.
* Unset default for non-api model class
* Use tuples for bsf dictionary for now
2025-04-02 18:06:02 -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
Cody Robibero
6c46b06c75
Fix merged namespace error
2025-03-27 19:46:45 -06:00
Jacob Warren
07f07ba6bc
Fix Sort by Year Bug ( #12101 ) ( #13733 )
2025-03-27 18:05:03 -06:00
JQ
d06ce1f1e0
Fix only returning one item from /Item/Latest api. ( #12492 )
...
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
* Updated to EFcore
* Remove unused using
* Dont use DateCreated not from episode type or music type
* use TranslateQuery to filter out instead and then do the grouping and retrival of min and max datecreated instead
* Album also
2025-03-26 20:26:47 -06:00
Cody Robibero
d848faeb75
Merge pull request #13589 from JPVenson/feature/DatabaseRefactor
...
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
[Feature] Database code refactor
2025-03-25 21:34:26 -06:00
JPVenson
42bdb22bfb
Fixed namespaces
2025-03-25 16:45:00 +01:00
JPVenson
160020c551
WIP fixed namespaces
2025-03-25 15:30:22 +00:00
Niels van Velzen
8680170706
Merge pull request #13616 from Lampan-git/fix_people_role
...
Include PeopleBaseItemMap in GetPeople to inlcude Role and SortOrder
2025-03-24 15:29:28 +01:00
JPVenson
671d801d9f
#13540 Fixed ( #13757 )
...
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
#13508 Partially fixed
Co-authored-by: JPVenson <github@jpb.software >
2025-03-23 19:52:34 -06:00
Tim Eisele
8db6a39e92
Remove all DB data on item removal, delete internal trickplay files ( #13753 )
2025-03-23 10:05:13 -06:00
Cody Robibero
85b5bebda4
Add fast-path to getting just the SeriesPresentationUniqueKey for NextUp ( #13687 )
...
* Add more optimized query to calculate series that should be processed for next up
* Filter series based on last watched date
2025-03-18 17:37:04 -06:00
Lampan-git
7abb94d8a2
Move mapping assignment to Map
2025-03-05 22:37:18 +01:00
Lampan-git
e137a06362
Change PeopleBaseItemMap query from GroupJoin to Include
2025-03-05 16:59:49 +01:00
Lampan-git
4e3d7383f5
Change GetPeople PeopleBaseItemMap code to query
2025-03-05 16:59:31 +01:00
Lampan-git
d28ee96f06
Include PeopleBaseItemMap in GetPeople
2025-02-25 18:10:50 +01:00
Cody Robibero
712908d53c
Revert nullability of MediaStream.IsHearingImpaired ( #13573 )
2025-02-17 19:20:18 -07:00
Bond-009
66e571cd97
Merge pull request #13553 from crobibero/efcore-livetv-epg
...
Change BaseItemEntity ChannelId to nullable Guid
2025-02-15 19:21:16 +01:00
gnattu
fa97e8e183
Write only for query columns to EFCore db ( #13542 )
...
* Write only for query columns to EFCore db.
We currently don't write the columns that do not exist on the BaseItem class definition in db. However, columns like `CleanName` is still useful and being used by internal queries and current behavior would cause such query to return nothing.
The only exception is the UserDataKey which is not even being used for internal query that can be omitted.
* Update comment
2025-02-13 20:19:24 -07:00
Cody Robibero
debc499711
Change BaseItemEntity ChannelId to nullable Guid
2025-02-13 20:17:25 -07:00
Bond-009
17e78c0d40
Merge pull request #13539 from gnattu/mimic-old-get-item-value-names
...
Simulate old GetItemValueNames behavior
2025-02-13 13:37:05 +01:00
gnattu
d2e7ab1c1a
Simulate old GetItemValueNames behavior
...
The GetItemValueNames function in the old implementation was intended to retrieve the original value rather than the cleaned value. The old implementation lacked a clear specification regarding which value to return for the non-cleaned value in a group and relied on an undefined behavior of SQLite, and this implementation assumes the first one is the desired one.
2025-02-11 11:45:53 +08:00