Commit Graph

385 Commits

Author SHA1 Message Date
neon 94a0d51584 feat(metadata): add PDF metadata writer with XMP round-trip 2026-03-03 11:57:15 -06:00
neon 6d76243909 feat: add file-write module for writing metadata back to EPUB files 2026-03-03 04:56:16 -06:00
neon 63662b46f8 refactor(client): lift sidebar to App.vue and add rating sort 2026-03-02 19:36:08 -06:00
neon ec5dda57b0 feat(books): enhance filter UI with nested groups and improvements
- fix nested group ALL/ANY toggle visibility and empty-rules group handling
- add FilterSummary component with color-coded field/operator/value display
- add collapsible filter preview in LensView with header toggle
- raise MAX_DEPTH to 5 to match backend validation
- add ruleToParts helper for structured rule rendering
- update filter chip styling: emerald fields, muted operators, primary values
- style ALL/ANY badges with sky-blue and amber respectively
- add segmented sort chip with rose accent and icon
- rebuild @projectx/types package to include tag and collection in RuleField
2026-03-02 16:15:14 -06:00
neon f66bb0358f feat: add staging area for file ingestion and metadata management
- add staging DB schema, migrations, and repository
- add staging module with ingest, metadata, finalize, and watcher services
- add staging WebSocket gateway for real-time file status updates
- add staging REST controller with file list, detail, bulk edit, and finalize endpoints
- add StagingView with file list, toolbar, file sheet, bulk edit, and finalize dialogs
- add StagingSettings panel for auto-fetch and auto-finalize configuration
- add staging widget for dashboard and sidebar integration
- update metadata-fetch pipeline to support staging context
- add shared staging types package
2026-02-28 01:31:51 -06:00
neon f3aa1a05ad feat(metadata): add preferences, provider priority, and cover updates 2026-02-26 11:42:47 -06:00
neon ede3bd926a feat: file upload with configurable naming patterns 2026-02-25 17:17:43 -06:00
neon a6ef586dbe feat(stats): add dashboard with horizontal scrollers and settings panel 2026-02-25 04:40:56 -06:00
neon cbab45aff4 feat: pgvector ANN + rescore recommendation engine with admin rebuild UI 2026-02-20 00:16:43 -06:00
neon 3eff3616fc feat(books): rename tags to genres and add user tags 2026-02-19 05:08:21 -06:00
neon 1c97403379 feat: wire provider IDs full stack and polish metadata search UI
- Add providerIds (google/goodreads/amazon/hardcover/openLibrary) to BookDetail type, DTO, service save/load
- Expose provider ID fields in edit metadata form with editable inputs
- Auto-save provider ID on metadata apply from search drawer
- Polished metadata search: skeleton loaders, provider-colored pills/badges, result cards, diff panel
- Fix: provider ID only injected in patch when user has selected fields
2026-02-19 03:37:14 -06:00
neon 1dd6381325 feat(metadata): introduce provider architecture for book metadata 2026-02-19 01:55:40 -06:00
neon c7f488e88f feat(books): separate edit metadata and files into dedicated pages 2026-02-17 11:07:04 -06:00
neon 6865b07c79 fix: prevent filter rule from disappearing when value is fully erased 2026-02-15 23:24:11 -06:00
neon 6be97680a6 feat(books): add status, rating, progress, and ISBN filter fields 2026-02-15 01:31:54 -06:00
neon 6de870a0b5 feat(kobo): add Kobo device sync with kepubify and collection support 2026-02-10 05:46:34 -06:00
neon d44d68cd12 feat(opds): implement OPDS catalog with cover token auth 2026-02-08 22:57:09 -06:00
neon 1c3c8139c9 fix(books): fix rating persistence and overhaul BookListRow UX 2026-02-05 18:11:01 -06:00
neon d0b54beb95 feat(books): add year, progress, rating, and fields to book list row 2026-02-05 15:39:35 -06:00
neon 734df9a83d feat: add collections - icon support, edit dialog, full CRUD 2026-02-03 14:39:52 -06:00
neon 676ca4c1a7 feat(collections): add full CRUD with multi-collection assignment 2026-02-01 20:25:16 -06:00
neon 33208254d9 feat: show book counts per library and lens in sidebar 2026-02-01 15:17:09 -06:00
neon 32410b340c feat(scanner): detect moved books via inode matching and propagate 2026-01-30 05:05:47 -06:00
neon 325d0f6f0f fix: preserve book file rows on delete so restored files keep their IDs 2026-01-28 12:47:51 -06:00
neon 426bc5fc82 feat(scanner): detect missing books via watcher and propagate to UI 2026-01-28 07:58:26 -06:00
neon a00c5a54dd feat(books): add book detail page with tabs and keep-alive grid scroll 2026-01-26 15:33:18 -06:00
neon ee05c50b72 feat(cover): fix EPUB cover extraction for namespace-prefixed OPF 2026-01-25 04:45:28 -06:00
neon 4effca0813 feat(books): add quick view panel and proportional cover card overlay 2026-01-24 15:08:33 -06:00
neon bc1ee837bf feat(books): add lens with query engine, filter builder, and icon picker 2026-01-21 18:07:07 -06:00
neon 73d66b75e3 feat(scanner): add live scan progress via WebSocket and auto-scan 2026-01-19 16:48:11 -06:00
neon 244d38afe8 feat(reader): add settings system with per-book delta and defaults 2026-01-16 02:00:38 -06:00
neon 760cc6476f feat(library): add creator wizard, folder picker, and full CRUD 2026-01-14 13:13:07 -06:00
neon 477c68122f feat(auth): add OIDC/SSO support with RP-initiated logout and settings 2026-01-13 08:23:05 -06:00
neon 45f7c73ecb feat: add auth, RBAC, admin panel, and JWT-protected routes 2026-01-12 15:05:39 -06:00
neon b4ee0cb90c feat(metadata): add cover extraction for epub, mobi, cbz, and pdf 2025-12-22 14:37:28 -06:00