diff --git a/.editorconfig b/.editorconfig
index 0e17ec0e..b3afaa08 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -17,7 +17,7 @@ dotnet_diagnostic.IDE0051.severity = warning
dotnet_diagnostic.IDE0055.severity = warning
dotnet_diagnostic.IDE0057.severity = silent
dotnet_diagnostic.IDE0058.severity = silent
-dotnet_diagnostic.IDE0065.severity = silent
+dotnet_diagnostic.IDE0065.severity = none
dotnet_diagnostic.IDE0078.severity = silent
dotnet_diagnostic.IDE0090.severity = silent
dotnet_diagnostic.IDE0160.severity = silent
diff --git a/Directory.Build.props b/Directory.Build.props
index 8400f4c5..218fbba6 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -8,10 +8,14 @@
true
NU1902;NU1903
+
+ $(NoWarn);IDE0065
AllEnabledByDefault
+
+ false
diff --git a/Emby.Naming/Emby.Naming.csproj b/Emby.Naming/Emby.Naming.csproj
index 85b06207..14306045 100644
--- a/Emby.Naming/Emby.Naming.csproj
+++ b/Emby.Naming/Emby.Naming.csproj
@@ -20,6 +20,7 @@
false
false
+ $(NoWarn);IDE0065
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/PhotoProvider.cs b/Emby.Photos/PhotoProvider.cs
index 0099fb90..ee36e6be 100644
--- a/Emby.Photos/PhotoProvider.cs
+++ b/Emby.Photos/PhotoProvider.cs
@@ -2,178 +2,165 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
-namespace Emby.Photos;
+#pragma warning disable SA1309 // Variables should not begin with underscore
-using System;
-using System.IO;
-using System.Linq;
-using System.Threading;
-using System.Threading.Tasks;
-using Jellyfin.Extensions;
-using MediaBrowser.Controller.Drawing;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Drawing;
-using MediaBrowser.Model.Entities;
-using Microsoft.Extensions.Logging;
-using TagLib;
-using TagLib.IFD;
-using TagLib.IFD.Entries;
-using TagLib.IFD.Tags;
-
-///
-/// Metadata provider for photos.
-///
-public class PhotoProvider : ICustomMetadataProvider, IForcedProvider, IHasItemChangeMonitor
+namespace Emby.Photos
{
- private readonly ILogger _logger;
- private readonly IImageProcessor _imageProcessor;
-
- // Other extensions might cause taglib to hang
- private readonly string[] _includeExtensions = [".jpg", ".jpeg", ".png", ".tiff", ".cr2", ".webp", ".avif"];
+ using System;
+ using System.IO;
+ using System.Linq;
+ using System.Threading;
+ using System.Threading.Tasks;
+ using Jellyfin.Extensions;
+ using MediaBrowser.Controller.Drawing;
+ using MediaBrowser.Controller.Entities;
+ using MediaBrowser.Controller.Library;
+ using MediaBrowser.Controller.Providers;
+ using MediaBrowser.Model.Drawing;
+ using MediaBrowser.Model.Entities;
+ using MediaBrowser.Model.IO;
+ using Microsoft.Extensions.Logging;
+ using TagLib;
+ using TagLib.IFD;
+ using TagLib.IFD.Entries;
+ using TagLib.IFD.Tags;
///
- /// Initializes a new instance of the class.
+ /// Metadata provider for photos.
///
/// The logger.
/// The image processor.
- public PhotoProvider(ILogger logger, IImageProcessor imageProcessor)
+ public class PhotoProvider(ILogger logger, IImageProcessor imageProcessor) : ICustomMetadataProvider, IForcedProvider, IHasItemChangeMonitor
{
- _logger = logger;
- _imageProcessor = imageProcessor;
- }
+ // Other extensions might cause taglib to hang
+ private readonly string[] _includeExtensions = [".jpg", ".jpeg", ".png", ".tiff", ".cr2", ".webp", ".avif"];
- ///
- public string Name => "Embedded Information";
+ ///
+ public string Name => "Embedded Information";
- ///
- public bool HasChanged(BaseItem item, IDirectoryService directoryService)
- {
- if (item.IsFileProtocol)
+ ///
+ public bool HasChanged(BaseItem item, IDirectoryService directoryService)
{
- var file = directoryService.GetFile(item.Path);
- return file is not null && item.HasChanged(file.LastWriteTimeUtc);
+ if (item.IsFileProtocol)
+ {
+ FileSystemMetadata? file = directoryService.GetFile(item.Path);
+ return file is not null && item.HasChanged(file.LastWriteTimeUtc);
+ }
+
+ return false;
}
- return false;
- }
-
- ///
- public Task FetchAsync(Photo item, MetadataRefreshOptions options, CancellationToken cancellationToken)
- {
- item.SetImagePath(ImageType.Primary, item.Path);
-
- // Examples: https://github.com/mono/taglib-sharp/blob/a5f6949a53d09ce63ee7495580d6802921a21f14/tests/fixtures/TagLib.Tests.Images/NullOrientationTest.cs
- if (_includeExtensions.Contains(Path.GetExtension(item.Path.AsSpan()), StringComparison.OrdinalIgnoreCase))
+ ///
+ public Task FetchAsync(Photo item, MetadataRefreshOptions options, CancellationToken cancellationToken)
{
- try
- {
- using var file = TagLib.File.Create(item.Path);
- if (file.GetTag(TagTypes.TiffIFD) is IFDTag tag)
- {
- var structure = tag.Structure;
- if (structure?.GetEntry(0, (ushort)IFDEntryTag.ExifIFD) is SubIFDEntry exif)
- {
- var exifStructure = exif.Structure;
- if (exifStructure is not null)
- {
- if (exifStructure.GetEntry(0, (ushort)ExifEntryTag.ApertureValue) is RationalIFDEntry apertureEntry)
- {
- item.Aperture = (double)apertureEntry.Value.Numerator / apertureEntry.Value.Denominator;
- }
+ item.SetImagePath(ImageType.Primary, item.Path);
- if (exifStructure.GetEntry(0, (ushort)ExifEntryTag.ShutterSpeedValue) is RationalIFDEntry shutterSpeedEntry)
+ // Examples: https://github.com/mono/taglib-sharp/blob/a5f6949a53d09ce63ee7495580d6802921a21f14/tests/fixtures/TagLib.Tests.Images/NullOrientationTest.cs
+ if (this._includeExtensions.Contains(Path.GetExtension(item.Path.AsSpan()), StringComparison.OrdinalIgnoreCase))
+ {
+ try
+ {
+ using TagLib.File file = TagLib.File.Create(item.Path);
+ if (file.GetTag(TagTypes.TiffIFD) is IFDTag tag)
+ {
+ IFDStructure? structure = tag.Structure;
+ if (structure?.GetEntry(0, (ushort)IFDEntryTag.ExifIFD) is SubIFDEntry exif)
+ {
+ IFDStructure? exifStructure = exif.Structure;
+ if (exifStructure is not null)
{
- item.ShutterSpeed = (double)shutterSpeedEntry.Value.Numerator / shutterSpeedEntry.Value.Denominator;
+ if (exifStructure.GetEntry(0, (ushort)ExifEntryTag.ApertureValue) is RationalIFDEntry apertureEntry)
+ {
+ item.Aperture = (double)apertureEntry.Value.Numerator / apertureEntry.Value.Denominator;
+ }
+
+ if (exifStructure.GetEntry(0, (ushort)ExifEntryTag.ShutterSpeedValue) is RationalIFDEntry shutterSpeedEntry)
+ {
+ item.ShutterSpeed = (double)shutterSpeedEntry.Value.Numerator / shutterSpeedEntry.Value.Denominator;
+ }
}
}
}
- }
- if (file is TagLib.Image.File image)
+ if (file is TagLib.Image.File image)
+ {
+ item.CameraMake = image.ImageTag.Make;
+ item.CameraModel = image.ImageTag.Model;
+
+ item.Width = image.Properties.PhotoWidth;
+ item.Height = image.Properties.PhotoHeight;
+
+ item.CommunityRating = image.ImageTag.Rating;
+
+ item.Overview = image.ImageTag.Comment;
+
+ if (!string.IsNullOrWhiteSpace(image.ImageTag.Title)
+ && !item.LockedFields.Contains(MetadataField.Name))
+ {
+ item.Name = image.ImageTag.Title;
+ }
+
+ DateTime? dateTaken = image.ImageTag.DateTime;
+ if (dateTaken.HasValue)
+ {
+ item.DateCreated = dateTaken.Value.ToUniversalTime();
+ item.PremiereDate = dateTaken.Value;
+ item.ProductionYear = dateTaken.Value.Year;
+ }
+
+ item.Genres = image.ImageTag.Genres;
+ item.Tags = image.ImageTag.Keywords;
+ item.Software = image.ImageTag.Software;
+
+ if (image.ImageTag.Orientation == TagLib.Image.ImageOrientation.None)
+ {
+ item.Orientation = null;
+ }
+ else if (Enum.TryParse(image.ImageTag.Orientation.ToString(), true, out ImageOrientation orientation))
+ {
+ item.Orientation = orientation;
+ }
+
+ item.ExposureTime = image.ImageTag.ExposureTime;
+ item.FocalLength = image.ImageTag.FocalLength;
+
+ item.Latitude = image.ImageTag.Latitude;
+ item.Longitude = image.ImageTag.Longitude;
+ item.Altitude = image.ImageTag.Altitude;
+
+ item.IsoSpeedRating = image.ImageTag.ISOSpeedRatings.HasValue
+ ? Convert.ToInt32(image.ImageTag.ISOSpeedRatings.Value)
+ : null;
+ }
+ }
+ catch (Exception ex)
{
- item.CameraMake = image.ImageTag.Make;
- item.CameraModel = image.ImageTag.Model;
-
- item.Width = image.Properties.PhotoWidth;
- item.Height = image.Properties.PhotoHeight;
-
- item.CommunityRating = image.ImageTag.Rating;
-
- item.Overview = image.ImageTag.Comment;
-
- if (!string.IsNullOrWhiteSpace(image.ImageTag.Title)
- && !item.LockedFields.Contains(MetadataField.Name))
- {
- item.Name = image.ImageTag.Title;
- }
-
- var dateTaken = image.ImageTag.DateTime;
- if (dateTaken.HasValue)
- {
- item.DateCreated = dateTaken.Value.ToUniversalTime();
- item.PremiereDate = dateTaken.Value;
- item.ProductionYear = dateTaken.Value.Year;
- }
-
- item.Genres = image.ImageTag.Genres;
- item.Tags = image.ImageTag.Keywords;
- item.Software = image.ImageTag.Software;
-
- if (image.ImageTag.Orientation == TagLib.Image.ImageOrientation.None)
- {
- item.Orientation = null;
- }
- else if (Enum.TryParse(image.ImageTag.Orientation.ToString(), true, out ImageOrientation orientation))
- {
- item.Orientation = orientation;
- }
-
- item.ExposureTime = image.ImageTag.ExposureTime;
- item.FocalLength = image.ImageTag.FocalLength;
-
- item.Latitude = image.ImageTag.Latitude;
- item.Longitude = image.ImageTag.Longitude;
- item.Altitude = image.ImageTag.Altitude;
-
- if (image.ImageTag.ISOSpeedRatings.HasValue)
- {
- item.IsoSpeedRating = Convert.ToInt32(image.ImageTag.ISOSpeedRatings.Value);
- }
- else
- {
- item.IsoSpeedRating = null;
- }
+ logger.LogError(ex, "Image Provider - Error reading image tag for {0}", item.Path);
}
}
- catch (Exception ex)
+
+ if (item.Width <= 0 || item.Height <= 0)
{
- _logger.LogError(ex, "Image Provider - Error reading image tag for {0}", item.Path);
- }
- }
+ ItemImageInfo img = item.GetImageInfo(ImageType.Primary, 0);
- if (item.Width <= 0 || item.Height <= 0)
- {
- var img = item.GetImageInfo(ImageType.Primary, 0);
-
- try
- {
- var size = _imageProcessor.GetImageDimensions(item, img);
-
- if (size.Width > 0 && size.Height > 0)
+ try
{
- item.Width = size.Width;
- item.Height = size.Height;
+ ImageDimensions size = imageProcessor.GetImageDimensions(item, img);
+
+ if (size.Width > 0 && size.Height > 0)
+ {
+ item.Width = size.Width;
+ item.Height = size.Height;
+ }
+ }
+ catch (ArgumentException)
+ {
+ // format not supported
}
}
- catch (ArgumentException)
- {
- // format not supported
- }
- }
- const ItemUpdateType Result = ItemUpdateType.ImageUpdate | ItemUpdateType.MetadataImport;
- return Task.FromResult(Result);
+ const ItemUpdateType Result = ItemUpdateType.ImageUpdate | ItemUpdateType.MetadataImport;
+ return Task.FromResult(Result);
+ }
}
}
diff --git a/HOW_TO_IGNORE_IDE0065.md b/HOW_TO_IGNORE_IDE0065.md
new file mode 100644
index 00000000..63109652
--- /dev/null
+++ b/HOW_TO_IGNORE_IDE0065.md
@@ -0,0 +1,177 @@
+# How to Ignore IDE0065 Error Message
+
+## What is IDE0065?
+
+**IDE0065**: "Using directives must be placed outside of a namespace declaration"
+
+This is a code style warning about where `using` statements should be placed - inside or outside the namespace.
+
+## Solutions Implemented ✅
+
+### Solution 1: .editorconfig (Applied) ✅
+
+Updated `.editorconfig` to completely disable IDE0065:
+
+```ini
+# IDE Rules - Suppress non-critical suggestions
+dotnet_diagnostic.IDE0065.severity = none
+```
+
+**Severity Levels:**
+- `none` = Completely disabled (doesn't appear anywhere)
+- `silent` = Hidden in IDE, but may show in build
+- `suggestion` = Shows as hint in IDE
+- `warning` = Shows as warning
+- `error` = Blocks build
+
+### Solution 2: Project File (Applied) ✅
+
+Added to `Emby.Naming.csproj`:
+
+```xml
+
+ $(NoWarn);IDE0065
+
+```
+
+This ensures IDE0065 is completely suppressed during build.
+
+## Additional Methods (If Needed)
+
+### Method 3: Global Suppression File
+
+Create a file `GlobalSuppressions.cs` in your project:
+
+```csharp
+//
+// Copyright (c) PlaceholderCompany. All rights reserved.
+//
+
+using System.Diagnostics.CodeAnalysis;
+
+[assembly: SuppressMessage("Style", "IDE0065:Misplaced using directive", Justification = "Project style preference")]
+```
+
+### Method 4: Suppress for All Configurations
+
+If you want to suppress IDE0065 for **both Debug and Release**, add this to your `.csproj`:
+
+```xml
+
+ $(NoWarn);IDE0065
+
+```
+
+### Method 5: Visual Studio Settings (Local Only)
+
+If you only want to hide it in **your IDE** (doesn't affect builds):
+
+1. Open Visual Studio
+2. **Tools** → **Options**
+3. **Text Editor** → **C#** → **Code Style** → **Formatting**
+4. Under "Usings", set your preference
+5. Or go to **Options** → **Environment** → **Task List** and filter warnings
+
+**Note:** This only affects your local IDE, not team builds.
+
+## Verify the Changes
+
+### Check in Visual Studio:
+1. Restart Visual Studio (or reload solution)
+2. Build the project
+3. IDE0065 should no longer appear in Error List
+
+### Check in Command Line:
+```powershell
+# Clean and rebuild
+dotnet clean Emby.Naming\Emby.Naming.csproj
+dotnet build Emby.Naming\Emby.Naming.csproj
+
+# IDE0065 should not appear in output
+```
+
+## What the Changes Mean
+
+### For Your IDE:
+- ✅ IDE0065 will **not show** in the Error List
+- ✅ No underlines or suggestions in the code editor
+- ✅ Quick Actions (Ctrl+.) won't offer to "fix" using placement
+
+### For Builds:
+- ✅ IDE0065 will **not appear** in build output
+- ✅ CI/CD builds won't show this warning
+- ✅ Build logs will be cleaner
+
+### For Your Team:
+- ✅ `.editorconfig` is checked into source control
+- ✅ All developers will have the same suppression
+- ✅ Consistent experience across the team
+
+## Why Both Methods?
+
+We applied **both** methods for maximum coverage:
+
+1. **`.editorconfig`** → Suppresses in IDE and most build scenarios
+2. **``** → Guarantees suppression during MSBuild/command-line builds
+
+This ensures IDE0065 is completely eliminated everywhere!
+
+## Other Common IDE Errors to Suppress
+
+If you want to suppress other common warnings, add them to ``:
+
+```xml
+
+ $(NoWarn);IDE0065;IDE0008;IDE0058;SA1309;SA1101
+
+```
+
+**Common Ones:**
+- `IDE0008` = Use explicit type instead of 'var'
+- `IDE0058` = Expression value is never used
+- `IDE0065` = Using directive placement
+- `SA1309` = Field names should not begin with underscore
+- `SA1101` = Prefix local calls with 'this'
+- `SA1200` = Using directives placement (StyleCop version)
+
+## Testing
+
+After making these changes:
+
+```powershell
+# 1. Clean everything
+dotnet clean
+
+# 2. Rebuild
+dotnet build Emby.Naming\Emby.Naming.csproj
+
+# 3. Check for IDE0065 in output (should be gone!)
+```
+
+Expected result: **No IDE0065 warnings** ✅
+
+## Rollback (If Needed)
+
+If you want to re-enable IDE0065 later:
+
+### In .editorconfig:
+```ini
+dotnet_diagnostic.IDE0065.severity = suggestion
+```
+
+### In .csproj:
+Remove `IDE0065` from the `` list.
+
+## Summary
+
+✅ **Both methods applied!**
+- `.editorconfig` updated: `IDE0065.severity = none`
+- `Emby.Naming.csproj` updated: `$(NoWarn);IDE0065`
+
+**Result:** IDE0065 is now completely suppressed in:
+- ✅ Visual Studio IDE
+- ✅ Command-line builds
+- ✅ MSBuild
+- ✅ CI/CD pipelines
+
+You should no longer see IDE0065 anywhere! 🎉
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/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.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/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll
index 59e5eaf4..764abff4 100644
Binary files a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll and b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll differ
diff --git a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb
index 8f51f768..499172b4 100644
Binary files a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb and b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb differ
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 b55c4653..b497f10e 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+477045704e49d02668be2cddb91b218a9e70ec95")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8421e3ad5cdcbeb790e69d4367c55181a2af7b16")]
[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 df1c3ccc..bd6b4e44 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 @@
-0aa0b87087f971012539e7d2b22ae3fc0248cc13dafe15e7394876c75cd2b839
+8d7e69f115ae75e4f7c84eb253600f36f2309decc7a35f49dc405e154ddd5a4a
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 59e5eaf4..764abff4 100644
Binary files a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll and b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll differ
diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb
index 8f51f768..499172b4 100644
Binary files a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb and b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb differ
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.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": [