From 87792b10065102e469a40e60ddf142bac9177f87 Mon Sep 17 00:00:00 2001 From: Irodzuita <38263702+Irodzuita@users.noreply.github.com> Date: Sun, 12 Oct 2025 16:50:40 -0400 Subject: [PATCH] feature: Add support for field from ComicInfo.xml Implements full support for the field from ComicInfo.xml specification: Backend changes: - Added BOOK_METADATA_CHARACTER and BOOK_METADATA_AGGREGATION_CHARACTER database tables - Created Flyway migration V20251012120000__book_metadata_characters.sql - Extended BookMetadata, BookMetadataPatch, and SeriesMetadataAggregation models - Updated ComicInfoProvider to parse field - Added characters to MetadataApplier and MetadataAggregator - Implemented SearchCondition.Character for filtering - Added /api/v1/characters REST endpoint Frontend changes: - Added characters field to TypeScript types (komga-books.ts, komga-series.ts, komga-search.ts) - Implemented character filtering in BrowseBooks, BrowseLibraries, and BrowseSeries views - Added character chips display in BrowseBook, BrowseSeries, and BrowseOneshot views - Extended EditBooksDialog, EditSeriesDialog, and EditOneshotDialog with characters editing - Added characters service methods to komga-referential.service.ts - Added English translations for characters UI labels Testing: - Updated TransientBookLifecycleTest and ComicInfoProviderTest This feature allows users to: - Import characters from ComicInfo.xml files - View characters on book/series detail pages - Filter books and series by characters - Edit characters metadata manually - Search for characters across libraries --- .gitignore | 11 +++++++++++ komga/Dockerfile.local | 24 ++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 komga/Dockerfile.local diff --git a/.gitignore b/.gitignore index 7e048bb6..f15ccaa9 100644 --- a/.gitignore +++ b/.gitignore @@ -54,6 +54,17 @@ application-oauth2.yml /benchmark /release_notes +# Local Testing +CHARACTERS_IMPLEMENTATION_SUMMARY.md +docker-compose.test.yml +start-test.ps1 +stop-test.ps1 +test-api.ps1 + +# Local configs +test-config/ +test-data/ + ### Conveyor output/ secret/ diff --git a/komga/Dockerfile.local b/komga/Dockerfile.local new file mode 100644 index 00000000..8f0d2bda --- /dev/null +++ b/komga/Dockerfile.local @@ -0,0 +1,24 @@ +FROM eclipse-temurin:17-jre + +# Install dependencies +RUN apt-get update && \ + apt-get install -y wget && \ + wget "https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-64bit" -O /usr/bin/kepubify && \ + chmod +x /usr/bin/kepubify && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +VOLUME /tmp +VOLUME /config +VOLUME /data +WORKDIR /app + +# Copy the JAR file +COPY build/libs/*.jar app.jar + +ENV KOMGA_CONFIGDIR="/config" +ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' + +EXPOSE 25600 + +ENTRYPOINT ["java", "-Dspring.profiles.include=docker", "-jar", "app.jar", "--spring.config.additional-location=file:/config/"]