Jellyfin Forum
Issue with Tag Separator Behavior After Jellyfin 10.10.3 Update - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Off Topic (https://forum.jellyfin.org/f-off-topic)
+--- Forum: General Discussion (https://forum.jellyfin.org/f-general-discussion)
+--- Thread: Issue with Tag Separator Behavior After Jellyfin 10.10.3 Update (/t-issue-with-tag-separator-behavior-after-jellyfin-10-10-3-update)



Issue with Tag Separator Behavior After Jellyfin 10.10.3 Update - Oleg Kosarev - 2024-11-25

In version 10.9.1, the separator in the "Artist" tags was correctly handled with the separator
(for example, Artist1\\Artist2), and Jellyfin correctly interpreted this as two separate artists. However, after updating to version 10.10.3, the separator
is now replaced with an empty space, and after scanning, Jellyfin merges the tags into one (for example, Artist1Artist2).
After the update, the following parameters are set to default:
  1. Prepend ARTISTS tag if available — the checkbox is unchecked. (Use the non-standard ARTISTS tag instead of the ARTIST tag if available)
  2. Use custom tag separator — the checkbox is unchecked. (Separate artist/genre tags using custom symbols)
  3. Custom tag separator
    /|;\ \\
    (Symbols to be used as separators for splitting tags)
  4. Whitelist separators — empty text field (Items that will be excluded from tag splitting, one item per line)

Question: These default settings were not changed, but now the tags are being merged during scanning. What could have changed, and where should I look to restore the previous behavior? I’m especially interested in the setting “Prepend ARTISTS tag if available.”


RE: Issue with Tag Separator Behavior After Jellyfin 10.10.3 Update - Oleg Kosarev - 2024-11-25

Here’s the updated version with your new point added:

I sat down, took a look, skimmed through the source code, and figured out what changed. Not sure how correct my solution is, but here's what I came up with:
  1. Use custom tag separator — enable the checkbox.
  2. In Custom tag separator, change the value from /|;\ \\ to \/|;\
  3. In the tags, use a semicolon (as Jellyfin requests) — the system loudly tells us: "Separate artists with a semicolon" when editing a song.
Now, here’s the other question: Maybe I'm missing something, but the logic, both mine and what I saw in the code, seems like this:
  • First, check if the "Use non-standard ARTISTS tag instead of ARTIST tag if available" checkbox is enabled. If it is, use the separators from that field.
  • The issue is, this doesn't work, regardless of whether the checkbox is enabled or not.
And here's another thought: if, by default, Jellyfin expects semicolons in the artist tags, then why complicate everything with non-standard separators and other settings? Wouldn't it make sense to just stick to the default behavior?
Also, I’m not sure if this is a permanent or temporary solution, but if you write the artist tags as
Artist1;Artist2, everything works correctly and splits as expected.
Could someone clarify what I might be missing or where the logic is breaking down?


RE: Issue with Tag Separator Behavior After Jellyfin 10.10.3 Update - TheDreadPirate - 2024-11-26

Where in the code do you see this? Can you provide a github link?


RE: Issue with Tag Separator Behavior After Jellyfin 10.10.3 Update - Oleg Kosarev - 2024-11-26

(2024-11-26, 01:53 PM)TheDreadPirate Wrote: Where in the code do you see this?  Can you provide a github link?

I can't find the exact link in the sources right now, but it's clearly visible in this commit where the new parameters I mentioned earlier are passed. Here's the link:
Commit on GitHub.
This concerns custom separators and the whitelist of separators. In the context of the question, are we going to study the source code, or just rely on the fact that Jellyfin made changes without mentioning them in the changelogs? As mentioned in their GitHub releases here, all releases list the changes, and if we search for separators or related topics, we can't find any specific mentions...
Also, I’ll repeat that the checkboxes seem to work, and the semicolon separator works as well, but then the question arises — why introduce additional separator parameters if the standard ones can also be used? The list of questions is only growing.
For example, I have a media library of 17,500 songs, and about 17,000 of them use one separator. The remaining 500 had to be changed to a semicolon. So, what should I do if the hard drive on the server crashes? Do I really have to change the separator for all 17,000 songs?
I also noticed that even if an old separator (like \\) is set in the custom separators, which used to work fine, it is ignored. If I change it to a semicolon, everything starts working. This only adds to the confusion with the settings.

Additionally, everything is in the same file, namely jellyfin/MediaBrowser.Providers/MediaInfo/AudioFileProber.cs. On line 450, in the function GetFirstMusicBrainzId, there is a clear check for useCustomTagDelimiters. If it's not empty, that value is used. Otherwise, the default separator for the field is used. You can see this in the code here.
You can continue exploring the code further, but this does not change the fact that the old separators that worked in version 10.9.3 no longer work.

I kindly ask the developers to provide more information on this issue so users can properly configure and use separators without running into additional problems.