Commit Graph

2509 Commits

Author SHA1 Message Date
theguymadmax 3460d1de3c Backport pull request #15563 from jellyfin/release-10.11.z
Save item to database before providers run to prevent FK errors

Original-merge: c491a918c2

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-03 14:04:20 -05:00
theguymadmax 2af43e0131 Backport pull request #15529 from jellyfin/release-10.11.z
Fix movie titles using folder name when NFO saver is enabled

Original-merge: f8e012582a

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17 14:09:14 -05:00
theguymadmax 7e25089c08 Backport pull request #15508 from jellyfin/release-10.11.z
Fix playlist DateCreated and DateLastMediaAdded not being set

Original-merge: 078f9584ed

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17 14:09:12 -05:00
theguymadmax 4e68a5a078 Backport pull request #15472 from jellyfin/release-10.11.z
Fix series DateLastMediaAdded not updating when new episodes are added

Original-merge: abfbaca336

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17 14:09:06 -05:00
IceStormNG 26ac2ccd74 Backport pull request #15441 from jellyfin/release-10.11.z
Fix System.NullReferenceException when people's role is null (10.11.z)

Original-merge: 5a9a8363f4

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17 14:08:59 -05:00
vinnyspb 871de372ff Backport pull request #15325 from jellyfin/release-10.11.z
Update file size when refreshing metadata

Original-merge: f994dd6211

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2025-11-02 21:58:44 -05:00
ivanjx 3f2ebc4179 Backport pull request #15113 from jellyfin/release-10.11.z
Add season number fallback for OMDB and TMDB plugins

Original-merge: 618ec4543e

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-27 15:43:14 -04:00
Erik W 2c7d2d4719
Handle es-419 in TMDb (#14946) 2025-10-13 13:47:16 -06:00
theguymadmax f5d42ee180 Fix artist external Url 2025-10-09 01:14:49 -05:00
Cody Robibero ff0a1b999f
Handle xx as TMDb no language for backdrops (#14941) 2025-10-04 21:04:35 +02:00
gnattu 0a0aaefad5
Fix mka-style tagging key (#14936) 2025-10-02 17:33:31 -06:00
Corentin Malbet 71ebb1f456
Fixing the UFID field value giving a warning and not being correctly processed (#14851) 2025-09-26 14:24:59 -06:00
Bond-009 8776a447d1
Various cleanups (#14785) 2025-09-12 13:58:23 -06:00
Tim Eisele 580db0c1d2
Never replace BoxSet LinkedChildren on update (#14723) 2025-09-12 13:57:55 -06:00
theguymadmax da19f02f7b
Sort trailers before teasers (#14715) 2025-09-11 15:23:41 -06:00
theguymadmax e043f93a72
Preserve 3D format on metadata refresh (#14742) 2025-09-06 11:38:00 -06:00
evan314159 a0d4ae1974
Correct Album Artists merge logic (#14655)
* Correct Album Artists merge logic and Artist equality checks

Correct Album Artists merge logic in MetadataService that causes empty
metadata sources to overwrite populated Album Artists arrays. This impacted
People-to-BaseItem relationships and caused orphaned records in Peoples.

Correct equality checks to be case-sensitive so Jelly metadata exactly
matches file metadata.

* use StringComparer.Ordinal

---------

Co-authored-by: Evan <evan@MacBook-Pro.local>
2025-09-01 13:22:55 +02:00
evan314159 e753adac2c
fix ProbeProvider.HasChanged: if file date changed (#14674) 2025-08-27 17:34:51 -06:00
theguymadmax 8a8018f0de
Preserve interpunct (·) (#14543) 2025-07-27 20:09:50 -06:00
evan314159 6f49782b7b
fix file modification date comparisons (#14503) 2025-07-27 20:08:06 -06:00
Tim Eisele a068f75623
Set DateLastSaved after running metadata savers (#14531) 2025-07-25 08:20:19 -06:00
Nyanmisaka 25a362345d
Fix refreshing the library cannot delete old attachments (#14461) 2025-07-14 18:40:37 -06:00
renovate[bot] 8629831658
Update dependency z440.atl.core to v7 (#14391) 2025-07-07 18:10:48 -06:00
Shane Powell 8dcb0bfecb
Merge pull request #14309 from shanepowell/MediaInfoFixs
Fix PeopleHelper.AddPerson Exceptions due to bad meta-data extracts.
2025-07-04 19:22:27 +02:00
Evan a4231bf428 Read ALBUMARTISTS in preference to ARTISTS when PreferNonstandardArtistsTag set
Jellyfin implemented ARTISTS multivalue tag but did not implement the equivalent ALBUMARTISTS multivalue tag.  This change adds ALBUMARTISTS support.  If present and PreferNonstandardArtistsTag is set, ALBUMARTISTS will be used in preference to ALBUMARTIST.  As with ARTISTS, the intent is to offer support for multiple album artists without affecting software that does not read ALBUMARTIST as a multivalued tag.

Example album before/after:

    ALBUM           : Amici e Rivali
    ARTIST          : Lawrence Brownlee / Michael Spyres
    album_artist    : Lawrence Brownlee
    ARTISTS         : Lawrence Brownlee;Michael Spyres
    ALBUMARTISTS    : Lawrence Brownlee;Michael Spyres

Before ALBUMARTISTS support, Jellyfin reports:
    Album Artist: Lawrence Brownlee [hyperlinked]
    On each track Artist: Lawrence Brownlee, Michael Spyres

After ALBUMARTISTS support, Jellyfin reoprts:
    Album Artist: Lawrence Brownlee [hyperlinked], Michael Spyres [hyperlinked]
    On each track Artist: none shown (no other artists in source metadata)

This is ideal as both key artists are hyperlinkable from their albums.

References to other products implementing ALBUMARTISTS:
- Navidrome: https://www.navidrome.org/docs/usage/tagging-guidelines/#handling-multiple-artists-and-collaborations
- Kodi: https://kodi.wiki/view/Music_tagging#albumartists
- MusicBrainz Picard: https://picard-docs.musicbrainz.org/en/variables/variables_basic.html (_albumartists tag)
2025-07-02 07:55:24 +08:00
Tim Eisele c6e568692e
Fix modification checks and make sure to use UTC (#14347) 2025-06-26 17:50:37 -06:00
theguymadmax 7d18f3d6ed
Improve cast and crew handling (#14370) 2025-06-24 17:48:36 -06:00
Max Rumpf 9b8c12d433
Adapt LrcLyricParser to new LrcParser version (#14263) 2025-06-24 16:59:09 -06:00
theguymadmax b528c1100f
Fix missing music genre metadata (#14332) 2025-06-23 08:30:59 -06:00
JPVenson 4cd0a2ed8d
Always set update action when item does not exist (#14304) 2025-06-15 15:19:57 -06:00
Tim Eisele 9f0f9a276f
Fix People Issues (#14284) 2025-06-12 05:21:01 -06:00
Tim Eisele c22f24319b
Properly handle file access issues in some cases (#14272) 2025-06-11 17:31:14 -06:00
Niels van Velzen c2cc27a8a9
Merge pull request #12908 from scampower3/search-for-missing-overrides-existing
Fix search for missing metadata overriding existing metadata
2025-06-07 21:56:46 +02:00
Niels van Velzen f4bce38ddb
Merge pull request #14209 from theguymadmax/themoviedb-year-cache-key
Add year parameter to TMDB series cache key
2025-06-07 21:56:30 +02:00
theguymadmax 5d7ae6a134
Fix metadata not refreshing in negative UTC timezones (#14225) 2025-06-05 15:58:20 -06:00
Tim Eisele e1a5c16404
Prune trickplay data on regenerate and scan (#14085) 2025-06-03 15:25:09 -06:00
theguymadmax 7ef3f73ce4 Add year parameter to TMDB series cache key 2025-06-03 11:04:43 -04:00
theguymadmax a6a89f7953
Fix ArgumentNullException when downloading season logos (#14141) 2025-05-20 06:03:04 -06:00
gnattu 9d601f8e9b
Terminate at null char for audio tags (#14100) 2025-05-18 18:40:18 -06:00
theguymadmax 43659f011c
Fix ArgumentNullException in TmdbExternalUrlProvider (#14130) 2025-05-18 18:35:12 -06:00
Tim Eisele 1b34ebc0fc
Fix extracted data cleanup in cleanup post scan task (#14083) 2025-05-11 21:11:21 -06:00
theguymadmax 6c57ad4772
Fix Blu-ray metadata processing: preserve external streams and language metadata (#14077) 2025-05-09 08:35:54 -06:00
gnattu 140de04f94
Reject invalid replaygain tag value (#14082) 2025-05-09 08:35:41 -06:00
Tim Eisele 49c6a99e00
Cleanup external item data cleanup (#14072) 2025-05-09 08:35:29 -06:00
Tim Eisele d976f13970
Recognize file changes and remove data on change (#13839) 2025-05-04 21:21:44 -06:00
Tim Eisele f576783ae1
Fix distinction queries (#14007) 2025-04-26 18:49:30 -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
Tim Eisele 61cb53999e
Safeguard against null value trimming in tag results (#13908) 2025-04-13 07:43:06 -06:00
Alex 82a561b87d
Add API support for ELRC word-based lyrics (#12941)
* Add API support for ELRC word-based lyrics

Adds support for word-based timestamps from within ELRC files.

* Create TimeTags object

* redo TimeTag implementation

Change TimeTag to long, redo TimeTag implementation
Make timestamp not nullable
Update MediaBrowser.Model/Lyrics/LyricLine.cs
Make TimeTag list IReadOnlyList
Remove nullable Timestamp
Update TimeTag description

Co-Authored-By: Cody Robibero <cody@robibe.ro>

* Changes to LyricLineTimeTag

Moved TimeTag to LyricLineTimeTag
Change "timestamp" to "start" for consistency
Change plural "TimeTags" to "Cues"
Change comments

* Change LyricLineTimeTag to LyricLineCue, include info about end times

* Remove width

* Remove width tag

* Rewrite cue parser and add tests

---------

Co-authored-by: Cody Robibero <cody@robibe.ro>
2025-04-07 08:59:18 -06:00