diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs index 18b5f23..e946fba 100644 --- a/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs +++ b/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs @@ -88,6 +88,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Configuration { _tubeArchivistApiKey = value; Plugin.Instance?.LogTAApiConnectionStatus(); + Plugin.Instance?.UpdateAuthorizationHeader(value); } } @@ -124,8 +125,20 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Configuration set { - value.Replace(" ", string.Empty, StringComparison.CurrentCulture).Split(',').ToList().ForEach(u => _jfUsernamesTo.Add(u)); - _logger.LogDebug("Set JFUsernamesTo to: {Message}", value); + // Clear existing usernames + _jfUsernamesTo.Clear(); + + // Split by comma, then trim each part to remove leading/trailing spaces + foreach (var username in value.Split(',')) + { + var trimmedUsername = username.Trim(); + if (!string.IsNullOrEmpty(trimmedUsername)) + { + _jfUsernamesTo.Add(trimmedUsername); + } + } + + _logger.LogDebug("Set JFUsernamesTo to: {Message}", string.Join(", ", _jfUsernamesTo)); } } diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs index 386948b..0f4f0da 100644 --- a/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs +++ b/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs @@ -57,7 +57,8 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata handler.AllowAutoRedirect = false; handler.CheckCertificateRevocationList = true; HttpClient = new HttpClient(handler); - HttpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Token", Instance?.Configuration.TubeArchivistApiKey); + UpdateAuthorizationHeader(Configuration.TubeArchivistApiKey); + SessionManager = sessionManager; sessionManager.PlaybackProgress += OnPlaybackProgress; LibraryManager = libraryManager; @@ -128,6 +129,23 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata } }; + /// + /// Updates the HTTP client's Authorization header with the current API key. + /// + /// TubeArchivist API key. + public void UpdateAuthorizationHeader(string apiKey) + { + if (!string.IsNullOrEmpty(apiKey)) + { + HttpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Token", apiKey); + Logger.LogInformation("{Message}", "Updated Authorization header with API key"); + } + else + { + Logger.LogWarning("{Message}", "No TubeArchivist API key configured"); + } + } + /// /// Logs the TubeArchivist API connection status. ///