neon
652dcba69a
feat: replace roles system with flat permissions and isSuperuser flag
2026-03-10 04:19:33 -06:00
neon
1d44702bec
feat(client): polish ViewHeader, library icon, and appearance fixes
2026-03-10 04:12:33 -06:00
neon
a3579ac57f
ci: overhaul CI workflows for reliability and maintainability
...
- add CODEOWNERS assigning .github/ to @neonsolstice
- configure automated updates for npm, docker, and github-actions ecosystems
- replace custom change-detection bash script with dorny/paths-filter@v4
- consolidate lint, typecheck, and test into a single checks matrix job
- gate per-package change detection via has-changes step (matrix unavailable in job-level if)
- fix duplicate actions/setup-node call in setup-node-pnpm composite action
- scope pnpm store cache key by pnpm version to prevent stale cross-version cache hits
- pin all action references to commit SHAs
- fix container-image concurrency group to use commit SHA across all trigger types
- add timeout-minutes to all jobs
- document fail-fast: false rationale and checks: write trade-off
2026-03-07 18:14:36 -06:00
neon
1d60aa902c
feat(metadata): add genre merge and provider-id auto-fill preferences
2026-03-06 15:43:16 -06:00
neon
aeae0ac8ce
feat: add configurable download filename patterns
2026-03-06 07:22:29 -06:00
neon
ac180e521f
feat: compact book details and add provider icon links
2026-03-06 05:34:03 -06:00
neon
78051d0b42
feat(cover): add online cover search with provider infrastructure
2026-03-06 04:21:48 -06:00
neon
7a0e66fe21
feat(metadata): add CBX/CBZ format writers and ComicInfo support
2026-03-04 17:51:19 -06:00
neon
38a601675e
feat: add epub streaming with server-side file serving
2026-03-04 04:53:52 -06:00
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