Commit Graph

26 Commits

Author SHA1 Message Date
neon cfc3672a6c refactor: rename book-bucket to book-dock and lens to smart-scope 2026-04-20 22:57:27 -06:00
neon 8638b19a4c feat(client): enhance book cover placeholder with adaptive SVG design 2026-04-19 23:02:52 -06:00
neon dd9fd205d6 feat: add bulk tag update and improve selection action bar 2026-04-15 00:58:50 -06:00
neon 26d1e6ebc8 feat: improve header UI and optimize docker storage configuration 2026-04-08 20:34:38 -06:00
neon 10a4a2045a feat(cover): add per-library aspect ratio and per-view cover size 2026-03-26 21:14:22 -06:00
neon df337e1b7e feat(users): add ManageEmail permission and gated book actions
- split email into EmailSend (read/send) and ManageEmail (SMTP config); fix providers tab to be read-only for EmailSend
- add library reassignment to admin user form (GET/PUT /users/:id/libraries)
- hide Download, Edit Metadata, Delete actions throughout UI based on user permissions
- redirect non-manage_libraries users away from Libraries settings
2026-03-23 00:36:11 -06:00
neon 2117b729d5 feat(reader): add audiobook reader with narrator and Audible metadata
- add audiobook reader with playback queue, progress tracking, and audio settings
- add narrator support with DB schema, module, and metadata extraction
- add Audible and Audnexus metadata providers with mappers and tests
- improve scanner with file classification, walk utilities, and file-event processing
- extend upload validator and processor for audio formats
2026-03-21 16:14:55 -06:00
neon 416952a3a0 feat: refine theme tokens and apply consistent styling 2026-03-18 06:57:19 -06:00
neon 1d44702bec feat(client): polish ViewHeader, library icon, and appearance fixes 2026-03-10 04:12:33 -06:00
neon 891cd19f46 chore: implement local quality foundation 2026-03-06 09:08:15 -06:00
neon f60584cf16 feat(books): add icon tooltips, book export, and bulk book actions
- add tooltips to all header icons (search, upload, appearance, settings, theme toggle, sidebar trigger)
- fix appearance popover by moving Tooltip outside Popover
- add POST /api/books/export endpoint to zip and download books
- add POST /api/books/bulk-refresh-metadata and bulk-re-extract-cover endpoints
- add BulkBookIdsDto and ExportBooksDto
- add archiver dependency for zip streaming
- update theme CSS variables and component styles across client
2026-03-01 10:55:31 -06:00
neon 02a5b46768 feat: add email delivery feature
- full email provider management (SMTP, test connection, share, default)
- recipient and recipient group management
- email templates with variable interpolation and system default
- user email preferences (provider, recipient, template defaults)
- send book via email from book list and cover card
- send log with pagination, resend on failure, delete entries
- admin email relay settings (SMTP relay, domain allow/blocklist)
- partial unique index to prevent duplicate system templates
- fix load-more pagination to append rather than replace entries
2026-03-01 04:00:39 -06:00
neon 51dd3d30f3 chore: backend infrastructure improvements
- add URI versioning: global prefix changed to api/v1, all frontend call sites updated
- add AbortSignal.timeout to all outbound fetch calls (10s API, 15s scrapers)
- add X-Request-Id response header and requestId field in error payloads
- add response compression via @fastify/compress (gzip + brotli)
- add security headers via @fastify/helmet with CSP for the Vite SPA
- tune pg pool: max 20, idle/connection/statement timeouts on app and migration pools
- add GET /api/v1/health endpoint via @nestjs/terminus with DB connectivity check
2026-02-28 16:02:15 -06:00
neon f3aa1a05ad feat(metadata): add preferences, provider priority, and cover updates 2026-02-26 11:42:47 -06:00
neon 3eff3616fc feat(books): rename tags to genres and add user tags 2026-02-19 05:08:21 -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 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 068359727d feat(books): highlight primary format and add inline open in list row 2026-02-05 13:51:19 -06:00
neon 676ca4c1a7 feat(collections): add full CRUD with multi-collection assignment 2026-02-01 20:25:16 -06:00
neon 426bc5fc82 feat(scanner): detect missing books via watcher and propagate to UI 2026-01-28 07:58:26 -06:00
neon 14ebb843bd feat(cover): replace client-side cache busting with backend ETag headers 2026-01-26 23:09:28 -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 4effca0813 feat(books): add quick view panel and proportional cover card overlay 2026-01-24 15:08:33 -06:00
neon 1562f730d2 feat(books): improve list view with series badges and click navigation 2026-01-23 08:19:26 -06:00