diff options
| -rw-r--r-- | .config/dotnet-tools.json | 2 | ||||
| -rw-r--r-- | Directory.Packages.props | 36 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Localization/Core/vi.json | 3 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Session/SessionManager.cs | 4 | ||||
| -rw-r--r-- | Jellyfin.Api/Controllers/ArtistsController.cs | 3 | ||||
| -rw-r--r-- | Jellyfin.Server.Implementations/Item/PeopleRepository.cs | 6 | ||||
| -rw-r--r-- | src/Jellyfin.Database/Jellyfin.Database.Implementations/JellyfinDbContext.cs | 5 |
7 files changed, 31 insertions, 28 deletions
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 9b44eff4c6..5fc7834fcc 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "dotnet-ef": { - "version": "10.0.7", + "version": "10.0.8", "commands": [ "dotnet-ef" ] diff --git a/Directory.Packages.props b/Directory.Packages.props index e8901b4a1d..e722bed973 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -26,27 +26,27 @@ <PackageVersion Include="libse" Version="4.0.12" /> <PackageVersion Include="LrcParser" Version="2025.623.0" /> <PackageVersion Include="MetaBrainz.MusicBrainz" Version="8.0.1" /> - <PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="10.0.7" /> - <PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.7" /> + <PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="10.0.8" /> + <PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.8" /> <PackageVersion Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="4.14.0" /> <PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="5.3.0" /> <PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="5.3.0" /> <PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="5.3.0" /> - <PackageVersion Include="Microsoft.Data.Sqlite" Version="10.0.7" /> - <PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.7" /> - <PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="10.0.7" /> - <PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.7" /> - <PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.7" /> - <PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="10.0.7" /> - <PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="10.0.7" /> - <PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.7" /> - <PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.7" /> - <PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.7" /> - <PackageVersion Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="10.0.7" /> - <PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="10.0.7" /> - <PackageVersion Include="Microsoft.Extensions.Http" Version="10.0.7" /> - <PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.7" /> - <PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.7" /> + <PackageVersion Include="Microsoft.Data.Sqlite" Version="10.0.8" /> + <PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.8" /> + <PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="10.0.8" /> + <PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.8" /> + <PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.8" /> + <PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="10.0.8" /> + <PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="10.0.8" /> + <PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.8" /> + <PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.8" /> + <PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.8" /> + <PackageVersion Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="10.0.8" /> + <PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="10.0.8" /> + <PackageVersion Include="Microsoft.Extensions.Http" Version="10.0.8" /> + <PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.8" /> + <PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.8" /> <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.5.1" /> <PackageVersion Include="MimeTypes" Version="2.5.2" /> <PackageVersion Include="Morestachio" Version="5.0.1.670" /> @@ -77,7 +77,7 @@ <PackageVersion Include="Svg.Skia" Version="3.4.1" /> <PackageVersion Include="Swashbuckle.AspNetCore.ReDoc" Version="10.1.7" /> <PackageVersion Include="Swashbuckle.AspNetCore" Version="10.1.7" /> - <PackageVersion Include="System.Text.Json" Version="10.0.7" /> + <PackageVersion Include="System.Text.Json" Version="10.0.8" /> <PackageVersion Include="TagLibSharp" Version="2.3.0" /> <PackageVersion Include="z440.atl.core" Version="7.13.0" /> <PackageVersion Include="TMDbLib" Version="3.0.0" /> diff --git a/Emby.Server.Implementations/Localization/Core/vi.json b/Emby.Server.Implementations/Localization/Core/vi.json index 947a2c80de..831ec62fb3 100644 --- a/Emby.Server.Implementations/Localization/Core/vi.json +++ b/Emby.Server.Implementations/Localization/Core/vi.json @@ -135,5 +135,6 @@ "TaskMoveTrickplayImagesDescription": "Di chuyển các tập tin trickplay hiện có theo cài đặt thư viện.", "TaskExtractMediaSegments": "Quét Phân Đoạn Phương Tiện", "CleanupUserDataTask": "Tác vụ dọn dẹp dữ liệu người dùng", - "CleanupUserDataTaskDescription": "Làm sạch tất cả dữ liệu người dùng (trạng thái xem, trạng thái yêu thích, v.v.) từ phương tiện không còn có mặt trong ít nhất 90 ngày." + "CleanupUserDataTaskDescription": "Làm sạch tất cả dữ liệu người dùng (trạng thái xem, trạng thái yêu thích, v.v.) từ phương tiện không còn có mặt trong ít nhất 90 ngày.", + "Original": "Gốc" } diff --git a/Emby.Server.Implementations/Session/SessionManager.cs b/Emby.Server.Implementations/Session/SessionManager.cs index 1782b53e10..2885b89e3a 100644 --- a/Emby.Server.Implementations/Session/SessionManager.cs +++ b/Emby.Server.Implementations/Session/SessionManager.cs @@ -271,9 +271,9 @@ namespace Emby.Server.Implementations.Session user.LastActivityDate = activityDate; await _userManager.UpdateUserAsync(user).ConfigureAwait(false); } - catch (DbUpdateConcurrencyException e) + catch (DbUpdateConcurrencyException) { - _logger.LogDebug(e, "Error updating user's last activity date."); + _logger.LogDebug("Error updating user's last activity date due to concurrency conflict. This is an expected event."); } } } diff --git a/Jellyfin.Api/Controllers/ArtistsController.cs b/Jellyfin.Api/Controllers/ArtistsController.cs index f97ab414ce..f19ca77818 100644 --- a/Jellyfin.Api/Controllers/ArtistsController.cs +++ b/Jellyfin.Api/Controllers/ArtistsController.cs @@ -87,6 +87,7 @@ public class ArtistsController : BaseJellyfinApiController /// <returns>An <see cref="OkResult"/> containing the artists.</returns> [HttpGet] [ProducesResponseType(StatusCodes.Status200OK)] + [Obsolete("Use GetPersons")] public ActionResult<QueryResult<BaseItemDto>> GetArtists( [FromQuery] double? minCommunityRating, [FromQuery] int? startIndex, @@ -258,6 +259,7 @@ public class ArtistsController : BaseJellyfinApiController /// <returns>An <see cref="OkResult"/> containing the album artists.</returns> [HttpGet("AlbumArtists")] [ProducesResponseType(StatusCodes.Status200OK)] + [Obsolete("Use GetPersons")] public ActionResult<QueryResult<BaseItemDto>> GetAlbumArtists( [FromQuery] double? minCommunityRating, [FromQuery] int? startIndex, @@ -399,6 +401,7 @@ public class ArtistsController : BaseJellyfinApiController /// <returns>An <see cref="OkResult"/> containing the artist.</returns> [HttpGet("{name}")] [ProducesResponseType(StatusCodes.Status200OK)] + [Obsolete("Use GetPerson")] public ActionResult<BaseItemDto> GetArtistByName([FromRoute, Required] string name, [FromQuery] Guid? userId) { userId = RequestHelpers.GetUserId(User, userId); diff --git a/Jellyfin.Server.Implementations/Item/PeopleRepository.cs b/Jellyfin.Server.Implementations/Item/PeopleRepository.cs index a0ffe9aea0..8f8741d00f 100644 --- a/Jellyfin.Server.Implementations/Item/PeopleRepository.cs +++ b/Jellyfin.Server.Implementations/Item/PeopleRepository.cs @@ -119,7 +119,6 @@ public class PeopleRepository(IDbContextFactory<JellyfinDbContext> dbProvider, I .ToArray(); var toAdd = people - .Where(e => e.Type is not PersonKind.Artist && e.Type is not PersonKind.AlbumArtist) .Where(e => !existingPersons.Any(f => string.Equals(f.Name, e.Name, StringComparison.OrdinalIgnoreCase) && f.PersonType == e.Type.ToString())) .Select(Map); context.Peoples.AddRange(toAdd); @@ -133,11 +132,6 @@ public class PeopleRepository(IDbContextFactory<JellyfinDbContext> dbProvider, I foreach (var person in people) { - if (person.Type == PersonKind.Artist || person.Type == PersonKind.AlbumArtist) - { - continue; - } - var entityPerson = personsEntities.First(e => string.Equals(e.Name, person.Name, StringComparison.OrdinalIgnoreCase) && e.PersonType == person.Type.ToString()); var existingMap = existingMaps.FirstOrDefault(e => string.Equals(e.People.Name, person.Name, StringComparison.OrdinalIgnoreCase) && e.People.PersonType == person.Type.ToString() && e.Role == person.Role); if (existingMap is null) diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/JellyfinDbContext.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/JellyfinDbContext.cs index f6fce7279a..83c15aa647 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/JellyfinDbContext.cs +++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/JellyfinDbContext.cs @@ -273,6 +273,11 @@ public class JellyfinDbContext(DbContextOptions<JellyfinDbContext> options, ILog }).ConfigureAwait(false); return result; } + catch (DbUpdateConcurrencyException) + { + // a concurrency exception is supposed to be always handled by the invoker of the method, logging it here is only causing log bloat. + throw; + } catch (Exception e) { logger.LogError(e, "Error trying to save changes."); |
