Commit Graph

  • 412a73cedf fix: tell the tests where the database actually is release-pipeline patrick 2026-08-18 00:49:41 -04:00
  • 5176dfcb77 fix: give the backend CI job a docker daemon it can address patrick 2026-08-18 00:45:43 -04:00
  • b85ba92380 fix: declare ruff as a dev dependency patrick 2026-08-18 00:37:00 -04:00
  • e9fe18266d feat: lint and format tests in CI patrick 2026-08-17 20:56:24 -04:00
  • 5ec5a4d334 chore: bring the test suite up to ruff's standards patrick 2026-08-17 20:56:24 -04:00
  • 0c25f63600 feat: block CI on the frontend type check patrick 2026-08-17 17:58:50 -04:00
  • 64fed8671e fix: clear the last type errors patrick 2026-08-17 17:57:46 -04:00
  • 3a29294f96 chore: clear the mechanical lint and type findings patrick 2026-08-17 17:55:21 -04:00
  • 428168c07a chore: stop lint rules that do not model runes from reporting patrick 2026-08-17 17:42:34 -04:00
  • fbe8a8bf21 fix: type the proxy handlers and the delete callback patrick 2026-08-17 17:42:34 -04:00
  • 157cc60e91 chore: update lucide icons, prettier-plugin-svelte and jsrepo patrick 2026-08-17 16:32:08 -04:00
  • 930b222b28 chore: update to TypeScript 6 patrick 2026-08-17 16:29:38 -04:00
  • 01cdd95bc7 chore: update to Vite 8 patrick 2026-08-17 16:27:38 -04:00
  • e898069b03 chore: update to ESLint 10 patrick 2026-08-17 16:21:43 -04:00
  • b33f57d942 chore: update frontend dependencies within their semver ranges patrick 2026-08-17 16:13:42 -04:00
  • 54043a97d2 feat: check formatting, linting and tests in CI patrick 2026-08-17 15:17:20 -04:00
  • 45b03764d2 chore: format the tree and clear ruff's findings patrick 2026-08-17 15:17:14 -04:00
  • b70ed5cb51 feat: build and publish release images from version tags patrick 2026-08-17 15:05:18 -04:00
  • 0220f2d970 feat: fetch the next page of books before the reader hits the bottom main calibre-import patrick 2026-08-17 13:48:40 -04:00
  • 55e00ba960 feat: import a Calibre library patrick 2026-08-17 13:38:44 -04:00
  • 85367daf7e feat: show books as an import adds them, not once it ends patrick 2026-08-17 11:21:49 -04:00
  • 7e33a8fe05 Merge branch 'duplicate-detection' patrick 2026-08-17 11:06:23 -04:00
  • 202cbed30e refactor: name the merge options and drop their subtext patrick 2026-08-17 11:06:19 -04:00
  • a3443d36f1 feat: offer a merge that keeps the first book, without the workbench patrick 2026-08-17 10:35:35 -04:00
  • 75fe41e266 fix: reopen the merge dialog after dismissing it patrick 2026-08-17 10:35:24 -04:00
  • d16a90f08f feat: draw generated covers where a book has none patrick 2026-08-17 10:34:50 -04:00
  • 904d8fc76f refactor: move duplicates into library settings patrick 2026-08-17 10:32:57 -04:00
  • 315149e8a2 docs: brief for moving duplicates into library settings patrick 2026-08-16 20:21:25 -04:00
  • 699a1a7fa2 feat: merge books from the duplicates screen and the toolbar patrick 2026-08-16 20:21:19 -04:00
  • 22539644a9 feat: merge books into one record patrick 2026-08-16 20:21:10 -04:00
  • a48be517e4 fix: type the ids filter from its configured id type patrick 2026-08-16 20:20:44 -04:00
  • 2e0d556c33 fix: return the publisher an EPUB declares patrick 2026-08-16 00:01:02 -04:00
  • ff75f2c758 chore: clear the lint in the files this branch touches patrick 2026-08-15 22:01:04 -04:00
  • e967019964 feat: split the edition out of a book's title patrick 2026-08-15 21:57:17 -04:00
  • f6bb06ac6e fix: merge identifiers across a book's formats patrick 2026-08-15 21:57:01 -04:00
  • 8ee406533c feat: canonicalise author names patrick 2026-08-15 21:56:35 -04:00
  • 373c96d6d6 fix: match the compact edition markers a cover carries patrick 2026-08-15 21:55:45 -04:00
  • fc6b97bf38 feat: review and dismiss duplicate books patrick 2026-08-15 21:55:20 -04:00
  • 5047277845 feat: detect books that may already be in the library patrick 2026-08-15 21:55:13 -04:00
  • 6d1890ce04 feat: store matching keys and duplicate dismissals patrick 2026-08-15 21:54:32 -04:00
  • 523117ec28 fix: keep the identifiers an EPUB declares patrick 2026-08-15 21:54:12 -04:00
  • 86e1d096ef feat: add normalisation helpers for book matching patrick 2026-08-15 21:44:50 -04:00
  • 3f39f1f8ae fix: drop the add-anyway override from the upload tray patrick 2026-08-14 14:18:08 -04:00
  • d321315acf fix: ignore duplicate matches whose file is gone patrick 2026-08-14 14:18:08 -04:00
  • b124a65d6e feat: report skipped duplicates in the upload tray patrick 2026-08-13 17:23:57 -04:00
  • d78b21c27f feat: check for duplicate files when importing books patrick 2026-08-13 17:23:48 -04:00
  • 968166c1fd Merge branch 'ui-rewrite' patrick 2026-08-13 13:52:47 -04:00
  • 8589adbd1b docs: record the outstanding backend issues in TODO.md patrick 2026-08-13 00:42:54 -04:00
  • 510306f24d fix: keep embedded metadata and group formats on directory upload patrick 2026-08-12 14:54:49 -04:00
  • bd8d68b9ba fix: resolve file paths and stream the multi-book zip download patrick 2026-08-12 14:53:24 -04:00
  • 540522e828 fix: reuse existing link rows when updating book relationships patrick 2026-08-12 14:50:47 -04:00
  • 5305d3bb5e docs: correct the CSP entry in TODO.md patrick 2026-08-12 14:21:10 -04:00
  • 7e04826fa5 feat: draw covers for books without one patrick 2026-08-12 13:44:14 -04:00
  • 96789620bb feat: run book uploads in a background tray patrick 2026-08-12 13:42:40 -04:00
  • d4bdb5ed42 feat: accept files and folders when uploading books patrick 2026-08-12 12:04:14 -04:00
  • 5f2d68694d feat: rebuild the edit dialog around a cover and files rail patrick 2026-08-12 11:33:53 -04:00
  • d6207b5743 refactor: resolve() internal links instead of plain hrefs patrick 2026-08-12 11:08:09 -04:00
  • 51c31e6bf6 docs: document the foliate-js reader patrick 2026-08-12 01:37:19 -04:00
  • 961a63480e chore: drop epubjs patrick 2026-08-11 23:15:39 -04:00
  • 92ffa4f7c2 fix: forward app shortcuts pressed inside the book patrick 2026-08-11 23:12:00 -04:00
  • 9155129ccd fix: make the reader's typography, width and arrow keys work patrick 2026-08-11 22:45:14 -04:00
  • 6318115380 fix: make the vendored slider track visible patrick 2026-08-11 22:43:22 -04:00
  • fe12f4be76 feat: add the reader settings panel patrick 2026-08-11 22:27:04 -04:00
  • 190e7af76d feat: replace the epub reader with foliate-js patrick 2026-08-11 22:21:15 -04:00
  • 783f4d226d feat: add reader settings state and stylesheet generator patrick 2026-08-11 22:08:58 -04:00
  • c946b6d71c chore: wire vendored foliate-js into the build patrick 2026-08-11 22:04:50 -04:00
  • dd65e34869 chore: vendor foliate-js patrick 2026-08-11 21:59:33 -04:00
  • a1281f129c chore: unbreak prettier by bumping prettier-plugin-tailwindcss patrick 2026-08-11 21:54:17 -04:00
  • ee46f5568c fix: resume epub progress from the fields the API returns patrick 2026-08-11 21:47:12 -04:00
  • ac5a5c75aa fix: surface reader load failures instead of spinning forever patrick 2026-08-11 21:47:03 -04:00
  • 49f94f9ee1 fix: mount ModeWatcher and Toaster at the root layout patrick 2026-08-11 21:46:50 -04:00
  • 2aba90f910 chore: clear epubjs type import and empty server load patrick 2026-08-11 20:23:31 -04:00
  • d2892353cb fix: reset the edit dialog when switching books patrick 2026-08-11 20:23:31 -04:00
  • d8f8a0ab95 docs: add TODO.md patrick 2026-08-11 20:08:16 -04:00
  • 4ee127b6cb fix: remove duplicate separator in the shelves dropdown patrick 2026-08-11 20:08:16 -04:00
  • 6366582498 fix: silence state_referenced_locally in vendored ui components patrick 2026-08-11 20:08:16 -04:00
  • ef8e5e7fba fix: stop icons remounting and shelves collapsing into nothing patrick 2026-08-11 20:08:16 -04:00
  • c09b8365fa feat: put the library view mode in the url via shallow routing patrick 2026-08-11 20:06:39 -04:00
  • 0139f6f5eb feat: extract built-in view presets and add filter chips patrick 2026-08-11 20:06:39 -04:00
  • 4c3fd66a56 feat: rebuild the book page with the jacket layout patrick 2026-08-11 20:06:23 -04:00
  • f2b8f337f7 feat: rebuild the table view with sortable, toggleable columns patrick 2026-08-11 20:06:23 -04:00
  • 75360ff603 feat: add book cover component and detail-card list view patrick 2026-08-11 20:06:23 -04:00
  • 87fff20d72 feat: widen search and label the upload button patrick 2026-08-11 20:05:24 -04:00
  • adddcfeeed feat: add account menu to the sidebar footer patrick 2026-08-11 20:05:24 -04:00
  • cb070336c6 feat: replace the sidebar logo with a book mark patrick 2026-08-11 20:05:17 -04:00
  • f68a233dca refactor: replace hardcoded colours with semantic tokens patrick 2026-08-11 20:05:17 -04:00
  • f36aa14463 feat: add theme editor in settings patrick 2026-08-11 20:05:02 -04:00
  • d71b53b3c5 feat: add themeable design tokens with cookie-backed SSR patrick 2026-08-11 20:05:02 -04:00
  • a1f39a8dc8 fix: scope book progress and shelves to the requesting user patrick 2026-08-11 20:04:56 -04:00
  • dfeb4c3267 chore: remove unused book files accordion component patrick 2026-08-11 00:32:44 -04:00
  • e4ecfad5dd chore: regenerate OpenAPI types patrick 2026-08-11 00:27:56 -04:00
  • 3a3957d432 fix: resolve BookProgressRead reference in BookRead patrick 2026-08-11 00:27:56 -04:00
  • 23a12f7970 docs: add AGENTS.md for repo, backend and frontend patrick 2026-08-10 23:58:42 -04:00
  • c3e337de32 fix: correct book browser scroll area height patrick 2026-08-10 23:58:42 -04:00
  • 3ae3dcb0d0 fix: send correct field names when updating book progress patrick 2026-08-10 23:58:42 -04:00
  • 3091cc879d fix: skip unreadable PDFs during metadata extraction patrick 2026-08-10 23:58:42 -04:00
  • 1415cb6244 fix: preserve directory structure when uploading books patrick 2026-08-10 23:58:42 -04:00
  • cc39e79cd7 chore: regenerate initial migrations patrick 2026-08-10 23:58:09 -04:00
  • c5b703b75a refactor: use unique constraints instead of composite keys on link tables patrick 2026-08-10 23:58:09 -04:00
  • 9fe69641c5 feat: add library icons patrick 2026-08-10 23:58:02 -04:00