Browse Source

chore: fix spelling

* a
* acceleration
* addition
* altogether
* api clients
* artist
* associated
* bandwidth
* cannot
* capabilities
* case-insensitive
* case-sensitive
* configuration
* delimiter
* dependent
* diacritics
* directors
* enable
* explicitly
* filters
* finish
* have
* hierarchy
* implicit
* include
* information
* into
* its
* keepalive
* localization
* macos
* manual
* matching
* metadata
* nonexistent
* options
* overridden
* parsed
* parser
* playback
* preferring
* processes
* processing
* provider
* ratings
* retrieval
* running
* segments
* separate
* should
* station
* subdirectories
* superseded
* supported
* system
* than
* the
* throws
* transpose
* valid
* was

link: forum or chat rooms

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref 5 months ago
parent
commit
044cf9fb85
69 changed files with 159 additions and 154 deletions
  1. 1 1
      .devcontainer/install-ffmpeg.sh
  2. 1 1
      .github/ISSUE_TEMPLATE/issue report.yml
  3. 2 2
      Emby.Server.Implementations/IO/ManagedFileSystem.cs
  4. 4 4
      Emby.Server.Implementations/Library/MediaSourceManager.cs
  5. 2 2
      Emby.Server.Implementations/Localization/LocalizationManager.cs
  6. 7 7
      Emby.Server.Implementations/Plugins/PluginManager.cs
  7. 2 2
      Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs
  8. 1 1
      Emby.Server.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs
  9. 2 2
      Emby.Server.Implementations/Session/SessionManager.cs
  10. 1 1
      Emby.Server.Implementations/Updates/InstallationManager.cs
  11. 1 1
      Jellyfin.Api/Controllers/DynamicHlsController.cs
  12. 3 3
      Jellyfin.Api/Controllers/UserLibraryController.cs
  13. 1 1
      Jellyfin.Api/Models/MediaInfoDtos/OpenLiveStreamDto.cs
  14. 1 1
      Jellyfin.Api/Models/MediaInfoDtos/PlaybackInfoDto.cs
  15. 2 2
      Jellyfin.Data/Entities/Libraries/CollectionItem.cs
  16. 1 1
      Jellyfin.Data/Entities/Libraries/Series.cs
  17. 1 1
      Jellyfin.Data/Entities/TrickplayInfo.cs
  18. 1 1
      Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
  19. 1 1
      Jellyfin.Server.Implementations/JellyfinDbContext.cs
  20. 1 1
      Jellyfin.Server.Implementations/MediaSegments/MediaSegmentManager.cs
  21. 1 1
      Jellyfin.Server.Implementations/Trickplay/TrickplayManager.cs
  22. 1 1
      Jellyfin.Server/Migrations/Routines/CreateUserLoggingConfigFile.cs
  23. 1 1
      MediaBrowser.Common/Configuration/IConfigurationManager.cs
  24. 2 2
      MediaBrowser.Controller/Devices/IDeviceManager.cs
  25. 1 1
      MediaBrowser.Controller/Entities/BaseItem.cs
  26. 1 1
      MediaBrowser.Controller/Library/IMediaSourceManager.cs
  27. 30 30
      MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
  28. 6 6
      MediaBrowser.Controller/MediaSegments/IMediaSegmentManager.cs
  29. 0 0
      MediaBrowser.Controller/MediaSegments/IMediaSegmentProvider.cs
  30. 2 2
      MediaBrowser.Controller/Net/IWebSocketConnection.cs
  31. 1 1
      MediaBrowser.Controller/Sorting/IUserBaseItemComparer.cs
  32. 1 1
      MediaBrowser.Controller/Streaming/StreamState.cs
  33. 1 1
      MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
  34. 1 1
      MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs
  35. 2 2
      MediaBrowser.MediaEncoding/BdInfo/BdInfoDirectoryInfo.cs
  36. 3 3
      MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
  37. 2 2
      MediaBrowser.MediaEncoding/Probing/FFProbeHelpers.cs
  38. 3 3
      MediaBrowser.Model/Configuration/ServerConfiguration.cs
  39. 2 2
      MediaBrowser.Model/Dlna/ConditionProcessor.cs
  40. 1 1
      MediaBrowser.Model/Dlna/DirectPlayProfile.cs
  41. 1 1
      MediaBrowser.Model/Entities/HardwareAccelerationType.cs
  42. 1 1
      MediaBrowser.Model/Entities/MetadataProvider.cs
  43. 3 3
      MediaBrowser.Model/Entities/ProviderIdsExtensions.cs
  44. 1 1
      MediaBrowser.Model/Globalization/ILocalizationManager.cs
  45. 2 2
      MediaBrowser.Model/IO/IFileSystem.cs
  46. 6 1
      MediaBrowser.Model/Plugins/PluginStatus.cs
  47. 1 1
      MediaBrowser.Model/Session/TranscodingInfo.cs
  48. 1 1
      MediaBrowser.Model/System/PublicSystemInfo.cs
  49. 2 2
      MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
  50. 1 1
      MediaBrowser.XbmcMetadata/Savers/ArtistNfoSaver.cs
  51. 1 1
      src/Jellyfin.LiveTv/Listings/SchedulesDirect.cs
  52. 1 1
      src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MapDto.cs
  53. 1 1
      src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ProgramDetailsDto.cs
  54. 1 1
      src/Jellyfin.Networking/Manager/NetworkManager.cs
  55. 1 1
      tests/Jellyfin.Extensions.Tests/Json/Converters/JsonCommaDelimitedArrayTests.cs
  56. 4 4
      tests/Jellyfin.Extensions.Tests/StringExtensionsTests.cs
  57. 1 1
      tests/Jellyfin.LiveTv.Tests/SchedulesDirect/SchedulesDirectDeserializeTests.cs
  58. 4 4
      tests/Jellyfin.Naming.Tests/TV/TvParserHelpersTest.cs
  59. 1 1
      tests/Jellyfin.Networking.Tests/NetworkParseTests.cs
  60. 2 2
      tests/Jellyfin.Providers.Tests/Omdb/JsonOmdbConverterTests.cs
  61. 1 1
      tests/Jellyfin.Server.Implementations.Tests/Test Data/Updates/manifest.json
  62. 3 3
      tests/Jellyfin.Server.Integration.Tests/Controllers/DashboardControllerTests.cs
  63. 1 1
      tests/Jellyfin.Server.Integration.Tests/Controllers/ItemsControllerTests.cs
  64. 3 3
      tests/Jellyfin.Server.Integration.Tests/Controllers/LibraryControllerTests.cs
  65. 4 4
      tests/Jellyfin.Server.Integration.Tests/Controllers/PlaystateControllerTests.cs
  66. 8 8
      tests/Jellyfin.Server.Integration.Tests/Controllers/UserControllerTests.cs
  67. 3 3
      tests/Jellyfin.Server.Integration.Tests/Controllers/UserLibraryControllerTests.cs
  68. 1 1
      tests/Jellyfin.Server.Integration.Tests/Controllers/VideosControllerTests.cs
  69. 1 1
      tests/Jellyfin.XbmcMetadata.Tests/Parsers/EpisodeNfoProviderTests.cs

+ 1 - 1
.devcontainer/install-ffmpeg.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-## configure the following for a manuall install of a specific version from the repo
+## configure the following for a manual install of a specific version from the repo
 
 # wget https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/6.0.1-1/jellyfin-ffmpeg6_6.0.1-1-jammy_amd64.deb -O ffmpeg.deb
 

+ 1 - 1
.github/ISSUE_TEMPLATE/issue report.yml

@@ -14,7 +14,7 @@ body:
       label: "This issue respects the following points:"
       description: All conditions are **required**. Failure to comply with any of these conditions may cause your issue to be closed without comment.
       options:
-        - label: This is a **bug**, not a question or a configuration issue; Please visit our forum or chat rooms first to troubleshoot with volunteers, before creating a report. The links can be found [here](https://jellyfin.org/contact/).
+        - label: This is a **bug**, not a question or a configuration issue; Please visit our [forum or chat rooms](https://jellyfin.org/contact/) first to troubleshoot with volunteers, before creating a report.
           required: true
         - label: This issue is **not** already reported on [GitHub](https://github.com/jellyfin/jellyfin/issues?q=is%3Aopen+is%3Aissue) _(I've searched it)_.
           required: true

+ 2 - 2
Emby.Server.Implementations/IO/ManagedFileSystem.cs

@@ -561,7 +561,7 @@ namespace Emby.Server.Implementations.IO
         {
             var enumerationOptions = GetEnumerationOptions(recursive);
 
-            // On linux and osx the search pattern is case sensitive
+            // On linux and macOS the search pattern is case-sensitive
             // If we're OK with case-sensitivity, and we're only filtering for one extension, then use the native method
             if ((enableCaseSensitiveExtensions || _isEnvironmentCaseInsensitive) && extensions is not null && extensions.Count == 1)
             {
@@ -618,7 +618,7 @@ namespace Emby.Server.Implementations.IO
         {
             var enumerationOptions = GetEnumerationOptions(recursive);
 
-            // On linux and osx the search pattern is case sensitive
+            // On linux and macOS the search pattern is case-sensitive
             // If we're OK with case-sensitivity, and we're only filtering for one extension, then use the native method
             if ((enableCaseSensitiveExtensions || _isEnvironmentCaseInsensitive) && extensions is not null && extensions.Length == 1)
             {

+ 4 - 4
Emby.Server.Implementations/Library/MediaSourceManager.cs

@@ -39,7 +39,7 @@ namespace Emby.Server.Implementations.Library
     public class MediaSourceManager : IMediaSourceManager, IDisposable
     {
         // Do not use a pipe here because Roku http requests to the server will fail, without any explicit error message.
-        private const char LiveStreamIdDelimeter = '_';
+        private const char LiveStreamIdDelimiter = '_';
 
         private readonly IServerApplicationHost _appHost;
         private readonly IItemRepository _itemRepo;
@@ -313,7 +313,7 @@ namespace Emby.Server.Implementations.Library
 
         private static void SetKeyProperties(IMediaSourceProvider provider, MediaSourceInfo mediaSource)
         {
-            var prefix = provider.GetType().FullName.GetMD5().ToString("N", CultureInfo.InvariantCulture) + LiveStreamIdDelimeter;
+            var prefix = provider.GetType().FullName.GetMD5().ToString("N", CultureInfo.InvariantCulture) + LiveStreamIdDelimiter;
 
             if (!string.IsNullOrEmpty(mediaSource.OpenToken) && !mediaSource.OpenToken.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))
             {
@@ -866,11 +866,11 @@ namespace Emby.Server.Implementations.Library
         {
             ArgumentException.ThrowIfNullOrEmpty(key);
 
-            var keys = key.Split(LiveStreamIdDelimeter, 2);
+            var keys = key.Split(LiveStreamIdDelimiter, 2);
 
             var provider = _providers.FirstOrDefault(i => string.Equals(i.GetType().FullName.GetMD5().ToString("N", CultureInfo.InvariantCulture), keys[0], StringComparison.OrdinalIgnoreCase));
 
-            var splitIndex = key.IndexOf(LiveStreamIdDelimeter, StringComparison.Ordinal);
+            var splitIndex = key.IndexOf(LiveStreamIdDelimiter, StringComparison.Ordinal);
             var keyId = key.Substring(splitIndex + 1);
 
             return (provider, keyId);

+ 2 - 2
Emby.Server.Implementations/Localization/LocalizationManager.cs

@@ -231,13 +231,13 @@ namespace Emby.Server.Implementations.Localization
                 ratings.Add(new ParentalRating("21", 21));
             }
 
-            // A lot of countries don't excplicitly have a seperate rating for adult content
+            // A lot of countries don't explicitly have a separate rating for adult content
             if (ratings.All(x => x.Value != 1000))
             {
                 ratings.Add(new ParentalRating("XXX", 1000));
             }
 
-            // A lot of countries don't excplicitly have a seperate rating for banned content
+            // A lot of countries don't explicitly have a separate rating for banned content
             if (ratings.All(x => x.Value != 1001))
             {
                 ratings.Add(new ParentalRating("Banned", 1001));

+ 7 - 7
Emby.Server.Implementations/Plugins/PluginManager.cs

@@ -119,7 +119,7 @@ namespace Emby.Server.Implementations.Plugins
             // Now load the assemblies..
             foreach (var plugin in _plugins)
             {
-                UpdatePluginSuperceedStatus(plugin);
+                UpdatePluginSupersededStatus(plugin);
 
                 if (plugin.IsEnabledAndSupported == false)
                 {
@@ -214,7 +214,7 @@ namespace Emby.Server.Implementations.Plugins
                     continue;
                 }
 
-                UpdatePluginSuperceedStatus(plugin);
+                UpdatePluginSupersededStatus(plugin);
                 if (!plugin.IsEnabledAndSupported)
                 {
                     continue;
@@ -624,9 +624,9 @@ namespace Emby.Server.Implementations.Plugins
             }
         }
 
-        private void UpdatePluginSuperceedStatus(LocalPlugin plugin)
+        private void UpdatePluginSupersededStatus(LocalPlugin plugin)
         {
-            if (plugin.Manifest.Status != PluginStatus.Superceded)
+            if (plugin.Manifest.Status != PluginStatus.Superseded)
             {
                 return;
             }
@@ -876,7 +876,7 @@ namespace Emby.Server.Implementations.Plugins
         }
 
         /// <summary>
-        /// Changes the status of the other versions of the plugin to "Superceded".
+        /// Changes the status of the other versions of the plugin to "Superseded".
         /// </summary>
         /// <param name="plugin">The <see cref="LocalPlugin"/> that's master.</param>
         private void ProcessAlternative(LocalPlugin plugin)
@@ -896,11 +896,11 @@ namespace Emby.Server.Implementations.Plugins
                 return;
             }
 
-            if (plugin.Manifest.Status == PluginStatus.Active && !ChangePluginState(previousVersion, PluginStatus.Superceded))
+            if (plugin.Manifest.Status == PluginStatus.Active && !ChangePluginState(previousVersion, PluginStatus.Superseded))
             {
                 _logger.LogError("Unable to enable version {Version} of {Name}", previousVersion.Version, previousVersion.Name);
             }
-            else if (plugin.Manifest.Status == PluginStatus.Superceded && !ChangePluginState(previousVersion, PluginStatus.Active))
+            else if (plugin.Manifest.Status == PluginStatus.Superseded && !ChangePluginState(previousVersion, PluginStatus.Active))
             {
                 _logger.LogError("Unable to supercede version {Version} of {Name}", previousVersion.Version, previousVersion.Name);
             }

+ 2 - 2
Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs

@@ -543,7 +543,7 @@ namespace Emby.Server.Implementations.ScheduledTasks
             {
                 DisposeTriggers();
 
-                var wassRunning = State == TaskState.Running;
+                var wasRunning = State == TaskState.Running;
                 var startTime = CurrentExecutionStartTime;
 
                 var token = CurrentCancellationTokenSource;
@@ -596,7 +596,7 @@ namespace Emby.Server.Implementations.ScheduledTasks
                     }
                 }
 
-                if (wassRunning)
+                if (wasRunning)
                 {
                     OnTaskCompleted(startTime, DateTime.UtcNow, TaskCompletionStatus.Aborted, null);
                 }

+ 1 - 1
Emby.Server.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs

@@ -88,7 +88,7 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks
                 }
                 catch (OperationCanceledException)
                 {
-                    // InstallPackage has it's own inner cancellation token, so only throw this if it's ours
+                    // InstallPackage has its own inner cancellation token, so only throw this if it's ours
                     if (cancellationToken.IsCancellationRequested)
                     {
                         throw;

+ 2 - 2
Emby.Server.Implementations/Session/SessionManager.cs

@@ -1303,7 +1303,7 @@ namespace Emby.Server.Implementations.Session
 
             if (item is null)
             {
-                _logger.LogError("A non-existent item Id {0} was passed into TranslateItemForPlayback", id);
+                _logger.LogError("A nonexistent item Id {0} was passed into TranslateItemForPlayback", id);
                 return Array.Empty<BaseItem>();
             }
 
@@ -1356,7 +1356,7 @@ namespace Emby.Server.Implementations.Session
 
             if (item is null)
             {
-                _logger.LogError("A non-existent item Id {0} was passed into TranslateItemForInstantMix", id);
+                _logger.LogError("A nonexistent item Id {0} was passed into TranslateItemForInstantMix", id);
                 return new List<BaseItem>();
             }
 

+ 1 - 1
Emby.Server.Implementations/Updates/InstallationManager.cs

@@ -187,7 +187,7 @@ namespace Emby.Server.Implementations.Updates
                                 await _pluginManager.PopulateManifest(package, version.VersionNumber, plugin.Path, plugin.Manifest.Status).ConfigureAwait(false);
                             }
 
-                            // Remove versions with a target ABI greater then the current application version.
+                            // Remove versions with a target ABI greater than the current application version.
                             if (Version.TryParse(version.TargetAbi, out var targetAbi) && _applicationHost.ApplicationVersion < targetAbi)
                             {
                                 package.Versions.RemoveAt(i);

+ 1 - 1
Jellyfin.Api/Controllers/DynamicHlsController.cs

@@ -1778,7 +1778,7 @@ public class DynamicHlsController : BaseJellyfinApiController
         }
         else if (state.AudioStream?.CodecTag is not null && state.AudioStream.CodecTag.Equals("ac-4", StringComparison.Ordinal))
         {
-            // ac-4 audio tends to hava a super weird sample rate that will fail most encoders
+            // ac-4 audio tends to have a super weird sample rate that will fail most encoders
             // force resample it to 48KHz
             args += " -ar 48000";
         }

+ 3 - 3
Jellyfin.Api/Controllers/UserLibraryController.cs

@@ -634,10 +634,10 @@ public class UserLibraryController : BaseJellyfinApiController
     {
         if (item is Person)
         {
-            var hasMetdata = !string.IsNullOrWhiteSpace(item.Overview) && item.HasImage(ImageType.Primary);
-            var performFullRefresh = !hasMetdata && (DateTime.UtcNow - item.DateLastRefreshed).TotalDays >= 3;
+            var hasMetadata = !string.IsNullOrWhiteSpace(item.Overview) && item.HasImage(ImageType.Primary);
+            var performFullRefresh = !hasMetadata && (DateTime.UtcNow - item.DateLastRefreshed).TotalDays >= 3;
 
-            if (!hasMetdata)
+            if (!hasMetadata)
             {
                 var options = new MetadataRefreshOptions(new DirectoryService(_fileSystem))
                 {

+ 1 - 1
Jellyfin.Api/Models/MediaInfoDtos/OpenLiveStreamDto.cs

@@ -61,7 +61,7 @@ public class OpenLiveStreamDto
     public bool? EnableDirectPlay { get; set; }
 
     /// <summary>
-    /// Gets or sets a value indicating whether to enale direct stream.
+    /// Gets or sets a value indicating whether to enable direct stream.
     /// </summary>
     public bool? EnableDirectStream { get; set; }
 

+ 1 - 1
Jellyfin.Api/Models/MediaInfoDtos/PlaybackInfoDto.cs

@@ -4,7 +4,7 @@ using MediaBrowser.Model.Dlna;
 namespace Jellyfin.Api.Models.MediaInfoDtos;
 
 /// <summary>
-/// Plabyback info dto.
+/// Playback info dto.
 /// </summary>
 public class PlaybackInfoDto
 {

+ 2 - 2
Jellyfin.Data/Entities/Libraries/CollectionItem.cs

@@ -43,7 +43,7 @@ namespace Jellyfin.Data.Entities.Libraries
         /// Gets or sets the next item in the collection.
         /// </summary>
         /// <remarks>
-        /// TODO check if this properly updated Dependant and has the proper principal relationship.
+        /// TODO check if this properly updated Dependent and has the proper principal relationship.
         /// </remarks>
         public virtual CollectionItem? Next { get; set; }
 
@@ -51,7 +51,7 @@ namespace Jellyfin.Data.Entities.Libraries
         /// Gets or sets the previous item in the collection.
         /// </summary>
         /// <remarks>
-        /// TODO check if this properly updated Dependant and has the proper principal relationship.
+        /// TODO check if this properly updated Dependent and has the proper principal relationship.
         /// </remarks>
         public virtual CollectionItem? Previous { get; set; }
 

+ 1 - 1
Jellyfin.Data/Entities/Libraries/Series.cs

@@ -4,7 +4,7 @@ using System.Collections.Generic;
 namespace Jellyfin.Data.Entities.Libraries
 {
     /// <summary>
-    /// An entity representing a a series.
+    /// An entity representing a series.
     /// </summary>
     public class Series : LibraryItem
     {

+ 1 - 1
Jellyfin.Data/Entities/TrickplayInfo.cs

@@ -66,7 +66,7 @@ public class TrickplayInfo
     public int Interval { get; set; }
 
     /// <summary>
-    /// Gets or sets peak bandwith usage in bits per second.
+    /// Gets or sets peak bandwidth usage in bits per second.
     /// </summary>
     /// <remarks>
     /// Required.

+ 1 - 1
Jellyfin.Server.Implementations/Item/BaseItemRepository.cs

@@ -2065,7 +2065,7 @@ public sealed class BaseItemRepository
         if (filter.IncludeInheritedTags.Length > 0)
         {
             // Episodes do not store inherit tags from their parents in the database, and the tag may be still required by the client.
-            // In addtion to the tags for the episodes themselves, we need to manually query its parent (the season)'s tags as well.
+            // In addition to the tags for the episodes themselves, we need to manually query its parent (the season)'s tags as well.
             if (includeTypes.Length == 1 && includeTypes.FirstOrDefault() is BaseItemKind.Episode)
             {
                 baseQuery = baseQuery

+ 1 - 1
Jellyfin.Server.Implementations/JellyfinDbContext.cs

@@ -268,7 +268,7 @@ public class JellyfinDbContext(DbContextOptions<JellyfinDbContext> options, ILog
         modelBuilder.SetDefaultDateTimeKind(DateTimeKind.Utc);
         base.OnModelCreating(modelBuilder);
 
-        // Configuration for each entity is in it's own class inside 'ModelConfiguration'.
+        // Configuration for each entity is in its own class inside 'ModelConfiguration'.
         modelBuilder.ApplyConfigurationsFromAssembly(typeof(JellyfinDbContext).Assembly);
     }
 }

+ 1 - 1
Jellyfin.Server.Implementations/MediaSegments/MediaSegmentManager.cs

@@ -22,7 +22,7 @@ using Microsoft.Extensions.Logging;
 namespace Jellyfin.Server.Implementations.MediaSegments;
 
 /// <summary>
-/// Manages media segments retrival and storage.
+/// Manages media segments retrieval and storage.
 /// </summary>
 public class MediaSegmentManager : IMediaSegmentManager
 {

+ 1 - 1
Jellyfin.Server.Implementations/Trickplay/TrickplayManager.cs

@@ -46,7 +46,7 @@ public class TrickplayManager : ITrickplayManager
     /// </summary>
     /// <param name="logger">The logger.</param>
     /// <param name="mediaEncoder">The media encoder.</param>
-    /// <param name="fileSystem">The file systen.</param>
+    /// <param name="fileSystem">The file system.</param>
     /// <param name="encodingHelper">The encoding helper.</param>
     /// <param name="libraryManager">The library manager.</param>
     /// <param name="config">The server configuration manager.</param>

+ 1 - 1
Jellyfin.Server/Migrations/Routines/CreateUserLoggingConfigFile.cs

@@ -46,7 +46,7 @@ namespace Jellyfin.Server.Migrations.Routines
         public Guid Id => Guid.Parse("{EF103419-8451-40D8-9F34-D1A8E93A1679}");
 
         /// <inheritdoc/>
-        public string Name => "CreateLoggingConfigHeirarchy";
+        public string Name => "CreateLoggingConfigHierarchy";
 
         /// <inheritdoc/>
         public bool PerformOnNewInstall => false;

+ 1 - 1
MediaBrowser.Common/Configuration/IConfigurationManager.cs

@@ -61,7 +61,7 @@ namespace MediaBrowser.Common.Configuration
         object GetConfiguration(string key);
 
         /// <summary>
-        /// Gets the array of coniguration stores.
+        /// Gets the array of configuration stores.
         /// </summary>
         /// <returns>Array of ConfigurationStore.</returns>
         ConfigurationStore[] GetConfigurationStores();

+ 2 - 2
MediaBrowser.Controller/Devices/IDeviceManager.cs

@@ -58,7 +58,7 @@ public interface IDeviceManager
     QueryResult<Device> GetDevices(DeviceQuery query);
 
     /// <summary>
-    /// Gets device infromation based on the provided query.
+    /// Gets device information based on the provided query.
     /// </summary>
     /// <param name="query">The device query.</param>
     /// <returns>A <see cref="Task{QueryResult}"/> representing the retrieval of the device information.</returns>
@@ -109,7 +109,7 @@ public interface IDeviceManager
     DeviceOptionsDto? GetDeviceOptions(string deviceId);
 
     /// <summary>
-    /// Gets the dto for client capabilites.
+    /// Gets the dto for client capabilities.
     /// </summary>
     /// <param name="capabilities">The client capabilities.</param>
     /// <returns><see cref="ClientCapabilitiesDto"/> of the device.</returns>

+ 1 - 1
MediaBrowser.Controller/Entities/BaseItem.cs

@@ -1799,7 +1799,7 @@ namespace MediaBrowser.Controller.Entities
         /// Adds a genre to the item.
         /// </summary>
         /// <param name="name">The name.</param>
-        /// <exception cref="ArgumentNullException">Throwns if name is null.</exception>
+        /// <exception cref="ArgumentNullException">Throws if name is null.</exception>
         public void AddGenre(string name)
         {
             ArgumentException.ThrowIfNullOrEmpty(name);

+ 1 - 1
MediaBrowser.Controller/Library/IMediaSourceManager.cs

@@ -53,7 +53,7 @@ namespace MediaBrowser.Controller.Library
         IReadOnlyList<MediaAttachment> GetMediaAttachments(MediaAttachmentQuery query);
 
         /// <summary>
-        /// Gets the playack media sources.
+        /// Gets the playback media sources.
         /// </summary>
         /// <param name="item">Item to use.</param>
         /// <param name="user">User to use for operation.</param>

+ 30 - 30
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -60,7 +60,7 @@ namespace MediaBrowser.Controller.MediaEncoding
         private readonly Version _minFixedKernel60i915Hang = new Version(6, 0, 18);
         private readonly Version _minKernelVersionAmdVkFmtModifier = new Version(5, 15);
 
-        private readonly Version _minFFmpegImplictHwaccel = new Version(6, 0);
+        private readonly Version _minFFmpegImplicitHwaccel = new Version(6, 0);
         private readonly Version _minFFmpegHwaUnsafeOutput = new Version(6, 0);
         private readonly Version _minFFmpegOclCuTonemapMode = new Version(5, 1, 3);
         private readonly Version _minFFmpegSvtAv1Params = new Version(5, 1);
@@ -631,7 +631,7 @@ namespace MediaBrowser.Controller.MediaEncoding
         {
             if (string.IsNullOrWhiteSpace(container))
             {
-                // this may not work, but if the client is that broken we can not do anything better
+                // this may not work, but if the client is that broken we cannot do anything better
                 return "aac";
             }
 
@@ -3649,8 +3649,8 @@ namespace MediaBrowser.Controller.MediaEncoding
             var subH = state.SubtitleStream?.Height;
 
             var rotation = state.VideoStream?.Rotation ?? 0;
-            var tranposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
-            var doCuTranspose = !string.IsNullOrEmpty(tranposeDir) && _mediaEncoder.SupportsFilter("transpose_cuda");
+            var transposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
+            var doCuTranspose = !string.IsNullOrEmpty(transposeDir) && _mediaEncoder.SupportsFilter("transpose_cuda");
             var swapWAndH = Math.Abs(rotation) == 90 && (isSwDecoder || (isNvDecoder && doCuTranspose));
             var swpInW = swapWAndH ? inH : inW;
             var swpInH = swapWAndH ? inW : inH;
@@ -3696,7 +3696,7 @@ namespace MediaBrowser.Controller.MediaEncoding
                 // hw transpose
                 if (doCuTranspose)
                 {
-                    mainFilters.Add($"transpose_cuda=dir={tranposeDir}");
+                    mainFilters.Add($"transpose_cuda=dir={transposeDir}");
                 }
 
                 var isRext = IsVideoStreamHevcRext(state);
@@ -3856,8 +3856,8 @@ namespace MediaBrowser.Controller.MediaEncoding
             var subH = state.SubtitleStream?.Height;
 
             var rotation = state.VideoStream?.Rotation ?? 0;
-            var tranposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
-            var doOclTranspose = !string.IsNullOrEmpty(tranposeDir)
+            var transposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
+            var doOclTranspose = !string.IsNullOrEmpty(transposeDir)
                 && _mediaEncoder.SupportsFilterWithOption(FilterOptionType.TransposeOpenclReversal);
             var swapWAndH = Math.Abs(rotation) == 90 && (isSwDecoder || (isD3d11vaDecoder && doOclTranspose));
             var swpInW = swapWAndH ? inH : inW;
@@ -3901,12 +3901,12 @@ namespace MediaBrowser.Controller.MediaEncoding
                 // map from d3d11va to opencl via d3d11-opencl interop.
                 mainFilters.Add("hwmap=derive_device=opencl:mode=read");
 
-                // hw deint <= TODO: finsh the 'yadif_opencl' filter
+                // hw deint <= TODO: finish the 'yadif_opencl' filter
 
                 // hw transpose
                 if (doOclTranspose)
                 {
-                    mainFilters.Add($"transpose_opencl=dir={tranposeDir}");
+                    mainFilters.Add($"transpose_opencl=dir={transposeDir}");
                 }
 
                 var outFormat = doOclTonemap ? string.Empty : "nv12";
@@ -4097,8 +4097,8 @@ namespace MediaBrowser.Controller.MediaEncoding
             var subH = state.SubtitleStream?.Height;
 
             var rotation = state.VideoStream?.Rotation ?? 0;
-            var tranposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
-            var doVppTranspose = !string.IsNullOrEmpty(tranposeDir);
+            var transposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
+            var doVppTranspose = !string.IsNullOrEmpty(transposeDir);
             var swapWAndH = Math.Abs(rotation) == 90 && (isSwDecoder || ((isD3d11vaDecoder || isQsvDecoder) && doVppTranspose));
             var swpInW = swapWAndH ? inH : inW;
             var swpInH = swapWAndH ? inW : inH;
@@ -4191,7 +4191,7 @@ namespace MediaBrowser.Controller.MediaEncoding
 
                 if (!string.IsNullOrEmpty(hwScaleFilter) && doVppTranspose)
                 {
-                    hwScaleFilter += $":transpose={tranposeDir}";
+                    hwScaleFilter += $":transpose={transposeDir}";
                 }
 
                 if (!string.IsNullOrEmpty(hwScaleFilter) && isMjpegEncoder)
@@ -4384,8 +4384,8 @@ namespace MediaBrowser.Controller.MediaEncoding
             var subH = state.SubtitleStream?.Height;
 
             var rotation = state.VideoStream?.Rotation ?? 0;
-            var tranposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
-            var doVppTranspose = !string.IsNullOrEmpty(tranposeDir);
+            var transposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
+            var doVppTranspose = !string.IsNullOrEmpty(transposeDir);
             var swapWAndH = Math.Abs(rotation) == 90 && (isSwDecoder || ((isVaapiDecoder || isQsvDecoder) && doVppTranspose));
             var swpInW = swapWAndH ? inH : inW;
             var swpInH = swapWAndH ? inW : inH;
@@ -4445,7 +4445,7 @@ namespace MediaBrowser.Controller.MediaEncoding
                 // hw transpose(vaapi vpp)
                 if (isVaapiDecoder && doVppTranspose)
                 {
-                    mainFilters.Add($"transpose_vaapi=dir={tranposeDir}");
+                    mainFilters.Add($"transpose_vaapi=dir={transposeDir}");
                 }
 
                 var outFormat = doTonemap ? (((isQsvDecoder && doVppTranspose) || isRext) ? "p010" : string.Empty) : "nv12";
@@ -4455,7 +4455,7 @@ namespace MediaBrowser.Controller.MediaEncoding
 
                 if (!string.IsNullOrEmpty(hwScaleFilter) && isQsvDecoder && doVppTranspose)
                 {
-                    hwScaleFilter += $":transpose={tranposeDir}";
+                    hwScaleFilter += $":transpose={transposeDir}";
                 }
 
                 if (!string.IsNullOrEmpty(hwScaleFilter) && isMjpegEncoder)
@@ -4715,8 +4715,8 @@ namespace MediaBrowser.Controller.MediaEncoding
             var subH = state.SubtitleStream?.Height;
 
             var rotation = state.VideoStream?.Rotation ?? 0;
-            var tranposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
-            var doVaVppTranspose = !string.IsNullOrEmpty(tranposeDir);
+            var transposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
+            var doVaVppTranspose = !string.IsNullOrEmpty(transposeDir);
             var swapWAndH = Math.Abs(rotation) == 90 && (isSwDecoder || (isVaapiDecoder && doVaVppTranspose));
             var swpInW = swapWAndH ? inH : inW;
             var swpInH = swapWAndH ? inW : inH;
@@ -4771,7 +4771,7 @@ namespace MediaBrowser.Controller.MediaEncoding
                 // hw transpose
                 if (doVaVppTranspose)
                 {
-                    mainFilters.Add($"transpose_vaapi=dir={tranposeDir}");
+                    mainFilters.Add($"transpose_vaapi=dir={transposeDir}");
                 }
 
                 var outFormat = doTonemap ? (isRext ? "p010" : string.Empty) : "nv12";
@@ -4948,8 +4948,8 @@ namespace MediaBrowser.Controller.MediaEncoding
                     || string.Equals(state.SubtitleStream.Codec, "ssa", StringComparison.OrdinalIgnoreCase));
 
             var rotation = state.VideoStream?.Rotation ?? 0;
-            var tranposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
-            var doVkTranspose = isVaapiDecoder && !string.IsNullOrEmpty(tranposeDir);
+            var transposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
+            var doVkTranspose = isVaapiDecoder && !string.IsNullOrEmpty(transposeDir);
             var swapWAndH = Math.Abs(rotation) == 90 && (isSwDecoder || (isVaapiDecoder && doVkTranspose));
             var swpInW = swapWAndH ? inH : inW;
             var swpInH = swapWAndH ? inW : inH;
@@ -5042,13 +5042,13 @@ namespace MediaBrowser.Controller.MediaEncoding
             // vk transpose
             if (doVkTranspose)
             {
-                if (string.Equals(tranposeDir, "reversal", StringComparison.OrdinalIgnoreCase))
+                if (string.Equals(transposeDir, "reversal", StringComparison.OrdinalIgnoreCase))
                 {
                     mainFilters.Add("flip_vulkan");
                 }
                 else
                 {
-                    mainFilters.Add($"transpose_vulkan=dir={tranposeDir}");
+                    mainFilters.Add($"transpose_vulkan=dir={transposeDir}");
                 }
             }
 
@@ -5416,8 +5416,8 @@ namespace MediaBrowser.Controller.MediaEncoding
             var usingHwSurface = isVtDecoder && (_mediaEncoder.EncoderVersion >= _minFFmpegWorkingVtHwSurface);
 
             var rotation = state.VideoStream?.Rotation ?? 0;
-            var tranposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
-            var doVtTranspose = !string.IsNullOrEmpty(tranposeDir) && _mediaEncoder.SupportsFilter("transpose_vt");
+            var transposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
+            var doVtTranspose = !string.IsNullOrEmpty(transposeDir) && _mediaEncoder.SupportsFilter("transpose_vt");
             var swapWAndH = Math.Abs(rotation) == 90 && doVtTranspose;
             var swpInW = swapWAndH ? inH : inW;
             var swpInH = swapWAndH ? inW : inH;
@@ -5461,7 +5461,7 @@ namespace MediaBrowser.Controller.MediaEncoding
             // hw transpose
             if (doVtTranspose)
             {
-                mainFilters.Add($"transpose_vt=dir={tranposeDir}");
+                mainFilters.Add($"transpose_vt=dir={transposeDir}");
             }
 
             if (doVtTonemap)
@@ -5624,8 +5624,8 @@ namespace MediaBrowser.Controller.MediaEncoding
             var subH = state.SubtitleStream?.Height;
 
             var rotation = state.VideoStream?.Rotation ?? 0;
-            var tranposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
-            var doRkVppTranspose = !string.IsNullOrEmpty(tranposeDir);
+            var transposeDir = rotation == 0 ? string.Empty : GetVideoTransposeDirection(state);
+            var doRkVppTranspose = !string.IsNullOrEmpty(transposeDir);
             var swapWAndH = Math.Abs(rotation) == 90 && (isSwDecoder || (isRkmppDecoder && doRkVppTranspose));
             var swpInW = swapWAndH ? inH : inW;
             var swpInH = swapWAndH ? inW : inH;
@@ -5696,7 +5696,7 @@ namespace MediaBrowser.Controller.MediaEncoding
 
                     if (!string.IsNullOrEmpty(hwScaleFilter) && doRkVppTranspose)
                     {
-                        hwScaleFilter += $":transpose={tranposeDir}";
+                        hwScaleFilter += $":transpose={transposeDir}";
                     }
 
                     // try enabling AFBC to save DDR bandwidth
@@ -6170,7 +6170,7 @@ namespace MediaBrowser.Controller.MediaEncoding
             var ffmpegVersion = _mediaEncoder.EncoderVersion;
 
             // Set the av1 codec explicitly to trigger hw accelerator, otherwise libdav1d will be used.
-            var isAv1 = ffmpegVersion < _minFFmpegImplictHwaccel
+            var isAv1 = ffmpegVersion < _minFFmpegImplicitHwaccel
                 && string.Equals(videoCodec, "av1", StringComparison.OrdinalIgnoreCase);
 
             // Allow profile mismatch if decoding H.264 baseline with d3d11va and vaapi hwaccels.

+ 6 - 6
MediaBrowser.Controller/MediaSegements/IMediaSegmentManager.cs → MediaBrowser.Controller/MediaSegments/IMediaSegmentManager.cs

@@ -46,20 +46,20 @@ public interface IMediaSegmentManager
     Task DeleteSegmentAsync(Guid segmentId);
 
     /// <summary>
-    /// Obtains all segments accociated with the itemId.
+    /// Obtains all segments associated with the itemId.
     /// </summary>
     /// <param name="itemId">The id of the <see cref="BaseItem"/>.</param>
-    /// <param name="typeFilter">filteres all media segments of the given type to be included. If null all types are included.</param>
-    /// <param name="filterByProvider">When set filteres the segments to only return those that which providers are currently enabled on their library.</param>
+    /// <param name="typeFilter">filters all media segments of the given type to be included. If null all types are included.</param>
+    /// <param name="filterByProvider">When set filters the segments to only return those that which providers are currently enabled on their library.</param>
     /// <returns>An enumerator of <see cref="MediaSegmentDto"/>'s.</returns>
     Task<IEnumerable<MediaSegmentDto>> GetSegmentsAsync(Guid itemId, IEnumerable<MediaSegmentType>? typeFilter, bool filterByProvider = true);
 
     /// <summary>
-    /// Obtains all segments accociated with the itemId.
+    /// Obtains all segments associated with the itemId.
     /// </summary>
     /// <param name="item">The <see cref="BaseItem"/>.</param>
-    /// <param name="typeFilter">filteres all media segments of the given type to be included. If null all types are included.</param>
-    /// <param name="filterByProvider">When set filteres the segments to only return those that which providers are currently enabled on their library.</param>
+    /// <param name="typeFilter">filters all media segments of the given type to be included. If null all types are included.</param>
+    /// <param name="filterByProvider">When set filters the segments to only return those that which providers are currently enabled on their library.</param>
     /// <returns>An enumerator of <see cref="MediaSegmentDto"/>'s.</returns>
     Task<IEnumerable<MediaSegmentDto>> GetSegmentsAsync(BaseItem item, IEnumerable<MediaSegmentType>? typeFilter, bool filterByProvider = true);
 

+ 0 - 0
MediaBrowser.Controller/MediaSegements/IMediaSegmentProvider.cs → MediaBrowser.Controller/MediaSegments/IMediaSegmentProvider.cs


+ 2 - 2
MediaBrowser.Controller/Net/IWebSocketConnection.cs

@@ -24,9 +24,9 @@ namespace MediaBrowser.Controller.Net
         DateTime LastActivityDate { get; }
 
         /// <summary>
-        /// Gets or sets the date of last Keeplive received.
+        /// Gets or sets the date of last Keepalive received.
         /// </summary>
-        /// <value>The date of last Keeplive received.</value>
+        /// <value>The date of last Keepalive received.</value>
         DateTime LastKeepAliveDate { get; set; }
 
         /// <summary>

+ 1 - 1
MediaBrowser.Controller/Sorting/IUserBaseItemComparer.cs

@@ -5,7 +5,7 @@ using MediaBrowser.Controller.Library;
 namespace MediaBrowser.Controller.Sorting
 {
     /// <summary>
-    /// Represents a BaseItem comparer that requires a User to perform it's comparison.
+    /// Represents a BaseItem comparer that requires a User to perform its comparison.
     /// </summary>
     public interface IUserBaseItemComparer : IBaseItemComparer
     {

+ 1 - 1
MediaBrowser.Controller/Streaming/StreamState.cs

@@ -51,7 +51,7 @@ public class StreamState : EncodingJobInfo, IDisposable
     public VideoRequestDto? VideoRequest => Request as VideoRequestDto;
 
     /// <summary>
-    /// Gets or sets the direct stream provicer.
+    /// Gets or sets the direct stream provider.
     /// </summary>
     /// <remarks>
     /// Deprecated.

+ 1 - 1
MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs

@@ -320,7 +320,7 @@ namespace MediaBrowser.LocalMetadata.Images
                 {
                     AddImage(files, images, name + "-fanart", ImageType.Backdrop, imagePrefix);
 
-                    // Support without the prefix if it's in it's own folder
+                    // Support without the prefix if it's in its own folder
                     if (!isInMixedFolder)
                     {
                         AddImage(files, images, name + "-fanart", ImageType.Backdrop);

+ 1 - 1
MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs

@@ -15,7 +15,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
         /// <summary>
         /// Initializes a new instance of the <see cref="BoxSetXmlParser"/> class.
         /// </summary>
-        /// <param name="logger">Instance of the <see cref="ILogger{BoxSetXmlParset}"/> interface.</param>
+        /// <param name="logger">Instance of the <see cref="ILogger{BoxSetXmlParser}"/> interface.</param>
         /// <param name="providerManager">Instance of the <see cref="IProviderManager"/> interface.</param>
         public BoxSetXmlParser(ILogger<BoxSetXmlParser> logger, IProviderManager providerManager)
             : base(logger, providerManager)

+ 2 - 2
MediaBrowser.MediaEncoding/BdInfo/BdInfoDirectoryInfo.cs

@@ -84,7 +84,7 @@ public class BdInfoDirectoryInfo : IDirectoryInfo
     /// Gets the files matching a pattern.
     /// </summary>
     /// <param name="searchPattern">The search pattern.</param>
-    /// <returns>All files of the directory matchign the search pattern.</returns>
+    /// <returns>All files of the directory matching the search pattern.</returns>
     public IFileInfo[] GetFiles(string searchPattern)
     {
         return _fileSystem.GetFiles(_impl.FullName, new[] { searchPattern }, false, false)
@@ -97,7 +97,7 @@ public class BdInfoDirectoryInfo : IDirectoryInfo
     /// </summary>
     /// <param name="searchPattern">The search pattern.</param>
     /// <param name="searchOption">The search optin.</param>
-    /// <returns>All files of the directory matchign the search pattern and options.</returns>
+    /// <returns>All files of the directory matching the search pattern and options.</returns>
     public IFileInfo[] GetFiles(string searchPattern, SearchOption searchOption)
     {
         return _fileSystem.GetFiles(

+ 3 - 3
MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs

@@ -1101,14 +1101,14 @@ namespace MediaBrowser.MediaEncoding.Encoder
 
         private void StopProcesses()
         {
-            List<ProcessWrapper> proceses;
+            List<ProcessWrapper> processes;
             lock (_runningProcessesLock)
             {
-                proceses = _runningProcesses.ToList();
+                processes = _runningProcesses.ToList();
                 _runningProcesses.Clear();
             }
 
-            foreach (var process in proceses)
+            foreach (var process in processes)
             {
                 if (!process.HasExited)
                 {

+ 2 - 2
MediaBrowser.MediaEncoding/Probing/FFProbeHelpers.cs

@@ -24,7 +24,7 @@ namespace MediaBrowser.MediaEncoding.Probing
 
             if (result.Streams is not null)
             {
-                // Convert all dictionaries to case insensitive
+                // Convert all dictionaries to case-insensitive
                 foreach (var stream in result.Streams)
                 {
                     if (stream.Tags is not null)
@@ -70,7 +70,7 @@ namespace MediaBrowser.MediaEncoding.Probing
         }
 
         /// <summary>
-        /// Converts a dictionary to case insensitive.
+        /// Converts a dictionary to case-insensitive.
         /// </summary>
         /// <param name="dict">The dict.</param>
         /// <returns>Dictionary{System.StringSystem.String}.</returns>

+ 3 - 3
MediaBrowser.Model/Configuration/ServerConfiguration.cs

@@ -83,9 +83,9 @@ public class ServerConfiguration : BaseApplicationConfiguration
     public bool QuickConnectAvailable { get; set; } = true;
 
     /// <summary>
-    /// Gets or sets a value indicating whether [enable case sensitive item ids].
+    /// Gets or sets a value indicating whether [enable case-sensitive item ids].
     /// </summary>
-    /// <value><c>true</c> if [enable case sensitive item ids]; otherwise, <c>false</c>.</value>
+    /// <value><c>true</c> if [enable case-sensitive item ids]; otherwise, <c>false</c>.</value>
     public bool EnableCaseSensitiveItemIds { get; set; } = true;
 
     public bool DisableLiveTvChannelUserDataName { get; set; } = true;
@@ -249,7 +249,7 @@ public class ServerConfiguration : BaseApplicationConfiguration
     public bool AllowClientLogUpload { get; set; } = true;
 
     /// <summary>
-    /// Gets or sets the dummy chapter duration in seconds, use 0 (zero) or less to disable generation alltogether.
+    /// Gets or sets the dummy chapter duration in seconds, use 0 (zero) or less to disable generation altogether.
     /// </summary>
     /// <value>The dummy chapters duration.</value>
     public int DummyChapterDuration { get; set; }

+ 2 - 2
MediaBrowser.Model/Dlna/ConditionProcessor.cs

@@ -25,8 +25,8 @@ namespace MediaBrowser.Model.Dlna
         /// <param name="videoFramerate">The framerate.</param>
         /// <param name="packetLength">The packet length.</param>
         /// <param name="timestamp">The <see cref="TransportStreamTimestamp"/>.</param>
-        /// <param name="isAnamorphic">A value indicating whether tthe video is anamorphic.</param>
-        /// <param name="isInterlaced">A value indicating whether tthe video is interlaced.</param>
+        /// <param name="isAnamorphic">A value indicating whether the video is anamorphic.</param>
+        /// <param name="isInterlaced">A value indicating whether the video is interlaced.</param>
         /// <param name="refFrames">The reference frames.</param>
         /// <param name="numVideoStreams">The number of video streams.</param>
         /// <param name="numAudioStreams">The number of audio streams.</param>

+ 1 - 1
MediaBrowser.Model/Dlna/DirectPlayProfile.cs

@@ -59,7 +59,7 @@ public class DirectPlayProfile
     /// <returns>True if supported.</returns>
     public bool SupportsAudioCodec(string? codec)
     {
-        // Video profiles can have audio codec restrictions too, therefore incude Video as valid type.
+        // Video profiles can have audio codec restrictions too, therefore include Video as valid type.
         return (Type == DlnaProfileType.Audio || Type == DlnaProfileType.Video) && ContainerHelper.ContainsContainer(AudioCodec, codec);
     }
 }

+ 1 - 1
MediaBrowser.Model/Entities/HardwareAccelerationType.cs

@@ -8,7 +8,7 @@ namespace MediaBrowser.Model.Entities;
 public enum HardwareAccelerationType
 {
     /// <summary>
-    /// Software accelleration.
+    /// Software acceleration.
     /// </summary>
     none = 0,
 

+ 1 - 1
MediaBrowser.Model/Entities/MetadataProvider.cs

@@ -27,7 +27,7 @@ namespace MediaBrowser.Model.Entities
         Tvdb = 4,
 
         /// <summary>
-        /// The tvcom providerd.
+        /// The tvcom provider.
         /// </summary>
         Tvcom = 5,
 

+ 3 - 3
MediaBrowser.Model/Entities/ProviderIdsExtensions.cs

@@ -11,7 +11,7 @@ namespace MediaBrowser.Model.Entities;
 public static class ProviderIdsExtensions
 {
     /// <summary>
-    /// Case insensitive dictionary of <see cref="MetadataProvider"/> string representation.
+    /// Case-insensitive dictionary of <see cref="MetadataProvider"/> string representation.
     /// </summary>
     private static readonly Dictionary<string, string> _metadataProviderEnumDictionary =
         Enum.GetValues<MetadataProvider>()
@@ -107,7 +107,7 @@ public static class ProviderIdsExtensions
     /// <param name="instance">The instance.</param>
     /// <param name="name">The name, this should not contain a '=' character.</param>
     /// <param name="value">The value.</param>
-    /// <remarks>Due to how deserialization from the database works the name can not contain '='.</remarks>
+    /// <remarks>Due to how deserialization from the database works the name cannot contain '='.</remarks>
     /// <returns><c>true</c> if the provider id got set successfully; otherwise, <c>false</c>.</returns>
     public static bool TrySetProviderId(this IHasProviderIds instance, string? name, string? value)
     {
@@ -153,7 +153,7 @@ public static class ProviderIdsExtensions
     /// <param name="instance">The instance.</param>
     /// <param name="name">The name, this should not contain a '=' character.</param>
     /// <param name="value">The value.</param>
-    /// <remarks>Due to how deserialization from the database works the name can not contain '='.</remarks>
+    /// <remarks>Due to how deserialization from the database works the name cannot contain '='.</remarks>
     public static void SetProviderId(this IHasProviderIds instance, string name, string value)
     {
         ArgumentNullException.ThrowIfNull(instance);

+ 1 - 1
MediaBrowser.Model/Globalization/ILocalizationManager.cs

@@ -52,7 +52,7 @@ namespace MediaBrowser.Model.Globalization
         /// <summary>
         /// Gets the localization options.
         /// </summary>
-        /// <returns><see cref="IEnumerable{LocalizatonOption}" />.</returns>
+        /// <returns><see cref="IEnumerable{LocalizationOption}" />.</returns>
         IEnumerable<LocalizationOption> GetLocalizationOptions();
 
         /// <summary>

+ 2 - 2
MediaBrowser.Model/IO/IFileSystem.cs

@@ -145,7 +145,7 @@ namespace MediaBrowser.Model.IO
         /// Gets the directories.
         /// </summary>
         /// <param name="path">The path.</param>
-        /// <param name="recursive">If set to <c>true</c> also searches in subdirectiories.</param>
+        /// <param name="recursive">If set to <c>true</c> also searches in subdirectories.</param>
         /// <returns>All found directories.</returns>
         IEnumerable<FileSystemMetadata> GetDirectories(string path, bool recursive = false);
 
@@ -153,7 +153,7 @@ namespace MediaBrowser.Model.IO
         /// Gets the files.
         /// </summary>
         /// <param name="path">The path in which to search.</param>
-        /// <param name="recursive">If set to <c>true</c> also searches in subdirectiories.</param>
+        /// <param name="recursive">If set to <c>true</c> also searches in subdirectories.</param>
         /// <returns>All found files.</returns>
         IEnumerable<FileSystemMetadata> GetFiles(string path, bool recursive = false);
 

+ 6 - 1
MediaBrowser.Model/Plugins/PluginStatus.cs

@@ -34,7 +34,12 @@ namespace MediaBrowser.Model.Plugins
         Malfunctioned = -3,
 
         /// <summary>
-        /// This plugin has been superceded by another version.
+        /// This plugin has been superseded by another version.
+        /// </summary>
+        Superseded = -4,
+
+        /// <summary>
+        /// [DEPRECATED] See Superseded.
         /// </summary>
         Superceded = -4,
 

+ 1 - 1
MediaBrowser.Model/Session/TranscodingInfo.cs

@@ -5,7 +5,7 @@ using MediaBrowser.Model.Entities;
 namespace MediaBrowser.Model.Session;
 
 /// <summary>
-/// Class holding information on a runnning transcode.
+/// Class holding information on a running transcode.
 /// </summary>
 public class TranscodingInfo
 {

+ 1 - 1
MediaBrowser.Model/System/PublicSystemInfo.cs

@@ -47,7 +47,7 @@ namespace MediaBrowser.Model.System
         /// Gets or sets a value indicating whether the startup wizard is completed.
         /// </summary>
         /// <remarks>
-        /// Nullable for OpenAPI specification only to retain backwards compatibility in apiclients.
+        /// Nullable for OpenAPI specification only to retain backwards compatibility in api clients.
         /// </remarks>
         /// <value>The startup completion status.</value>]
         public bool? StartupWizardCompleted { get; set; }

+ 2 - 2
MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs

@@ -73,7 +73,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
         protected IProviderManager ProviderManager { get; }
 
         /// <summary>
-        /// Gets a value indicating whether URLs after a closing XML tag are supporrted.
+        /// Gets a value indicating whether URLs after a closing XML tag are supported.
         /// </summary>
         protected virtual bool SupportsUrlAfterClosingXmlTag => false;
 
@@ -672,7 +672,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
                 }
 
                 var fileSystemMetadata = _directoryService.GetFile(val);
-                // non existing file returns null
+                // nonexistent file returns null
                 if (fileSystemMetadata is null || !fileSystemMetadata.Exists)
                 {
                     Logger.LogWarning("Artwork file {Path} specified in nfo file for {ItemName} does not exist.", uri, itemResult.Item.Name);

+ 1 - 1
MediaBrowser.XbmcMetadata/Savers/ArtistNfoSaver.cs

@@ -13,7 +13,7 @@ using Microsoft.Extensions.Logging;
 namespace MediaBrowser.XbmcMetadata.Savers
 {
     /// <summary>
-    /// Nfo saver for artsist.
+    /// Nfo saver for artist.
     /// </summary>
     public class ArtistNfoSaver : BaseNfoSaver
     {

+ 1 - 1
src/Jellyfin.LiveTv/Listings/SchedulesDirect.cs

@@ -138,7 +138,7 @@ namespace Jellyfin.LiveTv.Listings
             var programsInfo = new List<ProgramInfo>();
             foreach (ProgramDto schedule in dailySchedules.SelectMany(d => d.Programs))
             {
-                // _logger.LogDebug("Proccesing Schedule for statio ID " + stationID +
+                // _logger.LogDebug("Processing Schedule for station ID " + stationID +
                 //              " which corresponds to channel " + channelNumber + " and program id " +
                 //              schedule.ProgramId + " which says it has images? " +
                 //              programDict[schedule.ProgramId].hasImageArtwork);

+ 1 - 1
src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MapDto.cs

@@ -23,7 +23,7 @@ namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
         /// Gets or sets the provider callsign.
         /// </summary>
         [JsonPropertyName("providerCallsign")]
-        public string? ProvderCallsign { get; set; }
+        public string? ProviderCallsign { get; set; }
 
         /// <summary>
         /// Gets or sets the logical channel number.

+ 1 - 1
src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ProgramDetailsDto.cs

@@ -64,7 +64,7 @@ namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
         public IReadOnlyList<MetadataProgramsDto> Metadata { get; set; } = Array.Empty<MetadataProgramsDto>();
 
         /// <summary>
-        /// Gets or sets the list of content raitings.
+        /// Gets or sets the list of content ratings.
         /// </summary>
         [JsonPropertyName("contentRating")]
         public IReadOnlyList<ContentRatingDto> ContentRating { get; set; } = Array.Empty<ContentRatingDto>();

+ 1 - 1
src/Jellyfin.Networking/Manager/NetworkManager.cs

@@ -973,7 +973,7 @@ public class NetworkManager : INetworkManager, IDisposable
         bindPreference = string.Empty;
         int? port = null;
 
-        // Only consider subnets including the source IP, prefering specific overrides
+        // Only consider subnets including the source IP, preferring specific overrides
         List<PublishedServerUriOverride> validPublishedServerUrls;
         if (!isInExternalSubnet)
         {

+ 1 - 1
tests/Jellyfin.Extensions.Tests/Json/Converters/JsonCommaDelimitedArrayTests.cs

@@ -92,7 +92,7 @@ namespace Jellyfin.Extensions.Tests.Json.Converters
                 Value = [GeneralCommandType.MoveUp, GeneralCommandType.MoveDown]
             };
 
-            var value = JsonSerializer.Deserialize<GenericBodyArrayModel<GeneralCommandType>>(@"{ ""Value"": ""MoveUp,TotallyNotAVallidCommand,MoveDown"" }", _jsonOptions);
+            var value = JsonSerializer.Deserialize<GenericBodyArrayModel<GeneralCommandType>>(@"{ ""Value"": ""MoveUp,TotallyNotAValidCommand,MoveDown"" }", _jsonOptions);
             Assert.Equal(desiredValue.Value, value?.Value);
         }
 

+ 4 - 4
tests/Jellyfin.Extensions.Tests/StringExtensionsTests.cs

@@ -6,8 +6,8 @@ namespace Jellyfin.Extensions.Tests
     public class StringExtensionsTests
     {
         [Theory]
-        [InlineData("", "")] // Identity edge-case (no diactritics)
-        [InlineData("Indiana Jones", "Indiana Jones")] // Identity (no diactritics)
+        [InlineData("", "")] // Identity edge-case (no diacritics)
+        [InlineData("Indiana Jones", "Indiana Jones")] // Identity (no diacritics)
         [InlineData("a\ud800b", "ab")] // Invalid UTF-16 char stripping
         [InlineData("åäö", "aao")] // Issue #7484
         [InlineData("Jön", "Jon")] // Issue #7484
@@ -25,8 +25,8 @@ namespace Jellyfin.Extensions.Tests
         }
 
         [Theory]
-        [InlineData("", false)] // Identity edge-case (no diactritics)
-        [InlineData("Indiana Jones", false)] // Identity (no diactritics)
+        [InlineData("", false)] // Identity edge-case (no diacritics)
+        [InlineData("Indiana Jones", false)] // Identity (no diacritics)
         [InlineData("a\ud800b", true)] // Invalid UTF-16 char stripping
         [InlineData("åäö", true)] // Issue #7484
         [InlineData("Jön", true)] // Issue #7484

+ 1 - 1
tests/Jellyfin.LiveTv.Tests/SchedulesDirect/SchedulesDirectDeserializeTests.cs

@@ -232,7 +232,7 @@ namespace Jellyfin.LiveTv.Tests.SchedulesDirect
             Assert.Equal(2, channelDto!.Map.Count);
             Assert.Equal("24326", channelDto.Map[0].StationId);
             Assert.Equal("001", channelDto.Map[0].Channel);
-            Assert.Equal("BBC ONE South", channelDto.Map[0].ProvderCallsign);
+            Assert.Equal("BBC ONE South", channelDto.Map[0].ProviderCallsign);
             Assert.Equal("1", channelDto.Map[0].LogicalChannelNumber);
             Assert.Equal("providerCallsign", channelDto.Map[0].MatchType);
         }

+ 4 - 4
tests/Jellyfin.Naming.Tests/TV/TvParserHelpersTest.cs

@@ -15,17 +15,17 @@ public class TvParserHelpersTest
     [InlineData("Unreleased", SeriesStatus.Unreleased)]
     public void SeriesStatusParserTest_Valid(string statusString, SeriesStatus? status)
     {
-        var successful = TvParserHelpers.TryParseSeriesStatus(statusString, out var parsered);
+        var successful = TvParserHelpers.TryParseSeriesStatus(statusString, out var parsed);
         Assert.True(successful);
-        Assert.Equal(status, parsered);
+        Assert.Equal(status, parsed);
     }
 
     [Theory]
     [InlineData("XXX")]
     public void SeriesStatusParserTest_InValid(string statusString)
     {
-        var successful = TvParserHelpers.TryParseSeriesStatus(statusString, out var parsered);
+        var successful = TvParserHelpers.TryParseSeriesStatus(statusString, out var parsed);
         Assert.False(successful);
-        Assert.Null(parsered);
+        Assert.Null(parsed);
     }
 }

+ 1 - 1
tests/Jellyfin.Networking.Tests/NetworkParseTests.cs

@@ -238,7 +238,7 @@ namespace Jellyfin.Networking.Tests
         // User on external network, internal binding only - so assumption is a proxy forward, return external override.
         [InlineData("jellyfin.org", "192.168.1.0/24", "eth16", false, "external=http://helloworld.com", "http://helloworld.com")]
 
-        // User on external network, no binding - so result is the 1st external which is overriden.
+        // User on external network, no binding - so result is the 1st external which is overridden.
         [InlineData("jellyfin.org", "192.168.1.0/24", "", false, "external=http://helloworld.com", "http://helloworld.com")]
 
         // User assumed to be internal, no binding - so result is the 1st matching interface.

+ 2 - 2
tests/Jellyfin.Providers.Tests/Omdb/JsonOmdbConverterTests.cs

@@ -31,7 +31,7 @@ namespace Jellyfin.Providers.Tests.Omdb
         [Theory]
         [InlineData("\"N/A\"")]
         [InlineData("null")]
-        public void Deserialization_To_Nullable_Int_Shoud_Be_Null(string input)
+        public void Deserialization_To_Nullable_Int_Should_Be_Null(string input)
         {
             var result = JsonSerializer.Deserialize<int?>(input, _options);
             Assert.Null(result);
@@ -49,7 +49,7 @@ namespace Jellyfin.Providers.Tests.Omdb
         [Theory]
         [InlineData("\"N/A\"")]
         [InlineData("null")]
-        public void Deserialization_To_Nullable_String_Shoud_Be_Null(string input)
+        public void Deserialization_To_Nullable_String_Should_Be_Null(string input)
         {
             var result = JsonSerializer.Deserialize<string?>(input, _options);
             Assert.Null(result);

+ 1 - 1
tests/Jellyfin.Server.Implementations.Tests/Test Data/Updates/manifest.json

@@ -540,7 +540,7 @@
     {
         "guid": "022a3003-993f-45f1-8565-87d12af2e12a",
         "name": "InfuseSync",
-        "description": "This plugin will track all media changes while any Infuse clients are offline to decrease sync times when logging back in to your server.",
+        "description": "This plugin will track all media changes while any Infuse clients are offline to decrease sync times when logging back into your server.",
         "overview": "Blazing fast indexing for Infuse",
         "owner": "Firecore LLC",
         "category": "General",

+ 3 - 3
tests/Jellyfin.Server.Integration.Tests/Controllers/DashboardControllerTests.cs

@@ -14,7 +14,7 @@ namespace Jellyfin.Server.Integration.Tests.Controllers
     public sealed class DashboardControllerTests : IClassFixture<JellyfinApplicationFactory>
     {
         private readonly JellyfinApplicationFactory _factory;
-        private readonly JsonSerializerOptions _jsonOpions = JsonDefaults.Options;
+        private readonly JsonSerializerOptions _jsonOptions = JsonDefaults.Options;
         private static string? _accessToken;
 
         public DashboardControllerTests(JellyfinApplicationFactory factory)
@@ -65,7 +65,7 @@ namespace Jellyfin.Server.Integration.Tests.Controllers
 
             Assert.Equal(HttpStatusCode.OK, response.StatusCode);
 
-            _ = await response.Content.ReadFromJsonAsync<ConfigurationPageInfo[]>(_jsonOpions);
+            _ = await response.Content.ReadFromJsonAsync<ConfigurationPageInfo[]>(_jsonOptions);
             // TODO: check content
         }
 
@@ -81,7 +81,7 @@ namespace Jellyfin.Server.Integration.Tests.Controllers
             Assert.Equal(MediaTypeNames.Application.Json, response.Content.Headers.ContentType?.MediaType);
             Assert.Equal(Encoding.UTF8.BodyName, response.Content.Headers.ContentType?.CharSet);
 
-            var data = await response.Content.ReadFromJsonAsync<ConfigurationPageInfo[]>(_jsonOpions);
+            var data = await response.Content.ReadFromJsonAsync<ConfigurationPageInfo[]>(_jsonOptions);
             Assert.NotNull(data);
             Assert.Empty(data);
         }

+ 1 - 1
tests/Jellyfin.Server.Integration.Tests/Controllers/ItemsControllerTests.cs

@@ -35,7 +35,7 @@ public sealed class ItemsControllerTests : IClassFixture<JellyfinApplicationFact
     [Theory]
     [InlineData("Users/{0}/Items")]
     [InlineData("Users/{0}/Items/Resume")]
-    public async Task GetUserItems_NonExistentUserId_NotFound(string format)
+    public async Task GetUserItems_NonexistentUserId_NotFound(string format)
     {
         var client = _factory.CreateClient();
         client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));

+ 3 - 3
tests/Jellyfin.Server.Integration.Tests/Controllers/LibraryControllerTests.cs

@@ -29,7 +29,7 @@ public sealed class LibraryControllerTests : IClassFixture<JellyfinApplicationFa
     [InlineData("Shows/{0}/Similar")]
     [InlineData("Movies/{0}/Similar")]
     [InlineData("Trailers/{0}/Similar")]
-    public async Task Get_NonExistentItemId_NotFound(string format)
+    public async Task Get_NonexistentItemId_NotFound(string format)
     {
         var client = _factory.CreateClient();
         client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));
@@ -41,7 +41,7 @@ public sealed class LibraryControllerTests : IClassFixture<JellyfinApplicationFa
     [Theory]
     [InlineData("Items/{0}")]
     [InlineData("Items?ids={0}")]
-    public async Task Delete_NonExistentItemId_Unauthorised(string format)
+    public async Task Delete_NonexistentItemId_Unauthorised(string format)
     {
         var client = _factory.CreateClient();
 
@@ -52,7 +52,7 @@ public sealed class LibraryControllerTests : IClassFixture<JellyfinApplicationFa
     [Theory]
     [InlineData("Items/{0}")]
     [InlineData("Items?ids={0}")]
-    public async Task Delete_NonExistentItemId_NotFound(string format)
+    public async Task Delete_NonexistentItemId_NotFound(string format)
     {
         var client = _factory.CreateClient();
         client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));

+ 4 - 4
tests/Jellyfin.Server.Integration.Tests/Controllers/PlaystateControllerTests.cs

@@ -16,7 +16,7 @@ public class PlaystateControllerTests : IClassFixture<JellyfinApplicationFactory
     }
 
     [Fact]
-    public async Task DeleteMarkUnplayedItem_NonExistentUserId_NotFound()
+    public async Task DeleteMarkUnplayedItem_NonexistentUserId_NotFound()
     {
         var client = _factory.CreateClient();
         client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));
@@ -26,7 +26,7 @@ public class PlaystateControllerTests : IClassFixture<JellyfinApplicationFactory
     }
 
     [Fact]
-    public async Task PostMarkPlayedItem_NonExistentUserId_NotFound()
+    public async Task PostMarkPlayedItem_NonexistentUserId_NotFound()
     {
         var client = _factory.CreateClient();
         client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));
@@ -36,7 +36,7 @@ public class PlaystateControllerTests : IClassFixture<JellyfinApplicationFactory
     }
 
     [Fact]
-    public async Task DeleteMarkUnplayedItem_NonExistentItemId_NotFound()
+    public async Task DeleteMarkUnplayedItem_NonexistentItemId_NotFound()
     {
         var client = _factory.CreateClient();
         client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));
@@ -48,7 +48,7 @@ public class PlaystateControllerTests : IClassFixture<JellyfinApplicationFactory
     }
 
     [Fact]
-    public async Task PostMarkPlayedItem_NonExistentItemId_NotFound()
+    public async Task PostMarkPlayedItem_NonexistentItemId_NotFound()
     {
         var client = _factory.CreateClient();
         client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));

+ 8 - 8
tests/Jellyfin.Server.Integration.Tests/Controllers/UserControllerTests.cs

@@ -20,7 +20,7 @@ namespace Jellyfin.Server.Integration.Tests.Controllers
         private const string TestUsername = "testUser01";
 
         private readonly JellyfinApplicationFactory _factory;
-        private readonly JsonSerializerOptions _jsonOpions = JsonDefaults.Options;
+        private readonly JsonSerializerOptions _jsonOptions = JsonDefaults.Options;
         private static string? _accessToken;
         private static Guid _testUserId = Guid.Empty;
 
@@ -30,10 +30,10 @@ namespace Jellyfin.Server.Integration.Tests.Controllers
         }
 
         private Task<HttpResponseMessage> CreateUserByName(HttpClient httpClient, CreateUserByName request)
-            => httpClient.PostAsJsonAsync("Users/New", request, _jsonOpions);
+            => httpClient.PostAsJsonAsync("Users/New", request, _jsonOptions);
 
         private Task<HttpResponseMessage> UpdateUserPassword(HttpClient httpClient, Guid userId, UpdateUserPassword request)
-            => httpClient.PostAsJsonAsync("Users/" + userId.ToString("N", CultureInfo.InvariantCulture) + "/Password", request, _jsonOpions);
+            => httpClient.PostAsJsonAsync("Users/" + userId.ToString("N", CultureInfo.InvariantCulture) + "/Password", request, _jsonOptions);
 
         [Fact]
         [Priority(-1)]
@@ -43,7 +43,7 @@ namespace Jellyfin.Server.Integration.Tests.Controllers
 
             using var response = await client.GetAsync("Users/Public");
             Assert.Equal(HttpStatusCode.OK, response.StatusCode);
-            var users = await response.Content.ReadFromJsonAsync<UserDto[]>(_jsonOpions);
+            var users = await response.Content.ReadFromJsonAsync<UserDto[]>(_jsonOptions);
             // User are hidden by default
             Assert.NotNull(users);
             Assert.Empty(users);
@@ -58,7 +58,7 @@ namespace Jellyfin.Server.Integration.Tests.Controllers
 
             using var response = await client.GetAsync("Users");
             Assert.Equal(HttpStatusCode.OK, response.StatusCode);
-            var users = await response.Content.ReadFromJsonAsync<UserDto[]>(_jsonOpions);
+            var users = await response.Content.ReadFromJsonAsync<UserDto[]>(_jsonOptions);
             Assert.NotNull(users);
             Assert.Single(users);
             Assert.False(users![0].HasConfiguredPassword);
@@ -90,7 +90,7 @@ namespace Jellyfin.Server.Integration.Tests.Controllers
 
             using var response = await CreateUserByName(client, createRequest);
             Assert.Equal(HttpStatusCode.OK, response.StatusCode);
-            var user = await response.Content.ReadFromJsonAsync<UserDto>(_jsonOpions);
+            var user = await response.Content.ReadFromJsonAsync<UserDto>(_jsonOptions);
             Assert.Equal(TestUsername, user!.Name);
             Assert.False(user.HasPassword);
             Assert.False(user.HasConfiguredPassword);
@@ -151,7 +151,7 @@ namespace Jellyfin.Server.Integration.Tests.Controllers
             Assert.Equal(HttpStatusCode.NoContent, response.StatusCode);
 
             var users = await JsonSerializer.DeserializeAsync<UserDto[]>(
-                await client.GetStreamAsync("Users"), _jsonOpions);
+                await client.GetStreamAsync("Users"), _jsonOptions);
             var user = users!.First(x => x.Id.Equals(_testUserId));
             Assert.True(user.HasPassword);
             Assert.True(user.HasConfiguredPassword);
@@ -174,7 +174,7 @@ namespace Jellyfin.Server.Integration.Tests.Controllers
             Assert.Equal(HttpStatusCode.NoContent, response.StatusCode);
 
             var users = await JsonSerializer.DeserializeAsync<UserDto[]>(
-                await client.GetStreamAsync("Users"), _jsonOpions);
+                await client.GetStreamAsync("Users"), _jsonOptions);
             var user = users!.First(x => x.Id.Equals(_testUserId));
             Assert.False(user.HasPassword);
             Assert.False(user.HasConfiguredPassword);

+ 3 - 3
tests/Jellyfin.Server.Integration.Tests/Controllers/UserLibraryControllerTests.cs

@@ -23,7 +23,7 @@ public sealed class UserLibraryControllerTests : IClassFixture<JellyfinApplicati
     }
 
     [Fact]
-    public async Task GetRootFolder_NonExistenUserId_NotFound()
+    public async Task GetRootFolder_NonexistentUserId_NotFound()
     {
         var client = _factory.CreateClient();
         client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));
@@ -47,7 +47,7 @@ public sealed class UserLibraryControllerTests : IClassFixture<JellyfinApplicati
     [InlineData("Users/{0}/Items/{1}/LocalTrailers")]
     [InlineData("Users/{0}/Items/{1}/SpecialFeatures")]
     [InlineData("Users/{0}/Items/{1}/Lyrics")]
-    public async Task GetItem_NonExistenUserId_NotFound(string format)
+    public async Task GetItem_NonexistentUserId_NotFound(string format)
     {
         var client = _factory.CreateClient();
         client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));
@@ -64,7 +64,7 @@ public sealed class UserLibraryControllerTests : IClassFixture<JellyfinApplicati
     [InlineData("Users/{0}/Items/{1}/LocalTrailers")]
     [InlineData("Users/{0}/Items/{1}/SpecialFeatures")]
     [InlineData("Users/{0}/Items/{1}/Lyrics")]
-    public async Task GetItem_NonExistentItemId_NotFound(string format)
+    public async Task GetItem_NonexistentItemId_NotFound(string format)
     {
         var client = _factory.CreateClient();
         client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));

+ 1 - 1
tests/Jellyfin.Server.Integration.Tests/Controllers/VideosControllerTests.cs

@@ -16,7 +16,7 @@ public sealed class VideosControllerTests : IClassFixture<JellyfinApplicationFac
     }
 
     [Fact]
-    public async Task DeleteAlternateSources_NonExistentItemId_NotFound()
+    public async Task DeleteAlternateSources_NonexistentItemId_NotFound()
     {
         var client = _factory.CreateClient();
         client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));

+ 1 - 1
tests/Jellyfin.XbmcMetadata.Tests/Parsers/EpisodeNfoProviderTests.cs

@@ -85,7 +85,7 @@ namespace Jellyfin.XbmcMetadata.Tests.Parsers
             Assert.Contains("Bryan Fuller", writers.Select(x => x.Name));
             Assert.Contains("Michael Green", writers.Select(x => x.Name));
 
-            // Direcotrs
+            // Directors
             var directors = result.People.Where(x => x.Type == PersonKind.Director).ToArray();
             Assert.Single(directors);
             Assert.Contains("David Slade", directors.Select(x => x.Name));