- Track EPUB reading progress (CFI)
- Calculate and update read status based on progress percentage
- Handle EPUB, PDF, and CBX file types consistently
- Introduce option to automatically move books when their metadata is updated
- Simplify the file monitoring workflow for improved reliability and clarity
* write, read ComicInfo.xml for CBZ files
* updated with recommendations from previous PR https://github.com/booklore-app/booklore/pull/1069
* read ComicInfo.xml on CBR, extract first image for CBZ/CBR files, save CBR metadata in ComicInfo.xml as CBZ
* Delete CBR file after CBZ conversion. Update DB
* Backs up file before updating. Restores back up if errored
* Test classes
* Update booklore-api/src/main/java/com/adityachandel/booklore/service/metadata/BookMetadataUpdater.java
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update booklore-api/src/main/java/com/adityachandel/booklore/service/metadata/writer/CbxMetadataWriter.java
Updating RAR binary availability check
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update booklore-api/src/main/java/com/adityachandel/booklore/service/metadata/extractor/CbxMetadataExtractor.java
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update booklore-api/src/main/java/com/adityachandel/booklore/service/metadata/extractor/CbxMetadataExtractor.java
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Code updates from PR suggestions
* Support to extract ComicInfo.xml for .cb7 files
* Writer extension for .cb7 files
* Adding com.github.junrar to build.gradle (forgot in previous commit)
* Settings toggle to control CBR/CB7 to CBZ conversion
* indentation complains
* removed duplicated junrar inport
* Restore comicinfo.xml metadata in edit view
* retrieve ComicInfo.xml metadata for new files in library scan
* private class definition was missed after merge
* Delete
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
- Implement MonitoringProtectionService with thread-safe pause/resume logic
- Add monitoring protection to file operations preventing data loss from race conditions
- Add comprehensive test coverage including concurrent and integration tests
Race condition scenario: File operations (move/delete) detected as "missing files"
by monitoring system before filesystem operations complete, causing incorrect
book removal and data loss.
Solution: Thread-safe monitoring pause during file operations with delayed resume
to ensure filesystem operations complete before monitoring resumes.
* fixing permissions to be able to run springboot with given UID and GID
* Adding USER_ID and GROUP_ID to specify permission without making breaking change
* move su exec to start.sh
---------
Co-authored-by: Aditya Chandel <8075870+adityachandelgit@users.noreply.github.com>
* feat: support Douban as metadata provider.
Douban.com is a platform of sharing films, music and books in China.
* format code
* support douban reviews
---------
Co-authored-by: Aditya Chandel <8075870+adityachandelgit@users.noreply.github.com>
* test: add content-type assertion for user auth
* fix: specify JSON content type in authorizeUser method
Set content type to JSON for user authorization response.