A few more bug fixes (#3876)

Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
This commit is contained in:
Fesaa 2025-06-28 18:45:02 +02:00 committed by GitHub
parent 4b9bbc5d78
commit d909e03baf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 3940 additions and 45 deletions

View file

@ -9,6 +9,7 @@ using API.DTOs;
using API.DTOs.SeriesDetail;
using API.Entities;
using API.Entities.Enums;
using API.Entities.MetadataMatching;
using API.Entities.Person;
using API.Extensions;
using API.Helpers;
@ -208,6 +209,7 @@ public class ChapterController : BaseApiController
if (chapter.AgeRating != dto.AgeRating)
{
chapter.AgeRating = dto.AgeRating;
chapter.KPlusOverrides.Remove(MetadataSettingField.AgeRating);
}
dto.Summary ??= string.Empty;
@ -215,6 +217,7 @@ public class ChapterController : BaseApiController
if (chapter.Summary != dto.Summary.Trim())
{
chapter.Summary = dto.Summary.Trim();
chapter.KPlusOverrides.Remove(MetadataSettingField.ChapterSummary);
}
if (chapter.Language != dto.Language)
@ -230,11 +233,13 @@ public class ChapterController : BaseApiController
if (chapter.TitleName != dto.TitleName)
{
chapter.TitleName = dto.TitleName;
chapter.KPlusOverrides.Remove(MetadataSettingField.ChapterTitle);
}
if (chapter.ReleaseDate != dto.ReleaseDate)
{
chapter.ReleaseDate = dto.ReleaseDate;
chapter.KPlusOverrides.Remove(MetadataSettingField.ChapterReleaseDate);
}
if (!string.IsNullOrEmpty(dto.ISBN) && ArticleNumberHelper.IsValidIsbn10(dto.ISBN) ||
@ -333,6 +338,8 @@ public class ChapterController : BaseApiController
_unitOfWork
);
// TODO: Only remove field if changes were made
chapter.KPlusOverrides.Remove(MetadataSettingField.ChapterPublisher);
// Update publishers
await PersonHelper.UpdateChapterPeopleAsync(
chapter,

View file

@ -6,6 +6,7 @@ using API.Data;
using API.Data.Repositories;
using API.DTOs.Koreader;
using API.Entities;
using API.Extensions;
using API.Services;
using Kavita.Common;
using Microsoft.AspNetCore.Identity;
@ -94,7 +95,7 @@ public class KoreaderController : BaseApiController
{
var userId = await GetUserId(apiKey);
var response = await _koreaderService.GetProgress(ebookHash, userId);
_logger.LogDebug("Koreader response progress: {Progress}", response.Progress);
_logger.LogDebug("Koreader response progress for User ({UserId}): {Progress}", userId, response.Progress.Sanitize());
return Ok(response);
}

View file

@ -14,6 +14,7 @@ using API.DTOs.Recommendation;
using API.DTOs.SeriesDetail;
using API.Entities;
using API.Entities.Enums;
using API.Entities.MetadataMatching;
using API.Extensions;
using API.Helpers;
using API.Services;
@ -224,6 +225,7 @@ public class SeriesController : BaseApiController
needsRefreshMetadata = true;
series.CoverImage = null;
series.CoverImageLocked = false;
series.Metadata.KPlusOverrides.Remove(MetadataSettingField.Covers);
_logger.LogDebug("[SeriesCoverImageBug] Setting Series Cover Image to null: {SeriesId}", series.Id);
series.ResetColorScape();

View file

@ -6,6 +6,7 @@ using API.Data;
using API.Data.Repositories;
using API.DTOs.Uploads;
using API.Entities.Enums;
using API.Entities.MetadataMatching;
using API.Extensions;
using API.Services;
using API.Services.Tasks.Metadata;
@ -112,8 +113,10 @@ public class UploadController : BaseApiController
series.CoverImage = filePath;
series.CoverImageLocked = lockState;
series.Metadata.KPlusOverrides.Remove(MetadataSettingField.Covers);
_imageService.UpdateColorScape(series);
_unitOfWork.SeriesRepository.Update(series);
_unitOfWork.SeriesRepository.Update(series.Metadata);
if (_unitOfWork.HasChanges())
{
@ -277,6 +280,7 @@ public class UploadController : BaseApiController
chapter.CoverImage = filePath;
chapter.CoverImageLocked = lockState;
chapter.KPlusOverrides.Remove(MetadataSettingField.ChapterCovers);
_unitOfWork.ChapterRepository.Update(chapter);
var volume = await _unitOfWork.VolumeRepository.GetVolumeAsync(chapter.VolumeId);
if (volume != null)