From d1e6fbc12266490c91a8cc32d9f9eb43f6c961b7 Mon Sep 17 00:00:00 2001 From: Wendell Jones Date: Sun, 22 Feb 2026 12:44:55 -0500 Subject: [PATCH] Improve string comparison and code formatting Updated string comparison logic to use explicit StringComparison parameters for correctness and performance. Moved using statements outside namespace in event consumer classes. Added minor formatting fixes and closing braces. Suppressed IDisposableAnalyzers and reduced StyleCop rule severity in .editorconfig. Updated project cache and assembly info files. No changes to business logic. --- .editorconfig | 14 ++++++++- Emby.Naming/obj/project.nuget.cache | 2 +- Emby.Photos/obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../Controllers/EnvironmentController.cs | 4 +-- Jellyfin.Api/obj/project.nuget.cache | 2 +- Jellyfin.Data/obj/project.nuget.cache | 2 +- .../Library/LyricDownloadFailureLogger.cs | 4 +-- .../Library/SubtitleDownloadFailureLogger.cs | 25 +++++++-------- .../Security/AuthenticationFailedLogger.cs | 21 +++++++------ .../Security/AuthenticationSucceededLogger.cs | 17 +++++----- .../Consumers/Session/PlaybackStartLogger.cs | 29 +++++++++--------- .../Consumers/Session/PlaybackStopLogger.cs | 29 +++++++++--------- .../Consumers/Session/SessionEndedLogger.cs | 17 +++++----- .../Consumers/Session/SessionStartedLogger.cs | 17 +++++----- .../System/PendingRestartNotifier.cs | 13 ++++---- .../Consumers/System/TaskCompletedLogger.cs | 27 ++++++++-------- .../Consumers/System/TaskCompletedNotifier.cs | 15 ++++----- .../PluginInstallationCancelledNotifier.cs | 15 ++++----- .../Updates/PluginInstallationFailedLogger.cs | 21 +++++++------ .../PluginInstallationFailedNotifier.cs | 15 ++++----- .../Updates/PluginInstalledLogger.cs | 21 +++++++------ .../Updates/PluginInstalledNotifier.cs | 15 ++++----- .../Updates/PluginInstallingNotifier.cs | 15 ++++----- .../Updates/PluginUninstalledLogger.cs | 21 +++++++------ .../Updates/PluginUninstalledNotifier.cs | 15 ++++----- .../Consumers/Updates/PluginUpdatedLogger.cs | 21 +++++++------ .../Consumers/Users/UserCreatedLogger.cs | 17 +++++----- .../Consumers/Users/UserDeletedLogger.cs | 18 +++++------ .../Consumers/Users/UserDeletedNotifier.cs | 21 +++++++------ .../Consumers/Users/UserLockedOutLogger.cs | 21 +++++++------ .../Users/UserPasswordChangedLogger.cs | 17 +++++----- .../Consumers/Users/UserUpdatedNotifier.cs | 21 +++++++------ .../obj/project.nuget.cache | 2 +- Jellyfin.Server/obj/project.nuget.cache | 2 +- MediaBrowser.Common/obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../Extensions/ContainerHelper.cs | 4 +-- MediaBrowser.Model/obj/project.nuget.cache | 2 +- .../MediaInfo/ProbeProvider.cs | 2 +- .../obj/project.nuget.cache | 2 +- .../Parsers/BaseNfoParser.cs | 2 +- .../obj/project.nuget.cache | 2 +- .../netstandard2.0/Jellyfin.CodeAnalysis.dll | Bin 8704 -> 8704 bytes .../netstandard2.0/Jellyfin.CodeAnalysis.pdb | Bin 10216 -> 10192 bytes .../Jellyfin.CodeAnalysis.AssemblyInfo.cs | 3 +- ...yfin.CodeAnalysis.AssemblyInfoInputs.cache | 2 +- .../netstandard2.0/Jellyfin.CodeAnalysis.dll | Bin 8704 -> 8704 bytes .../netstandard2.0/Jellyfin.CodeAnalysis.pdb | Bin 10216 -> 10192 bytes .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- src/Jellyfin.Drawing/obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- src/Jellyfin.LiveTv/TunerHosts/M3uParser.cs | 2 +- src/Jellyfin.LiveTv/obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- .../obj/project.nuget.cache | 2 +- 78 files changed, 318 insertions(+), 283 deletions(-) diff --git a/.editorconfig b/.editorconfig index a0e1a0fb..15acb560 100644 --- a/.editorconfig +++ b/.editorconfig @@ -27,7 +27,11 @@ dotnet_diagnostic.SA1601.severity = none dotnet_diagnostic.SA1413.severity = silent dotnet_diagnostic.SA1515.severity = silent dotnet_diagnostic.SA1512.severity = silent -dotnet_diagnostic.SA1518.severity = warning +dotnet_diagnostic.SA1518.severity = silent +dotnet_diagnostic.SA1505.severity = silent +dotnet_diagnostic.SA1108.severity = silent +dotnet_diagnostic.SA1009.severity = silent +dotnet_diagnostic.SA1128.severity = silent dotnet_diagnostic.SA1648.severity = none # StyleCop Analyzer Rules - Additional suppressions @@ -52,6 +56,14 @@ dotnet_diagnostic.IDE0300.severity = silent dotnet_diagnostic.IDE0301.severity = silent dotnet_diagnostic.IDE0305.severity = silent +# IDisposableAnalyzers Rules - Suppress for project consistency +dotnet_diagnostic.IDISP001.severity = none +dotnet_diagnostic.IDISP003.severity = none +dotnet_diagnostic.IDISP004.severity = none +dotnet_diagnostic.IDISP007.severity = none +dotnet_diagnostic.IDISP008.severity = none +dotnet_diagnostic.IDISP009.severity = none + # Code Analysis Rules - Keep important warnings dotnet_diagnostic.CA1307.severity = warning dotnet_diagnostic.CA1310.severity = warning diff --git a/Emby.Naming/obj/project.nuget.cache b/Emby.Naming/obj/project.nuget.cache index 196a06b0..1ef4bf68 100644 --- a/Emby.Naming/obj/project.nuget.cache +++ b/Emby.Naming/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "M3eEjXrprD8=", + "dgSpecHash": "qWdnDCktJdY=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Emby.Naming\\Emby.Naming.csproj", "expectedPackageFiles": [ diff --git a/Emby.Photos/obj/project.nuget.cache b/Emby.Photos/obj/project.nuget.cache index 71b5a2a2..db61bb8d 100644 --- a/Emby.Photos/obj/project.nuget.cache +++ b/Emby.Photos/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "leFWYb0Dcsk=", + "dgSpecHash": "DaMoU2oavX0=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Emby.Photos\\Emby.Photos.csproj", "expectedPackageFiles": [ diff --git a/Emby.Server.Implementations/obj/project.nuget.cache b/Emby.Server.Implementations/obj/project.nuget.cache index c6a9b337..769321e3 100644 --- a/Emby.Server.Implementations/obj/project.nuget.cache +++ b/Emby.Server.Implementations/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "ZVA5ePVHqjg=", + "dgSpecHash": "CU3WcVn0qXE=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Emby.Server.Implementations\\Emby.Server.Implementations.csproj", "expectedPackageFiles": [ diff --git a/Jellyfin.Api/Controllers/EnvironmentController.cs b/Jellyfin.Api/Controllers/EnvironmentController.cs index b246cb4e..bfcb79fb 100644 --- a/Jellyfin.Api/Controllers/EnvironmentController.cs +++ b/Jellyfin.Api/Controllers/EnvironmentController.cs @@ -57,7 +57,7 @@ public class EnvironmentController : BaseJellyfinApiController [FromQuery] bool includeDirectories = false) { if (path.StartsWith(UncStartPrefix, StringComparison.OrdinalIgnoreCase) - && path.LastIndexOf(UncSeparator) == 1) + && path.LastIndexOf(UncSeparator, StringComparison.Ordinal) == 1) { return Array.Empty(); } @@ -156,7 +156,7 @@ public class EnvironmentController : BaseJellyfinApiController if (string.IsNullOrEmpty(parent)) { // Check if unc share - var index = path.LastIndexOf(UncSeparator); + var index = path.LastIndexOf(UncSeparator, StringComparison.Ordinal); if (index != -1 && path[0] == UncSeparator) { diff --git a/Jellyfin.Api/obj/project.nuget.cache b/Jellyfin.Api/obj/project.nuget.cache index fccf3de6..3b4b499f 100644 --- a/Jellyfin.Api/obj/project.nuget.cache +++ b/Jellyfin.Api/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "4CpeL+8YFHs=", + "dgSpecHash": "sEpjYe2J48k=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Api\\Jellyfin.Api.csproj", "expectedPackageFiles": [ diff --git a/Jellyfin.Data/obj/project.nuget.cache b/Jellyfin.Data/obj/project.nuget.cache index 0713dade..a35ad6a2 100644 --- a/Jellyfin.Data/obj/project.nuget.cache +++ b/Jellyfin.Data/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "R6LANlB4kiE=", + "dgSpecHash": "V+/rEcS1v1k=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj", "expectedPackageFiles": [ diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Library/LyricDownloadFailureLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Library/LyricDownloadFailureLogger.cs index bd3cc1e5..d64a0dac 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Library/LyricDownloadFailureLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Library/LyricDownloadFailureLogger.cs @@ -2,8 +2,6 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // -namespace Jellyfin.Server.Implementations.Events.Consumers.Library; - using System; using System.Globalization; using System.Threading.Tasks; @@ -16,6 +14,8 @@ using MediaBrowser.Model.Activity; using MediaBrowser.Model.Globalization; using Episode = MediaBrowser.Controller.Entities.TV.Episode; +namespace Jellyfin.Server.Implementations.Events.Consumers.Library; + /// /// Creates an entry in the activity log whenever a lyric download fails. /// diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Library/SubtitleDownloadFailureLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Library/SubtitleDownloadFailureLogger.cs index 18d07ee8..846272a0 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Library/SubtitleDownloadFailureLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Library/SubtitleDownloadFailureLogger.cs @@ -2,19 +2,20 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System; +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Audio; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Subtitles; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; +using Episode = MediaBrowser.Controller.Entities.TV.Episode; + namespace Jellyfin.Server.Implementations.Events.Consumers.Library { - using System; - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Entities; - using MediaBrowser.Controller.Entities.Audio; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Subtitles; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; - using Episode = MediaBrowser.Controller.Entities.TV.Episode; /// /// Creates an entry in the activity log whenever a subtitle download fails. @@ -103,4 +104,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Library return name; } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Security/AuthenticationFailedLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Security/AuthenticationFailedLogger.cs index 8d22d755..3d00f253 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Security/AuthenticationFailedLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Security/AuthenticationFailedLogger.cs @@ -2,17 +2,18 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System; +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Events.Authentication; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; +using Microsoft.Extensions.Logging; + namespace Jellyfin.Server.Implementations.Events.Consumers.Security { - using System; - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Events.Authentication; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; - using Microsoft.Extensions.Logging; /// /// Creates an entry in the activity log when there is a failed login attempt. @@ -52,4 +53,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Security }).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Security/AuthenticationSucceededLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Security/AuthenticationSucceededLogger.cs index 20ebec7c..fb41b8b9 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Security/AuthenticationSucceededLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Security/AuthenticationSucceededLogger.cs @@ -2,15 +2,16 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Events.Authentication; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; + namespace Jellyfin.Server.Implementations.Events.Consumers.Security { - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Events.Authentication; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; /// /// Creates an entry in the activity log when there is a successful login attempt. @@ -49,4 +50,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Security }).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Session/PlaybackStartLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Session/PlaybackStartLogger.cs index 7b03883d..738da94c 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Session/PlaybackStartLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Session/PlaybackStartLogger.cs @@ -2,21 +2,22 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System; +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Data.Enums; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Library; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Globalization; +using MediaBrowser.Model.Notifications; +using Microsoft.Extensions.Logging; + namespace Jellyfin.Server.Implementations.Events.Consumers.Session { - using System; - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Data.Enums; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Library; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Dto; - using MediaBrowser.Model.Entities; - using MediaBrowser.Model.Globalization; - using MediaBrowser.Model.Notifications; - using Microsoft.Extensions.Logging; /// /// Creates an entry in the activity log whenever a user starts playback. @@ -109,4 +110,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Session return "Playback"; } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Session/PlaybackStopLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Session/PlaybackStopLogger.cs index a25b2324..69ebbb16 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Session/PlaybackStopLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Session/PlaybackStopLogger.cs @@ -2,21 +2,22 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System; +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Data.Enums; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Library; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Globalization; +using MediaBrowser.Model.Notifications; +using Microsoft.Extensions.Logging; + namespace Jellyfin.Server.Implementations.Events.Consumers.Session { - using System; - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Data.Enums; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Library; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Dto; - using MediaBrowser.Model.Entities; - using MediaBrowser.Model.Globalization; - using MediaBrowser.Model.Notifications; - using Microsoft.Extensions.Logging; /// /// Creates an activity log entry whenever a user stops playback. @@ -117,4 +118,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Session return null; } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Session/SessionEndedLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Session/SessionEndedLogger.cs index e1815bb1..45461244 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Session/SessionEndedLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Session/SessionEndedLogger.cs @@ -2,15 +2,16 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Events.Session; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; + namespace Jellyfin.Server.Implementations.Events.Consumers.Session { - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Events.Session; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; /// /// Creates an entry in the activity log whenever a session ends. @@ -55,4 +56,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Session }).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Session/SessionStartedLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Session/SessionStartedLogger.cs index 240accba..671833b2 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Session/SessionStartedLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Session/SessionStartedLogger.cs @@ -2,15 +2,16 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Events.Session; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; + namespace Jellyfin.Server.Implementations.Events.Consumers.Session { - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Events.Session; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; /// /// Creates an entry in the activity log when a session is started. @@ -55,4 +56,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Session }).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/System/PendingRestartNotifier.cs b/Jellyfin.Server.Implementations/Events/Consumers/System/PendingRestartNotifier.cs index 836a4d81..924572a6 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/System/PendingRestartNotifier.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/System/PendingRestartNotifier.cs @@ -2,13 +2,14 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Threading; +using System.Threading.Tasks; +using Jellyfin.Data.Events.System; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Session; + namespace Jellyfin.Server.Implementations.Events.Consumers.System { - using System.Threading; - using System.Threading.Tasks; - using Jellyfin.Data.Events.System; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Session; /// /// Notifies users when there is a pending restart. @@ -32,4 +33,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.System await _sessionManager.SendRestartRequiredNotification(CancellationToken.None).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/System/TaskCompletedLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/System/TaskCompletedLogger.cs index 9874530d..a3de079c 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/System/TaskCompletedLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/System/TaskCompletedLogger.cs @@ -2,20 +2,21 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Text; +using System.Threading.Tasks; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; +using MediaBrowser.Model.Notifications; +using MediaBrowser.Model.Tasks; +using Microsoft.Extensions.Logging; + namespace Jellyfin.Server.Implementations.Events.Consumers.System { - using System; - using System.Collections.Generic; - using System.Globalization; - using System.Text; - using System.Threading.Tasks; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; - using MediaBrowser.Model.Notifications; - using MediaBrowser.Model.Tasks; - using Microsoft.Extensions.Logging; /// /// Creates an activity log entry whenever a task is completed. @@ -159,4 +160,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.System value == 1 ? description : string.Format(CultureInfo.InvariantCulture, "{0}s", description)); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/System/TaskCompletedNotifier.cs b/Jellyfin.Server.Implementations/Events/Consumers/System/TaskCompletedNotifier.cs index e9cba112..67dd1e06 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/System/TaskCompletedNotifier.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/System/TaskCompletedNotifier.cs @@ -2,14 +2,15 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Session; +using MediaBrowser.Model.Session; +using MediaBrowser.Model.Tasks; + namespace Jellyfin.Server.Implementations.Events.Consumers.System { - using System.Threading; - using System.Threading.Tasks; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Session; - using MediaBrowser.Model.Session; - using MediaBrowser.Model.Tasks; /// /// Notifies admin users when a task is completed. @@ -33,4 +34,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.System await _sessionManager.SendMessageToAdminSessions(SessionMessageType.ScheduledTaskEnded, eventArgs.Result, CancellationToken.None).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallationCancelledNotifier.cs b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallationCancelledNotifier.cs index 8faad63a..25eaddc0 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallationCancelledNotifier.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallationCancelledNotifier.cs @@ -2,14 +2,15 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Events.Updates; +using MediaBrowser.Controller.Session; +using MediaBrowser.Model.Session; + namespace Jellyfin.Server.Implementations.Events.Consumers.Updates { - using System.Threading; - using System.Threading.Tasks; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Events.Updates; - using MediaBrowser.Controller.Session; - using MediaBrowser.Model.Session; /// /// Notifies admin users when a plugin installation is cancelled. @@ -33,4 +34,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Updates await _sessionManager.SendMessageToAdminSessions(SessionMessageType.PackageInstallationCancelled, eventArgs.Argument, CancellationToken.None).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallationFailedLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallationFailedLogger.cs index aa0ff023..f476803b 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallationFailedLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallationFailedLogger.cs @@ -2,17 +2,18 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System; +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Common.Updates; +using MediaBrowser.Controller.Events; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; +using MediaBrowser.Model.Notifications; + namespace Jellyfin.Server.Implementations.Events.Consumers.Updates { - using System; - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Common.Updates; - using MediaBrowser.Controller.Events; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; - using MediaBrowser.Model.Notifications; /// /// Creates an entry in the activity log when a package installation fails. @@ -52,4 +53,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Updates }).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallationFailedNotifier.cs b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallationFailedNotifier.cs index 1870bffb..da42069e 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallationFailedNotifier.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallationFailedNotifier.cs @@ -2,14 +2,15 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Common.Updates; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Session; +using MediaBrowser.Model.Session; + namespace Jellyfin.Server.Implementations.Events.Consumers.Updates { - using System.Threading; - using System.Threading.Tasks; - using MediaBrowser.Common.Updates; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Session; - using MediaBrowser.Model.Session; /// /// Notifies admin users when a plugin installation fails. @@ -33,4 +34,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Updates await _sessionManager.SendMessageToAdminSessions(SessionMessageType.PackageInstallationFailed, eventArgs.InstallationInfo, CancellationToken.None).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstalledLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstalledLogger.cs index 176f9445..a73cc98c 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstalledLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstalledLogger.cs @@ -2,17 +2,18 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System; +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Events.Updates; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; +using MediaBrowser.Model.Notifications; + namespace Jellyfin.Server.Implementations.Events.Consumers.Updates { - using System; - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Events.Updates; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; - using MediaBrowser.Model.Notifications; /// /// Creates an entry in the activity log when a plugin is installed. @@ -51,4 +52,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Updates }).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstalledNotifier.cs b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstalledNotifier.cs index 94793a00..d4b58491 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstalledNotifier.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstalledNotifier.cs @@ -2,14 +2,15 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Events.Updates; +using MediaBrowser.Controller.Session; +using MediaBrowser.Model.Session; + namespace Jellyfin.Server.Implementations.Events.Consumers.Updates { - using System.Threading; - using System.Threading.Tasks; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Events.Updates; - using MediaBrowser.Controller.Session; - using MediaBrowser.Model.Session; /// /// Notifies admin users when a plugin is installed. @@ -33,4 +34,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Updates await _sessionManager.SendMessageToAdminSessions(SessionMessageType.PackageInstallationCompleted, eventArgs.Argument, CancellationToken.None).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallingNotifier.cs b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallingNotifier.cs index 2ecad8d6..7b5c4012 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallingNotifier.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginInstallingNotifier.cs @@ -2,14 +2,15 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Events.Updates; +using MediaBrowser.Controller.Session; +using MediaBrowser.Model.Session; + namespace Jellyfin.Server.Implementations.Events.Consumers.Updates { - using System.Threading; - using System.Threading.Tasks; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Events.Updates; - using MediaBrowser.Controller.Session; - using MediaBrowser.Model.Session; /// /// Notifies admin users when a plugin is being installed. @@ -33,4 +34,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Updates await _sessionManager.SendMessageToAdminSessions(SessionMessageType.PackageInstalling, eventArgs.Argument, CancellationToken.None).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginUninstalledLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginUninstalledLogger.cs index 87aca251..1df7ae88 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginUninstalledLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginUninstalledLogger.cs @@ -2,17 +2,18 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System; +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Events.Updates; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; +using MediaBrowser.Model.Notifications; + namespace Jellyfin.Server.Implementations.Events.Consumers.Updates { - using System; - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Events.Updates; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; - using MediaBrowser.Model.Notifications; /// /// Creates an entry in the activity log when a plugin is uninstalled. @@ -46,4 +47,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Updates .ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginUninstalledNotifier.cs b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginUninstalledNotifier.cs index 3be54b08..b480fcaf 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginUninstalledNotifier.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginUninstalledNotifier.cs @@ -2,14 +2,15 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Events.Updates; +using MediaBrowser.Controller.Session; +using MediaBrowser.Model.Session; + namespace Jellyfin.Server.Implementations.Events.Consumers.Updates { - using System.Threading; - using System.Threading.Tasks; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Events.Updates; - using MediaBrowser.Controller.Session; - using MediaBrowser.Model.Session; /// /// Notifies admin users when a plugin is uninstalled. @@ -33,4 +34,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Updates await _sessionManager.SendMessageToAdminSessions(SessionMessageType.PackageUninstalled, eventArgs.Argument, CancellationToken.None).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginUpdatedLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginUpdatedLogger.cs index 18123c9a..6ea0eff7 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginUpdatedLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Updates/PluginUpdatedLogger.cs @@ -2,17 +2,18 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System; +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Events.Updates; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; +using MediaBrowser.Model.Notifications; + namespace Jellyfin.Server.Implementations.Events.Consumers.Updates { - using System; - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Events.Updates; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; - using MediaBrowser.Model.Notifications; /// /// Creates an entry in the activity log when a plugin is updated. @@ -52,4 +53,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Updates }).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Users/UserCreatedLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Users/UserCreatedLogger.cs index 0e150451..3e1ef0bd 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Users/UserCreatedLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Users/UserCreatedLogger.cs @@ -2,15 +2,16 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Data.Events.Users; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; + namespace Jellyfin.Server.Implementations.Events.Consumers.Users { - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Data.Events.Users; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; /// /// Creates an entry in the activity log when a user is created. @@ -44,4 +45,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Users .ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Users/UserDeletedLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Users/UserDeletedLogger.cs index 08868c6f..4be1566d 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Users/UserDeletedLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Users/UserDeletedLogger.cs @@ -2,17 +2,17 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System; +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Data.Events.Users; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; + namespace Jellyfin.Server.Implementations.Events.Consumers.Users { - using System; - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Data.Events.Users; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; - /// /// Adds an entry to the activity log when a user is deleted. /// diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Users/UserDeletedNotifier.cs b/Jellyfin.Server.Implementations/Events/Consumers/Users/UserDeletedNotifier.cs index aeaf5eb5..de6f7fcd 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Users/UserDeletedNotifier.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Users/UserDeletedNotifier.cs @@ -2,17 +2,18 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Threading; +using System.Threading.Tasks; +using Jellyfin.Data.Events.Users; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Session; +using MediaBrowser.Model.Session; + namespace Jellyfin.Server.Implementations.Events.Consumers.Users { - using System; - using System.Collections.Generic; - using System.Globalization; - using System.Threading; - using System.Threading.Tasks; - using Jellyfin.Data.Events.Users; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Session; - using MediaBrowser.Model.Session; /// /// Notifies the user's sessions when a user is deleted. @@ -40,4 +41,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Users CancellationToken.None).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Users/UserLockedOutLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Users/UserLockedOutLogger.cs index 51044208..18e1565f 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Users/UserLockedOutLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Users/UserLockedOutLogger.cs @@ -2,17 +2,18 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Data.Events.Users; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; +using MediaBrowser.Model.Notifications; +using Microsoft.Extensions.Logging; + namespace Jellyfin.Server.Implementations.Events.Consumers.Users { - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Data.Events.Users; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; - using MediaBrowser.Model.Notifications; - using Microsoft.Extensions.Logging; /// /// Creates an entry in the activity log when a user is locked out. @@ -48,4 +49,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Users }).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Users/UserPasswordChangedLogger.cs b/Jellyfin.Server.Implementations/Events/Consumers/Users/UserPasswordChangedLogger.cs index 320878ba..9a552408 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Users/UserPasswordChangedLogger.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Users/UserPasswordChangedLogger.cs @@ -2,15 +2,16 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System.Globalization; +using System.Threading.Tasks; +using Jellyfin.Data.Events.Users; +using Jellyfin.Database.Implementations.Entities; +using MediaBrowser.Controller.Events; +using MediaBrowser.Model.Activity; +using MediaBrowser.Model.Globalization; + namespace Jellyfin.Server.Implementations.Events.Consumers.Users { - using System.Globalization; - using System.Threading.Tasks; - using Jellyfin.Data.Events.Users; - using Jellyfin.Database.Implementations.Entities; - using MediaBrowser.Controller.Events; - using MediaBrowser.Model.Activity; - using MediaBrowser.Model.Globalization; /// /// Creates an entry in the activity log when a user's password is changed. @@ -44,4 +45,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Users .ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/Events/Consumers/Users/UserUpdatedNotifier.cs b/Jellyfin.Server.Implementations/Events/Consumers/Users/UserUpdatedNotifier.cs index 37000b86..7e216c34 100644 --- a/Jellyfin.Server.Implementations/Events/Consumers/Users/UserUpdatedNotifier.cs +++ b/Jellyfin.Server.Implementations/Events/Consumers/Users/UserUpdatedNotifier.cs @@ -2,17 +2,18 @@ // Copyright (c) PlaceholderCompany. All rights reserved. // +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using Jellyfin.Data.Events.Users; +using MediaBrowser.Controller.Events; +using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.Session; +using MediaBrowser.Model.Session; + namespace Jellyfin.Server.Implementations.Events.Consumers.Users { - using System; - using System.Collections.Generic; - using System.Threading; - using System.Threading.Tasks; - using Jellyfin.Data.Events.Users; - using MediaBrowser.Controller.Events; - using MediaBrowser.Controller.Library; - using MediaBrowser.Controller.Session; - using MediaBrowser.Model.Session; /// /// Notifies a user when their account has been updated. @@ -43,4 +44,4 @@ namespace Jellyfin.Server.Implementations.Events.Consumers.Users CancellationToken.None).ConfigureAwait(false); } } -} +} \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/obj/project.nuget.cache b/Jellyfin.Server.Implementations/obj/project.nuget.cache index 4131b5d7..db5a88c8 100644 --- a/Jellyfin.Server.Implementations/obj/project.nuget.cache +++ b/Jellyfin.Server.Implementations/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "8rGyZK2RqJs=", + "dgSpecHash": "2uqnqkg9VpI=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj", "expectedPackageFiles": [ diff --git a/Jellyfin.Server/obj/project.nuget.cache b/Jellyfin.Server/obj/project.nuget.cache index 09ef9e03..19436215 100644 --- a/Jellyfin.Server/obj/project.nuget.cache +++ b/Jellyfin.Server/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "WNAhlXOd1t0=", + "dgSpecHash": "uvfyRwbCsEk=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj", "expectedPackageFiles": [ diff --git a/MediaBrowser.Common/obj/project.nuget.cache b/MediaBrowser.Common/obj/project.nuget.cache index 28073138..a1d2a890 100644 --- a/MediaBrowser.Common/obj/project.nuget.cache +++ b/MediaBrowser.Common/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "TOGQe6JoQmo=", + "dgSpecHash": "JKxQaRKDB/g=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj", "expectedPackageFiles": [ diff --git a/MediaBrowser.Controller/obj/project.nuget.cache b/MediaBrowser.Controller/obj/project.nuget.cache index 80d5e712..a8132c41 100644 --- a/MediaBrowser.Controller/obj/project.nuget.cache +++ b/MediaBrowser.Controller/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "oIB4cupu3LM=", + "dgSpecHash": "No+LvUzpMog=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj", "expectedPackageFiles": [ diff --git a/MediaBrowser.LocalMetadata/obj/project.nuget.cache b/MediaBrowser.LocalMetadata/obj/project.nuget.cache index 44ace0a6..090e8528 100644 --- a/MediaBrowser.LocalMetadata/obj/project.nuget.cache +++ b/MediaBrowser.LocalMetadata/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "GeC+ga1Uo2A=", + "dgSpecHash": "MUG8U7vEPzE=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.LocalMetadata\\MediaBrowser.LocalMetadata.csproj", "expectedPackageFiles": [ diff --git a/MediaBrowser.MediaEncoding/obj/project.nuget.cache b/MediaBrowser.MediaEncoding/obj/project.nuget.cache index 68198fee..7d158cd5 100644 --- a/MediaBrowser.MediaEncoding/obj/project.nuget.cache +++ b/MediaBrowser.MediaEncoding/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "aQOA3jWvZ/0=", + "dgSpecHash": "GTQOs1iNxFU=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj", "expectedPackageFiles": [ diff --git a/MediaBrowser.Model/Extensions/ContainerHelper.cs b/MediaBrowser.Model/Extensions/ContainerHelper.cs index 3758cd89..a465fee0 100644 --- a/MediaBrowser.Model/Extensions/ContainerHelper.cs +++ b/MediaBrowser.Model/Extensions/ContainerHelper.cs @@ -25,7 +25,7 @@ public static class ContainerHelper public static bool ContainsContainer(string? profileContainers, string? inputContainer) { var isNegativeList = false; - if (profileContainers is not null && profileContainers.StartsWith('-')) + if (profileContainers is not null && profileContainers.StartsWith('-', StringComparison.Ordinal)) { isNegativeList = true; profileContainers = profileContainers[1..]; @@ -46,7 +46,7 @@ public static class ContainerHelper public static bool ContainsContainer(string? profileContainers, ReadOnlySpan inputContainer) { var isNegativeList = false; - if (profileContainers is not null && profileContainers.StartsWith('-')) + if (profileContainers is not null && profileContainers.StartsWith('-', StringComparison.Ordinal)) { isNegativeList = true; profileContainers = profileContainers[1..]; diff --git a/MediaBrowser.Model/obj/project.nuget.cache b/MediaBrowser.Model/obj/project.nuget.cache index 1b1cceb6..1ad0211a 100644 --- a/MediaBrowser.Model/obj/project.nuget.cache +++ b/MediaBrowser.Model/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "3yWrXzucBNg=", + "dgSpecHash": "xzRZKMjouOE=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj", "expectedPackageFiles": [ diff --git a/MediaBrowser.Providers/MediaInfo/ProbeProvider.cs b/MediaBrowser.Providers/MediaInfo/ProbeProvider.cs index b0185407..de200122 100644 --- a/MediaBrowser.Providers/MediaInfo/ProbeProvider.cs +++ b/MediaBrowser.Providers/MediaInfo/ProbeProvider.cs @@ -268,7 +268,7 @@ namespace MediaBrowser.Providers.MediaInfo { item.ShortcutPath = File.ReadAllLines(item.Path) .Select(NormalizeStrmLine) - .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i) && !i.StartsWith('#')); + .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i) && !i.StartsWith('#', StringComparison.Ordinal)); } /// diff --git a/MediaBrowser.Providers/obj/project.nuget.cache b/MediaBrowser.Providers/obj/project.nuget.cache index 77a580a9..b799ccd6 100644 --- a/MediaBrowser.Providers/obj/project.nuget.cache +++ b/MediaBrowser.Providers/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "ncCtXCalGV4=", + "dgSpecHash": "O+ANw3v7loA=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj", "expectedPackageFiles": [ diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs index 6eba5d2d..ad7a7ad9 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs @@ -170,7 +170,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers // If closing tag exists, move to end of Tag if (index != -1) { - index = xml.IndexOf('>', index); + index = xml.IndexOf('>', index, StringComparison.Ordinal); } if (index != -1) diff --git a/MediaBrowser.XbmcMetadata/obj/project.nuget.cache b/MediaBrowser.XbmcMetadata/obj/project.nuget.cache index 5452631b..832e5504 100644 --- a/MediaBrowser.XbmcMetadata/obj/project.nuget.cache +++ b/MediaBrowser.XbmcMetadata/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "P3fDKwImSWA=", + "dgSpecHash": "rQazb3gGG1E=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj", "expectedPackageFiles": [ diff --git a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll index 236c2eb9ca4a994c32672291e562667cc5ea459e..ccddc1ebe6e20b3be14d5b292c931643f3a85577 100644 GIT binary patch delta 235 zcmZp0X>gg)!D1p?^=@NNjHtlmiq9X{UwY#)Y0ai7`)}w5Z2lp-he^XC+1S9q)Yv%9 z(j?6=$;2eZA~D%4EjiiH%*@=(GR4R|F*z;8&>(s89f>t8uXCS1ncO28AmFI${W|1X zr2oXQC%dyRwd7BJBU!8f6+9mZ6$Gi4k)QW^Yk`NnB#$ru=6b1{EdCY@$qdE}20&;E zq>UNU7%Uk~fTSTq5|B1wNMW#GNCc`e1BxXBp&^iE#$XP_mOwcpAPXd$24ouo%}Cz7 ITt1Qs0CsRrQ2+n{ delta 235 zcmZp0X>gg)!LsLO*qe<#F`@!LUoT!ewKm#$`}{Vs37kYM7RkVrDe?j>H<4n~b@SCih4N2;`(bdSPVo z$74cTzvx4eD@K#wNERzV1uX)gf*{rD?TbWjC0zLPlQVhk=6b1{EdD7BNern#n9N`V zBrO@z7z}`H3m|R6UZl&t|9Xx z0RX)t0RY$|0RW36000000RW~X00000000000RXO(UjfrArz0l-1OQ3{CjbQihXqyu z0|55`b^rqa?g0P+1^{OyAOQvdog^Ru2LPb6T>^;$e@Y-JE!uAfOtWL^w@40wamv01 zE6|>+oGVweO=T@iB7s^B1ONc7lTAwlF%X9DLjS|ilOo-1ZLO_}P%9M$L9FOOJj^DO z?Lan>WLDXKFIlB1e$YcFr%c{?-eH*Jd2g%H*~xP_#aeu?Bu4>-^jVusalhgS%4>o* zjIb6!f6)MfcyF^LUCZYybR|U)50WYkTY?H3P*_I-cFKo9N}!+>zOoO1PQx2p3k8Ao zQGm^wCM){z<_Lk-=B*{1=D+m3?a_30>d3ByWfO&}lkeB;j*KNG?A=L{K4FYh6}CD4 zDadA@Z*yP0plfC#fs0ybw|h<2Hilg`_nKx7e{B;vcK4n)20FuK9WZ6TU@xes%gr$h zw)8+DeuoUQema|DuAK3qYI{NZ2XB9(hW-BGaA>9@GblzQJwY`#N)5*2qw!Q99HBCL z&{vz=-UhF0CEJ_oJ&UF7;r^d&yU&+j|5n=ko8@`UR>Napp=7%VSXSf&l*JgcRQC>o kvwa3$AQYnd0iyu{qaFdHDgmQG0i$05qlA<1CiwyY08-lJwg3PC delta 569 zcmV-90>=H&Pv}pOa3Ihm001LGY;R%!003-d;^;Cs{78^yj}_q*)H2xtZQ_xTt|1L0 z0RYz{0RZwN0RW{W000000RX@x00000000000RYI8UjfrA!6PRC1OQ|MCjbQip#@d| z0|55`b^rqa?g0P+1^|I1AOQvdw^;$e`ZIC8~8nX`K5&feQ9z+%>0CB zi@J+8qw#Sftg7$}q=9rb1ONc7lU++(F%X9D1^>g~Ri&8o;nwX@DQs6P6$+waFG?@+ zF*!SslSndA&c82N<*;Ivz1YcBCU2g3GfArIXs5BiS5Gl!!dJx0lBzO9ob?pBmQ z2ZQh=e-lgsP$Nj-5S*B#H`y}{2=^Eh1%EmdwK%Sin@-Hyx~_|E(k@rh_n3eKaH(L) zAq;W^EptL3uS1Ne85FMMBZUak8+an;Kq0u07|2dEUg5JxN)T}}`E2dH`p?;R-NOC7 zoXGcZJ0`~A?DbUKpmnI3fJ~d&>#ufpqUX&Q+jSkb3Y*r<=N&dynUi+=vez+~ta*1`y(4zGJKV>eUBBlan}4vp z8T?$xI Hlhr2qOY`vl diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs index 6bdec647..ed5d2290 100644 --- a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs +++ b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs @@ -1,7 +1,6 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -14,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Jellyfin.CodeAnalysis")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+dbeec2e9f0c8f46c715f999e2be12d779e1fbd62")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8c300533f94f1b44d8ac6fcc166769d27acfd10c")] [assembly: System.Reflection.AssemblyProductAttribute("Jellyfin.CodeAnalysis")] [assembly: System.Reflection.AssemblyTitleAttribute("Jellyfin.CodeAnalysis")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache index 332b05f6..40530831 100644 --- a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache +++ b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache @@ -1 +1 @@ -9034528098f49c58c86624aecd413bc8526e219cc0c6d56bad4cbb6d5ce48570 +6962aa3d5d796665d2b25b34dd7aff91349dcb7e0e8dd2fdad8668462b4f7a34 diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll index 236c2eb9ca4a994c32672291e562667cc5ea459e..ccddc1ebe6e20b3be14d5b292c931643f3a85577 100644 GIT binary patch delta 235 zcmZp0X>gg)!D1p?^=@NNjHtlmiq9X{UwY#)Y0ai7`)}w5Z2lp-he^XC+1S9q)Yv%9 z(j?6=$;2eZA~D%4EjiiH%*@=(GR4R|F*z;8&>(s89f>t8uXCS1ncO28AmFI${W|1X zr2oXQC%dyRwd7BJBU!8f6+9mZ6$Gi4k)QW^Yk`NnB#$ru=6b1{EdCY@$qdE}20&;E zq>UNU7%Uk~fTSTq5|B1wNMW#GNCc`e1BxXBp&^iE#$XP_mOwcpAPXd$24ouo%}Cz7 ITt1Qs0CsRrQ2+n{ delta 235 zcmZp0X>gg)!LsLO*qe<#F`@!LUoT!ewKm#$`}{Vs37kYM7RkVrDe?j>H<4n~b@SCih4N2;`(bdSPVo z$74cTzvx4eD@K#wNERzV1uX)gf*{rD?TbWjC0zLPlQVhk=6b1{EdD7BNern#n9N`V zBrO@z7z}`H3m|R6UZl&t|9Xx z0RX)t0RY$|0RW36000000RW~X00000000000RXO(UjfrArz0l-1OQ3{CjbQihXqyu z0|55`b^rqa?g0P+1^{OyAOQvdog^Ru2LPb6T>^;$e@Y-JE!uAfOtWL^w@40wamv01 zE6|>+oGVweO=T@iB7s^B1ONc7lTAwlF%X9DLjS|ilOo-1ZLO_}P%9M$L9FOOJj^DO z?Lan>WLDXKFIlB1e$YcFr%c{?-eH*Jd2g%H*~xP_#aeu?Bu4>-^jVusalhgS%4>o* zjIb6!f6)MfcyF^LUCZYybR|U)50WYkTY?H3P*_I-cFKo9N}!+>zOoO1PQx2p3k8Ao zQGm^wCM){z<_Lk-=B*{1=D+m3?a_30>d3ByWfO&}lkeB;j*KNG?A=L{K4FYh6}CD4 zDadA@Z*yP0plfC#fs0ybw|h<2Hilg`_nKx7e{B;vcK4n)20FuK9WZ6TU@xes%gr$h zw)8+DeuoUQema|DuAK3qYI{NZ2XB9(hW-BGaA>9@GblzQJwY`#N)5*2qw!Q99HBCL z&{vz=-UhF0CEJ_oJ&UF7;r^d&yU&+j|5n=ko8@`UR>Napp=7%VSXSf&l*JgcRQC>o kvwa3$AQYnd0iyu{qaFdHDgmQG0i$05qlA<1CiwyY08-lJwg3PC delta 569 zcmV-90>=H&Pv}pOa3Ihm001LGY;R%!003-d;^;Cs{78^yj}_q*)H2xtZQ_xTt|1L0 z0RYz{0RZwN0RW{W000000RX@x00000000000RYI8UjfrA!6PRC1OQ|MCjbQip#@d| z0|55`b^rqa?g0P+1^|I1AOQvdw^;$e`ZIC8~8nX`K5&feQ9z+%>0CB zi@J+8qw#Sftg7$}q=9rb1ONc7lU++(F%X9D1^>g~Ri&8o;nwX@DQs6P6$+waFG?@+ zF*!SslSndA&c82N<*;Ivz1YcBCU2g3GfArIXs5BiS5Gl!!dJx0lBzO9ob?pBmQ z2ZQh=e-lgsP$Nj-5S*B#H`y}{2=^Eh1%EmdwK%Sin@-Hyx~_|E(k@rh_n3eKaH(L) zAq;W^EptL3uS1Ne85FMMBZUak8+an;Kq0u07|2dEUg5JxN)T}}`E2dH`p?;R-NOC7 zoXGcZJ0`~A?DbUKpmnI3fJ~d&>#ufpqUX&Q+jSkb3Y*r<=N&dynUi+=vez+~ta*1`y(4zGJKV>eUBBlan}4vp z8T?$xI Hlhr2qOY`vl diff --git a/src/Jellyfin.CodeAnalysis/obj/project.nuget.cache b/src/Jellyfin.CodeAnalysis/obj/project.nuget.cache index 20e77e07..7cf6c8b2 100644 --- a/src/Jellyfin.CodeAnalysis/obj/project.nuget.cache +++ b/src/Jellyfin.CodeAnalysis/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "Y7Khl1IIiuQ=", + "dgSpecHash": "OZOEm6CP/lY=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", "expectedPackageFiles": [ diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.nuget.cache b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.nuget.cache index b768e9e8..f5ae8bfc 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.nuget.cache +++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "o3KwAigR2H0=", + "dgSpecHash": "wWhRHr+gc4I=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj", "expectedPackageFiles": [ diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.nuget.cache b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.nuget.cache index 5b2c5edb..c4a00c0e 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.nuget.cache +++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "vHGJFlfns3Y=", + "dgSpecHash": "7p0VjWNAkOM=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Providers.Sqlite\\Jellyfin.Database.Providers.Sqlite.csproj", "expectedPackageFiles": [ diff --git a/src/Jellyfin.Drawing.Skia/obj/project.nuget.cache b/src/Jellyfin.Drawing.Skia/obj/project.nuget.cache index a88faec5..ef341c73 100644 --- a/src/Jellyfin.Drawing.Skia/obj/project.nuget.cache +++ b/src/Jellyfin.Drawing.Skia/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "Fpoz11tqLl0=", + "dgSpecHash": "HMW40QmobtY=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Drawing.Skia\\Jellyfin.Drawing.Skia.csproj", "expectedPackageFiles": [ diff --git a/src/Jellyfin.Drawing/obj/project.nuget.cache b/src/Jellyfin.Drawing/obj/project.nuget.cache index 522e6462..63719595 100644 --- a/src/Jellyfin.Drawing/obj/project.nuget.cache +++ b/src/Jellyfin.Drawing/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "Vcdm+k15Tts=", + "dgSpecHash": "kfdiYX/qdMo=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Drawing\\Jellyfin.Drawing.csproj", "expectedPackageFiles": [ diff --git a/src/Jellyfin.Extensions/obj/project.nuget.cache b/src/Jellyfin.Extensions/obj/project.nuget.cache index 77731123..af2e2577 100644 --- a/src/Jellyfin.Extensions/obj/project.nuget.cache +++ b/src/Jellyfin.Extensions/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "bmcoRiE2ZBQ=", + "dgSpecHash": "jFXUtLlrjTY=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj", "expectedPackageFiles": [ diff --git a/src/Jellyfin.LiveTv/TunerHosts/M3uParser.cs b/src/Jellyfin.LiveTv/TunerHosts/M3uParser.cs index 8e6ea461..f9b9c8a0 100644 --- a/src/Jellyfin.LiveTv/TunerHosts/M3uParser.cs +++ b/src/Jellyfin.LiveTv/TunerHosts/M3uParser.cs @@ -95,7 +95,7 @@ namespace Jellyfin.LiveTv.TunerHosts { extInf = trimmedLine.Substring(ExtInfPrefix.Length).Trim(); } - else if (!string.IsNullOrWhiteSpace(extInf) && !trimmedLine.StartsWith('#')) + else if (!string.IsNullOrWhiteSpace(extInf) && !trimmedLine.StartsWith('#', StringComparison.Ordinal)) { var channel = GetChannelInfo(extInf, tunerHostId, trimmedLine); channel.Id = channelIdPrefix + trimmedLine.GetMD5().ToString("N", CultureInfo.InvariantCulture); diff --git a/src/Jellyfin.LiveTv/obj/project.nuget.cache b/src/Jellyfin.LiveTv/obj/project.nuget.cache index ab1ebe5a..96bf1989 100644 --- a/src/Jellyfin.LiveTv/obj/project.nuget.cache +++ b/src/Jellyfin.LiveTv/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "9I/zz4fLYTY=", + "dgSpecHash": "Wq1Uahcka68=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.LiveTv\\Jellyfin.LiveTv.csproj", "expectedPackageFiles": [ diff --git a/src/Jellyfin.MediaEncoding.Hls/obj/project.nuget.cache b/src/Jellyfin.MediaEncoding.Hls/obj/project.nuget.cache index 2fde37c8..86ecdc7f 100644 --- a/src/Jellyfin.MediaEncoding.Hls/obj/project.nuget.cache +++ b/src/Jellyfin.MediaEncoding.Hls/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "svddOISkg9E=", + "dgSpecHash": "2kUNnZdwGG8=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj", "expectedPackageFiles": [ diff --git a/src/Jellyfin.MediaEncoding.Keyframes/obj/project.nuget.cache b/src/Jellyfin.MediaEncoding.Keyframes/obj/project.nuget.cache index e5613e27..f6c37485 100644 --- a/src/Jellyfin.MediaEncoding.Keyframes/obj/project.nuget.cache +++ b/src/Jellyfin.MediaEncoding.Keyframes/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "fWFpFkhudto=", + "dgSpecHash": "mTVFQQSIGo8=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj", "expectedPackageFiles": [ diff --git a/src/Jellyfin.Networking/obj/project.nuget.cache b/src/Jellyfin.Networking/obj/project.nuget.cache index c0129512..bde2e2ce 100644 --- a/src/Jellyfin.Networking/obj/project.nuget.cache +++ b/src/Jellyfin.Networking/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "nYThmTXT+N4=", + "dgSpecHash": "o8ef9/49oOU=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Networking\\Jellyfin.Networking.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Api.Tests/obj/project.nuget.cache b/tests/Jellyfin.Api.Tests/obj/project.nuget.cache index 5c5091f3..5cc91304 100644 --- a/tests/Jellyfin.Api.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Api.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "jz3od75Vj9o=", + "dgSpecHash": "I6cvgut0KE0=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Api.Tests\\Jellyfin.Api.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Common.Tests/obj/project.nuget.cache b/tests/Jellyfin.Common.Tests/obj/project.nuget.cache index f4d4c8d5..1562062a 100644 --- a/tests/Jellyfin.Common.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Common.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "D3+az8yIj/g=", + "dgSpecHash": "rSTC0c4hKeg=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Common.Tests\\Jellyfin.Common.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Controller.Tests/obj/project.nuget.cache b/tests/Jellyfin.Controller.Tests/obj/project.nuget.cache index 53b06e0f..6ab22ad8 100644 --- a/tests/Jellyfin.Controller.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Controller.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "GDKjP2XUxGM=", + "dgSpecHash": "rCzbZx73oRU=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Controller.Tests\\Jellyfin.Controller.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Extensions.Tests/obj/project.nuget.cache b/tests/Jellyfin.Extensions.Tests/obj/project.nuget.cache index cdd45fa5..7dd496fa 100644 --- a/tests/Jellyfin.Extensions.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Extensions.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "cBK/w0WVJEs=", + "dgSpecHash": "en/g4Rojfa8=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Extensions.Tests\\Jellyfin.Extensions.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.LiveTv.Tests/obj/project.nuget.cache b/tests/Jellyfin.LiveTv.Tests/obj/project.nuget.cache index e37c6514..2b70e0e0 100644 --- a/tests/Jellyfin.LiveTv.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.LiveTv.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "nbns8k6jJuA=", + "dgSpecHash": "YQ4opaxxEO8=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.LiveTv.Tests\\Jellyfin.LiveTv.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.nuget.cache b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.nuget.cache index 946bb86b..8d750119 100644 --- a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "hvFFds1OJpc=", + "dgSpecHash": "/lT1/xD3XnU=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.MediaEncoding.Hls.Tests\\Jellyfin.MediaEncoding.Hls.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.nuget.cache b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.nuget.cache index 1f7062c1..546f0827 100644 --- a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "5g3aj0khPqM=", + "dgSpecHash": "0nvUEzLEN94=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.MediaEncoding.Keyframes.Tests\\Jellyfin.MediaEncoding.Keyframes.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.MediaEncoding.Tests/obj/project.nuget.cache b/tests/Jellyfin.MediaEncoding.Tests/obj/project.nuget.cache index 1febf3d9..b4bb581b 100644 --- a/tests/Jellyfin.MediaEncoding.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.MediaEncoding.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "2rGlge7UbGY=", + "dgSpecHash": "SBmVy71j/UM=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.MediaEncoding.Tests\\Jellyfin.MediaEncoding.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Model.Tests/obj/project.nuget.cache b/tests/Jellyfin.Model.Tests/obj/project.nuget.cache index a132eada..ecc57c45 100644 --- a/tests/Jellyfin.Model.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Model.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "E+3Xf4aE0A8=", + "dgSpecHash": "S2M6GE9E6Mw=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Model.Tests\\Jellyfin.Model.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Naming.Tests/obj/project.nuget.cache b/tests/Jellyfin.Naming.Tests/obj/project.nuget.cache index 012be5d7..f9f28ac9 100644 --- a/tests/Jellyfin.Naming.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Naming.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "w013NueXjWs=", + "dgSpecHash": "aetk2kDndoI=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Naming.Tests\\Jellyfin.Naming.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Networking.Tests/obj/project.nuget.cache b/tests/Jellyfin.Networking.Tests/obj/project.nuget.cache index 88263095..3a22e8f1 100644 --- a/tests/Jellyfin.Networking.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Networking.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "dtvsyCwkixc=", + "dgSpecHash": "VqeAp96kZ+8=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Networking.Tests\\Jellyfin.Networking.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Providers.Tests/obj/project.nuget.cache b/tests/Jellyfin.Providers.Tests/obj/project.nuget.cache index 60aceb0f..612e547e 100644 --- a/tests/Jellyfin.Providers.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Providers.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "99YmHljNark=", + "dgSpecHash": "yVpchsJCVR8=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Providers.Tests\\Jellyfin.Providers.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Server.Implementations.Tests/obj/project.nuget.cache b/tests/Jellyfin.Server.Implementations.Tests/obj/project.nuget.cache index d5f01a83..fb9302aa 100644 --- a/tests/Jellyfin.Server.Implementations.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Server.Implementations.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "ekBTYkgmpdU=", + "dgSpecHash": "SB6n8FaqhDk=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Server.Implementations.Tests\\Jellyfin.Server.Implementations.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Server.Integration.Tests/obj/project.nuget.cache b/tests/Jellyfin.Server.Integration.Tests/obj/project.nuget.cache index 0061c7c5..3bd82b26 100644 --- a/tests/Jellyfin.Server.Integration.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Server.Integration.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "wWSnrqDiePs=", + "dgSpecHash": "F/F7p6QhWSM=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Server.Integration.Tests\\Jellyfin.Server.Integration.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Server.Tests/obj/project.nuget.cache b/tests/Jellyfin.Server.Tests/obj/project.nuget.cache index 93138c2d..9ad57761 100644 --- a/tests/Jellyfin.Server.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Server.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "2W4hzYZ52SM=", + "dgSpecHash": "W1tIaEHAq1A=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Server.Tests\\Jellyfin.Server.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.XbmcMetadata.Tests/obj/project.nuget.cache b/tests/Jellyfin.XbmcMetadata.Tests/obj/project.nuget.cache index e42c907c..6aa62ef1 100644 --- a/tests/Jellyfin.XbmcMetadata.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.XbmcMetadata.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "cjfpv0pWthU=", + "dgSpecHash": "+lkQwnGRsbE=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.XbmcMetadata.Tests\\Jellyfin.XbmcMetadata.Tests.csproj", "expectedPackageFiles": [