Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/jellyfin/commit/00ca4abbe1138d880fca36e1f99da14e6fab252a You should set ROOT_URL correctly, otherwise the web may not work correctly.

Sanitize CustomTagDelimiters server side

The API requires an array type and does not support runtime generated default value. Use server side helper function to sanitize it into char.
pull/12698/head
gnattu 6 months ago
parent cb8f01065a
commit 00ca4abbe1

@ -2,12 +2,13 @@
using System;
using System.ComponentModel;
using System.Linq;
namespace MediaBrowser.Model.Configuration
{
public class LibraryOptions
{
private static readonly char[] _defaultTagDelimiters = ['/', '|', ';', '\\'];
private static readonly string[] _defaultTagDelimiters = ["/", "|", ";", "\\"];
public LibraryOptions()
{
@ -126,8 +127,7 @@ namespace MediaBrowser.Model.Configuration
[DefaultValue(false)]
public bool UseCustomTagDelimiters { get; set; }
[DefaultValue(typeof(LibraryOptions), nameof(_defaultTagDelimiters))]
public char[] CustomTagDelimiters { get; set; }
public string[] CustomTagDelimiters { get; set; }
public string[] DelimiterWhitelist { get; set; }
@ -149,5 +149,19 @@ namespace MediaBrowser.Model.Configuration
return null;
}
public char[] GetCustomTagDelimiters()
{
return CustomTagDelimiters.Select<string, char?>(x =>
{
var isChar = char.TryParse(x, out var c);
if (isChar)
{
return c;
}
return null;
}).Where(x => x is not null).Select(x => x!.Value).ToArray();
}
}
}

@ -178,7 +178,7 @@ namespace MediaBrowser.Providers.MediaInfo
if (libraryOptions.UseCustomTagDelimiters)
{
albumArtists = albumArtists.SelectMany(a => SplitWithCustomDelimiter(a, libraryOptions.CustomTagDelimiters, libraryOptions.DelimiterWhitelist)).ToArray();
albumArtists = albumArtists.SelectMany(a => SplitWithCustomDelimiter(a, libraryOptions.GetCustomTagDelimiters(), libraryOptions.DelimiterWhitelist)).ToArray();
}
foreach (var albumArtist in albumArtists)
@ -210,7 +210,7 @@ namespace MediaBrowser.Providers.MediaInfo
if (libraryOptions.UseCustomTagDelimiters)
{
performers = performers.SelectMany(p => SplitWithCustomDelimiter(p, libraryOptions.CustomTagDelimiters, libraryOptions.DelimiterWhitelist)).ToArray();
performers = performers.SelectMany(p => SplitWithCustomDelimiter(p, libraryOptions.GetCustomTagDelimiters(), libraryOptions.DelimiterWhitelist)).ToArray();
}
foreach (var performer in performers)
@ -313,7 +313,7 @@ namespace MediaBrowser.Providers.MediaInfo
if (libraryOptions.UseCustomTagDelimiters)
{
genres = genres.SelectMany(g => SplitWithCustomDelimiter(g, libraryOptions.CustomTagDelimiters, libraryOptions.DelimiterWhitelist)).ToArray();
genres = genres.SelectMany(g => SplitWithCustomDelimiter(g, libraryOptions.GetCustomTagDelimiters(), libraryOptions.DelimiterWhitelist)).ToArray();
}
audio.Genres = options.ReplaceAllMetadata || audio.Genres is null || audio.Genres.Length == 0

Loading…
Cancel
Save