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: c491a918c21025b105afba4b6d72a24372aac505

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: f8e012582a8819d18ad933fd65eade936bdc946d

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: 078f9584ed3622eed3516488026cbb6e42242bba

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: abfbaca33686ab5214182992ab644a6e24d4b180

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: 5a9a8363f45ed34b2db1f8f59c2be69ff458f8ab

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: f994dd62114b17c335d508c8e5709f24009eb16e

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: 618ec4543e48fc670e655eda39c2e3869be86c7b

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