Commit Graph

31 Commits

Author SHA1 Message Date
neon 870abecb01 feat(reader): polish the PDF reading experience
Make long PDF reading sessions easier to navigate across desktop and mobile. Keep document loading recoverable when EmbedPDF initializes or tears down out of order, without enabling document-editing capabilities.
2026-07-11 15:29:34 +00:00
neon 9e891f609f feat(client): add configurable spine and shadow effects for book covers (#65)
Unify cover rendering with a reusable surface wrapper so cover styling stays consistent across grid, list, table, and dashboard views.
Expose spine overlay and shadow strength controls in appearance settings and fit spine overlays to cropped cover frames to avoid visual bleed.
Add tests for the cover surface component and aspect-ratio fitting helpers.

closes #62
2026-05-20 14:38:52 -06:00
neon 3138cf3a4d fix(security): complete sanitizeLogValue sweep, DOMParser stripHtml, least-privilege CI permissions, pin Dockerfile image 2026-05-15 00:15:23 +00:00
neon 3fd439289d fix(auth): surface rate-limit error on login and remove dropped background patterns
Show a clear too-many-attempts message on the login page when the server
throttles the request. Remove the nova and golden-ratio background options,
whose CSS definitions were already deleted.
2026-05-11 16:42:38 +00:00
neon e59608ceb3 feat(reader,ui): improve mobile reader ergonomics and touch handling
- overhaul EPUB/CBZ/PDF mobile header, footer, toolbar, sidebar, and settings interactions
- add EPUB search minimum query length enforcement with updated unit tests
- improve PDF rendering stability by drawing from an offscreen render canvas
- add app-shell level horizontal overflow/touch constraints to prevent sideways pan and double-tap zoom issues
- make statistics header controls and configure drawer responsive on mobile
2026-05-09 23:48:39 -06:00
neon 97207cd66f feat: implement scoped and mobile search in ViewHeader 2026-04-15 22:20:40 -06:00
neon 40d829a8a9 feat(notifications): add notification center with real-time updates
- add notifications DB schema, repository, service, gateway, and controller
- add shared notification types, categories, and preference models
- add NotificationAccess permission with authorization matrix probe
- add frontend composable with Socket.IO subscription and REST API
- add NotificationPopover, NotificationItem, and NotificationPreferences components
- integrate notification producers in scanner, metadata fetch, book bucket, author enrichment, email, migration, and file write-back services
- add 30-day auto-cleanup via existing CleanupService cron
- add 29 backend unit tests for notification service and controller
2026-04-15 03:15:05 -06:00
neon 704ce09674 feat(client): add micro animations and stagger animation composables 2026-04-14 07:39:59 -06:00
neon 0bf0a5b9fa feat: add guided onboarding tour
- install driver.js and add 9-step tour covering libraries, lenses,
  collections, search, statistics, appearance, upload, and book bucket
- first step context-aware: points to welcome card on first run, falls
  back to settings nav when libraries already exist
- tour state persisted in user.settings JSONB, survives across devices
- skip on mobile; any dismissal (skip or done) marks tour complete
- theme the tour popover with app design tokens (card, primary, radius)
- add "Take the tour again" button in Settings > Account (desktop only)
2026-04-14 02:54:08 -06:00
neon 0aad8c0d7d feat: consolidate mobile UX and filtering updates
- improve responsive layouts and controls across dashboard, home, lens, collection, authors, and book detail surfaces

- modernize settings and metadata provider UIs, including the floating dashboard settings action and cleaner section composition

- add synced or per-view cover sizing and spacing behavior, plus expanded mobile filter and sort control patterns

- extend backend filtering with library rules and increase hardcover ID limits across schema, DTO validation, and migration metadata
2026-04-12 09:45:00 -06:00
neon 2df7e093c5 feat: implement per-user read status tracking
- add user_book_status table (userId, bookId, status, source, timestamps)
- add UserBookStatusModule with repository and service
- auto-update status on progress save (fire-and-forget, skips manual overrides)
- expose PATCH /api/v1/books/:id/status endpoint
- include readStatus on BookCard and BookDetail responses
- surface status icon overlay on cover cards (toggleable)
- add status dropdown in book detail page inline with rating stars
- rewrite statistics summary to query user_book_status directly
2026-03-20 05:07:16 -06:00
neon 416952a3a0 feat: refine theme tokens and apply consistent styling 2026-03-18 06:57:19 -06:00
neon 1b9db4f374 feat(client): wire book detail actions and reorganize reader structure
refactor(reader): reorganize epub/pdf/cbz into sub-folders, apply theme tokens, fix PDF blur and text selection
2026-03-10 20:25:52 -06:00
neon 956801f907 feat: redesign settings pages, theme tokens, and fix layout alignment 2026-03-10 04:21:33 -06:00
neon dbed51fcd0 feat: expand background patterns and reorganize by visual type 2026-03-10 04:18:33 -06:00
neon ae4b566535 style: refine background pattern options 2026-03-06 12:50:42 -06:00
neon 0686ae6477 refactor: overhaul UI layout and modernize design system
- transition to floating UI with centralized background pattern in AppLayout
- restructure core layout for stable headers and independent view scrolling
- synchronize component radii (scrollers, cards, skeletons) with global settings
- standardize headers and book detail tabs for consistent alignment and height
- enhance AppSidebar, AppHeader, and ViewHeader with refined active states
- center project logo in collapsed sidebar by removing offset padding
- update shadcn components and theme bridge for consistent design system support
2026-03-06 00:17:10 -06:00
neon 94a0d51584 feat(metadata): add PDF metadata writer with XMP round-trip 2026-03-03 11:57: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 3ff1cd5882 feat(client): add glass sidebar/header and surface brightness control 2026-02-17 13:05:37 -06:00
neon 00a333d4f1 feat(client): add horizon background and remove legacy patterns 2026-02-06 00:19:40 -06:00
neon 68a51e52c0 feat(client): add background picker to appearance popover 2026-02-05 19:25:55 -06:00
neon 0cbcfe7932 fix(library): cascade delete folder FKs and use diff-based updates 2026-01-25 01:02:28 -06:00
neon 71505ad05d feat(client): expand accent palette to 15 vivid and 15 pastel colors 2026-01-24 23:45:37 -06:00
neon 015028240c feat: library background patterns with settings picker 2026-01-08 11:29:28 -06:00
neon e9300e7d85 style(reader): unify viewer chrome with dark header/footer and settings 2026-01-03 12:07:22 -06:00
neon cb39364440 feat(reader): add full ebook reader with foliate and annotations 2025-12-25 23:41:32 -06:00
neon 7722d7b87b style(client): add topbar glow, sidebar shadow, and view toggle controls 2025-12-22 17:10:40 -06:00
neon 51107bae59 feat(client): add theming system, shadcn-vue UI, and sidebar 2025-12-22 17:03:11 -06:00
neon b4ee0cb90c feat(metadata): add cover extraction for epub, mobi, cbz, and pdf 2025-12-22 14:37:28 -06:00