- Track EPUB reading progress (CFI)
- Calculate and update read status based on progress percentage
- Handle EPUB, PDF, and CBX file types consistently
- Fix URL parameters not updating when sort direction changes
- Prioritize URL parameters over user preferences for sort state
- Fix case sensitivity bug in direction parameter comparison
- Ensure both sort field and direction persist on page refresh
- Introduce option to automatically move books when their metadata is updated
- Simplify the file monitoring workflow for improved reliability and clarity
* show active comic in the series banner
* Hide pi-info button in series banner when book is active
* When collapsed series: displays series title instead of book title, substitutes series number overlay by series count
* New series page w/ redirections from other pages
* Update booklore-ui/src/app/book/components/book-card-lite/book-card-lite-component.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update booklore-ui/src/app/book/components/series-page/series-page.component.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* removed commented unused status
* cleaned minor warnings
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* 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>
* first pass at a helm chart
* more cleanup
* adding more stuff
* trying to generate the DB password
* more fixes and hardening
* Don't need to bake this in
* switching these back to the defaults
* more cleanup
* bumping the app version to match release
* some fixes
* updating volumeMounts too
* and disabling the PVCs if we aren't using them
* fixing the spacing
---------
Co-authored-by: Aditya Chandel <8075870+adityachandelgit@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>