* fix(bookdrop): fix 'Select All' query logic and improve filename fallback for missing metadata
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* fix(tests): update BookDropServiceTest and PathPatternResolverTest to use findAllIds method
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
---------
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* fix: add retry and retry delays to handle smb lag
* fix: issue with importing cb7 files. missing required dependency. Scan would fail prematurely if a cb7 file was present
* fix: cleanup empty subdirectories when cleaning up parent folders
* fix: update folder cleanup to account for SMB delays
* chore: cleanup redundant and weak tests from auto-generated unit tests
* fix: make sleep function name more descriptive
* fix: minor optimisation around path matching
* fix: update xz package to latest version
* feat(bookmark): implement bookmark management with CRUD operations and UI integration
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* feat(bookmark): add uniqueness constraint for bookmarks and check for existing bookmarks before creation
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
---------
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* fix(search): Optimize book search with denormalized search_text column
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* fix(search): Enhance search text normalization for diacritics in author names
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* fix(migration): Implement batch processing for populating search text and enhance error handling
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* fix(search): Manually trigger search text update after author modifications and enhance special character handling
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* fix(search): Update special character handling to be more permissive in search text normalization
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* feat(AppMigrationService): add FileService dependency for enhanced file handling
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* feat(database): add search_text column to book_metadata for improved search functionality
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* feat(database): add search_text column to book_metadata for improved search functionality
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* fix(database): correct join condition and ordering in findBooksForMigrationBatch query
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
---------
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* refactor(api): minor QOL updates, code modernization
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* refactor(oidc): replace regex literals with compiled patterns for improved performance
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* refactor(shelf): remove redundant icon type initialization method
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
---------
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* docs: update license information from MIT to GPL-3.0 in CONTRIBUTING.md
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
* docs: correct formatting of GPL-3.0 license statement in CONTRIBUTING.md
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
---------
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
This commit enhances the OPDS server with two major features:
1. Series Metadata in OPDS Feed:
- Add series name and book number to OPDS book entries
- Uses standard OPDS/EPUB 3 metadata format with <meta> tags
- Includes belongs-to-collection and group-position properties
2. Authors Navigation Hierarchy:
- Add new /authors endpoint for browsing books by author
- Implement authors list navigation feed with alphabetical sorting
- Add author filtering to catalog feed via ?author parameter
- Support library-based access control for author lists
- Add authors link to root OPDS navigation
Changes:
- OpdsFeedService: Add series metadata to appendMetadata(), add generateAuthorsNavigation()
- OpdsController: Add getAuthorsNavigation() endpoint
- OpdsBookService: Add getDistinctAuthors() and getBooksByAuthorName() methods
- BookOpdsRepository: Add queries for distinct authors and books by author name
- Updated generateCatalogFeed() to support author parameter
- Updated determineFeedTitle() and determineFeedId() to handle author context
Co-authored-by: Claude <noreply@anthropic.com>