Commit Graph

1618 Commits

Author SHA1 Message Date
ACX
74ac2d25d1 fix(additional-file-uploader): add file size validation with UI feedback (#2516) 2026-01-27 11:09:24 -07:00
ACX
2efe452441 refactor: centralize access-denied card styles into shared mixin (#2515)
* refactor: centralize access-denied card styles into shared mixin

* fix: use bracket notation for bookType index signature access
2026-01-27 10:49:57 -07:00
Balázs Szücs
df52e9924e fix(book-rule-evaluator): fix file type handling and add mapping for specific formats to fix magic shelve based on filetype (#2480)
* fix(book-rule-evaluator): fix file type handling and add mapping for specific formats to fix magic shelve based on filetype

Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>

* fix(book-rule-evaluator): update test to simplify book creation for group rule evaluation

Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>

---------

Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
2026-01-27 10:27:19 -07:00
Balázs Szücs
fab7c14030 fix(os_x-conversion): ignore __MACOSX directory for conversions (#2479)
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
2026-01-27 10:26:31 -07:00
xcashy
496a67a784 fix(series-page): add missing overlay preference service to book card component (#2466)
Co-authored-by: ACX <8075870+acx10@users.noreply.github.com>
2026-01-27 10:24:59 -07:00
Balázs Szücs
d36ffaf3e4 fix(docker): add build and gradle directories to volumes in docker-compose (#2459)
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
2026-01-27 10:15:28 -07:00
ACX
3f334202b6 Introduce multi-format book support, including audiobooks (#2486)
* fix: support reading alternative book formats using bookType query param

* feat: add streaming reader support for alternative EPUB formats

* refactor: extract tabs section into MetadataTabsComponent

* feat: implement per-file reading progress tracking

* feat: add configurable format priority with cascading fallback

* refactor: redesign library creator with single-page layout

* refactor: unify reading progress into ReadingProgressService

* refactor: improve delete options with clearer file format and book deletion

* refactor: improve book format matching with normalization and fuzzy fallback

* feat: add folder-based audiobook support with ZIP downloads and preparing state

* fix: display unique format types in metadata viewer

* refactor: auto-attach files to single book in folder during rescan

* feat: implement folder-centric book file grouping with fuzzy matching

* refactor: consolidate book grouping with organization mode support

* fix: use folder hash for folder-based audiobooks in auto-attach

* fix: delete only BookFileEntity on file removal, not entire book

* fix: set folderBased flag and correct file size for auto-attached audiobook folders

* fix: use count query to avoid lazy initialization in file delete handler

* fix: preserve book metadata when file is moved by detecting hash match

* fix: skip books with no files in restoration to avoid NPE

* fix: round all progress percentages to one decimal place before sending to UI

* style: improve library creator dialog spacing and layout

* fix: migrate FOLDER_AS_BOOK to BOOK_PER_FOLDER for backwards compatibility

* fix: FileMoveService now handles multi-file BookEntity properly

* style: redesign metadata-picker and file-mover UI components

* style: redesign file-naming-pattern UI and improve theme contrast

* style: relax spacing in library-creator component

* style: tighten directory-picker layout for consistency

* fix: PathPatternResolver now respects folderBased flag for audiobooks

* style: move checkmark column to left side and add pending status in file-mover

* refactor: consolidate BookFileType into BookType and add audiobook styling

* feat: show 'Continue Reading' button for in-progress books

* fix: preserve dots in folder names during grouping and prevent duplicate attachments

* style: reduce gap between download-all button and primary file section

* style: shorten 'Continue Reading' button to 'Read' on mobile

* feat: add DISK_TYPE config to disable file moves on network storage

* style: standardize settings pages with shared styles and consistent spacing

* style: revamp settings pages with modern card-based layouts

* style: revamp OPDS, auth, and task management settings layouts

* fix: update FileMoveService tests to include AppProperties parameter

* fix: derive BookFileType from extension when uploading additional book files

* feat: show format type and size in download button with dropdown for alternatives

* feat: add audiobook streaming player with HTTP Range support

* feat: add M4B chapter extraction and chapter navigation

* feat: add audiobook bookmarks and sleep timer

* refactor: split AudiobookReaderService into focused services

* feat: add Media Session API for background audio playback

* feat: display file extensions in format tags with distinct colors and add audiobook upload support

* feat: require bookFileId for viewer settings API

* fix: show split button for audiobooks with readable alternatives

* feat: improve reading sessions table with book type badges and better formatting

* feat: add audiobook play button in files tab

* feat: use file extension for format display and meaningful tab values

* feat: add extension field to BookFile DTO

* feat: use extension field for book card format pill

* fix: use mixed orientation for format priority drag-drop to support multi-line layout

* feat: add attach book files feature to consolidate single-file books

* fix: increase drag handle size for format priority chips

* fix: add missing BookFileRepository mock to BookServiceDeleteTests

* feat: add delete buttons to files tab and move shelf to other items menu

* feat: add physical books support for cataloging books without digital files

* refactor: redesign icon-picker component with improved styling

* refactor: redesign metadata-picker component with improved layout and alignment

* refactor: move Add Physical Book to top of library menu

* refactor: use p-autoComplete for authors/categories in add-physical-book dialog

* feat: add square cover search and display support for audiobooks

* fix: navigate to first page when opening unread ebooks

* fix: exclude API requests from service worker interception

* feat: support fileless books with automatic file attachment

* fix: bypass service worker for audiobook streaming requests

* refactor: remove alphabetical filter sorting, default to count, limit filters to 100

---------

Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-27 10:12:50 -07:00
Balázs Szücs
c23e38b5a5 feat(dashboard-settings): update sort field options for Surname, and Personal Rating (#2456)
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
2026-01-24 09:36:07 -07:00
Balázs Szücs
a1ff5ee519 feat(themes): add AMOLED theme with distinct light and dark color schemes (#2457)
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
2026-01-24 09:35:32 -07:00
ACX
a45a50b383 feat(book-browser): preserve scroll position when navigating back from book details (#2449) 2026-01-23 23:18:07 -07:00
ACX
596bfc5798 fix(book-browser): correct mobile grid card size calculation and reduce gap 2026-01-23 21:59:21 -07:00
ACX
d6fa1bd9b8 fix(ui): rename bg.png to topbar.png and fix asset path 2026-01-23 21:27:31 -07:00
ACX
330c31a70a feat(book-browser): add responsive grid columns for mobile view (#2446) 2026-01-23 21:23:15 -07:00
James Ward
ffae8dfce3 fix(ui): use local asset for page background (#2445)
this avoids a remote call to github's raw download
so the application is less reliant on public internet
access.  further this prevents unknown failures
when the bg.png is removed or changed in the external repo
2026-01-23 20:56:05 -07:00
ACX
27c764f0f1 feat(pwa): add offline handling and fallback support (#2444)
Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-23 20:51:22 -07:00
ACX
8278f47c6a fix(stats): show tooltip for single bubble and allow overflow in author universe chart (#2443) 2026-01-23 19:33:52 -07:00
acx10
b616ef8723 fix: top bar layout issues 2026-01-23 19:19:47 -07:00
ACX
1aea55faea perf: lazy-load accordion content in library metadata settings (#2442) 2026-01-23 19:17:53 -07:00
ACX
308d5bf87d fix(cbx-reader): prevent touch drag on mobile and fix header title overflow (#2441) 2026-01-23 17:48:56 -07:00
ACX
18419c970f refactor: reduce re-renders and improve filter sidebar performance (#2440)
Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-23 17:34:33 -07:00
Sergio Visinoni
bb0ee8373e fix(opds): fix regression with browsing shelves (#2423)
This fixes issue #2147 by replacing references to the legacy `additionalFiles` attribute with the new `bookFiles` one.
2026-01-23 17:06:03 -07:00
ACX
28adb75a1a Add clear warning when deleting books that files will be permanently removed (#2438)
Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-23 12:48:44 -07:00
ACX
e03cca1d8c Fix 500 error in OPDS (#2434)
Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-23 12:18:54 -07:00
Balázs Szücs
21076d4f5d fix(scan-library): prevent NPE during rescan for books with missing file associations (#2429)
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
2026-01-23 10:25:31 -07:00
Giroux Arthur
5d1a295d49 feat(book-uploader): Improved UX of drag&drop when adding books. (#2410)
The current experience was not great when you have several libraries, instead of swallowing the drop it was disabling the drag/drop zone leading to the browser taking over and opening the file.
This changes keeps the drag & drop enabled but just swallows the files and displays an error if no library is selected.
It also improves the UI by making it more clear when a drag event is happening.
2026-01-23 09:39:35 -07:00
ACX
d1c4836917 Fix H/L keys interfering with search in EPUB reader (#2426)
Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-23 09:38:16 -07:00
ACX
8ba0f38cca Hide Page View toggle on mobile portrait since two-page view is unsupported (#2425)
Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-23 09:35:32 -07:00
acx10
f3e96bc0ee Update frontend dependency versions and lockfile 2026-01-22 23:59:33 -07:00
ACX
a0870cac86 Remove Tailwind CSS and all remaining references (#2413)
Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-22 23:41:57 -07:00
ACX
5d9e535a14 Fix email sending failure due to lazy-loaded bookFiles outside session (#2404)
Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-22 16:10:26 -07:00
ACX
2cd2e7bd16 fix(db): remove unused CBX/PDF cache cleanup cron entries (#2402)
Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-22 14:57:59 -07:00
ACX
eb57af85a5 Fix showstopper bugs in v1.18.0 (#2399)
- Fix issue with hardcover toggle not being selectable
- Resolve syncing problem with Booklore toggle
- Address CSS warnings for cleaner styling

Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-22 13:27:06 -07:00
WorldTeacher
d137055b83 fix(reading sessions): Split sessions, re-calculate times in book overview (#2393)
* do not group reading sessions on a per-day basis

* calculate actual duration for reading sessions

---------

Co-authored-by: WorldTeacher <coding_contact@pm.me>
2026-01-22 13:04:17 -07:00
acx10
97343ee067 Revert release branch flow 2026-01-22 11:06:34 -07:00
acx10
e62979eec4 Merge branch 'master' into develop
* master:
  Fix touch issues with ebook reader (#2395)
  Fix failing book cover search due to HTTP 403
2026-01-22 11:03:15 -07:00
ACX
abaa99fbee Merge pull request #2396 from booklore-app/release/1.18
Release v1.18.0
2026-01-22 10:50:45 -07:00
ACX
b95248e4e5 Fix touch issues with ebook reader (#2395)
Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-22 09:45:48 -07:00
acx10
6fb8d47da4 Fix RC flow 2026-01-22 01:06:14 -07:00
ACX
cb5f6808f0 Fix failing book cover search due to HTTP 403 (#2392)
Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-22 00:47:36 -07:00
acx10
c27cc7205d Fix failing book cover search due to HTTP 403 2026-01-22 00:45:36 -07:00
acx10
61ac306735 Add drafter automation 2026-01-22 00:26:46 -07:00
ACX
4ec1e56cb7 Introduce release branch (#2391)
Co-authored-by: acx10 <acx10@users.noreply.github.com>
2026-01-21 23:51:34 -07:00
Balázs Szücs
14fa7b058b feat(metadata): add 'Replace When Provided' option to metadata replacement modes (#2379)
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
2026-01-21 22:40:40 -07:00
dependabot[bot]
270813d93e chore(deps): bump tar from 7.5.2 to 7.5.6 in /booklore-ui (#2387)
Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.2 to 7.5.6.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.2...v7.5.6)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-21 22:39:28 -07:00
dependabot[bot]
34cee9386a chore(deps): bump lodash-es from 4.17.21 to 4.17.23 in /booklore-ui (#2388)
Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash-es
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-21 22:39:07 -07:00
BAE
48b615d529 Refactor: Enhance healthcheck response with version info and DTO (#2378)
* Refactor: Enhance healthcheck response with version info and DTO

* test: Enhance healthcheck response with version info and DTO
2026-01-21 22:38:44 -07:00
Balázs Szücs
c42f62c338 perf(regex): introduce regex patterns for improved string handling in various services (#2386)
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
2026-01-21 22:37:39 -07:00
Balázs Szücs
193c9495a1 feat(google-parser): improve Google Books API integration with improved metadata handling and series extraction (#2375)
Signed-off-by: Balázs Szücs <bszucs1209@gmail.com>
2026-01-21 22:37:04 -07:00
boludo00
67c12223ea fix: Refactor HardcoverSyncService to improve edition and page count (#2389)
* fix: Refactor HardcoverSyncService to improve edition and page count fetching logic. Always fetch edition and page info from Hardcover when a stored book ID is available. Update variable names for clarity and ensure fallback mechanisms are in place for missing data.

* fix: Update key in HardcoverSyncServiceTest to reflect correct edition ID naming convention

* feat: Enhance reading progress tracking in HardcoverSyncService by adding isFinished parameter to upsert methods. This allows for recording completion dates when a book is finished.

---------

Co-authored-by: akiraslingshot <akiraslingshot@gmail.com>
2026-01-21 22:35:19 -07:00
cra21k
7c3c0bba01 Update KoboResources file to match Calibre web to fix issues with Overdrive login (#2367)
Made changes to some flags, and noticed others had broken links or http request which is fixed to be https.

Changes

    New Endpoints: Added ereaderdevices (v2 device feeds) and subs_plans_page (Kobo Plus plans).

    Feature Flags: Enabled kobo_superpoints_enabled (previously False).

    Security & Protocol: Updated image_host, help_page, and book_detail_page_rakuten to enforce https:// (previously http or protocol-relative).
2026-01-21 22:33:42 -07:00