neon
67ec10f703
feat: implement security audit fixes SEC-001 through SEC-031
2026-04-12 16:15:03 -06:00
neon
1f43ea2cb5
feat: enforce non-empty icons for collections, lenses, and libraries
2026-04-12 10:32:31 -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
32359cebbf
perf(client): reduce sidebar GPU load and tune transition visuals
2026-04-10 21:50:08 -06:00
neon
a451825735
feat: centralize library creation redirect logic into a composable
2026-04-10 19:59:14 -06:00
neon
c4a2cbc4d8
chore: update dependencies to latest minor and patch versions
2026-04-10 11:53:58 -06:00
neon
3fb99714d7
fix(stats): remove hardcoded library IDs from statistics page
2026-04-09 05:18:00 -06:00
neon
b0ed068fd6
chore: improve download feature
2026-04-08 22:52:52 -06:00
neon
26d1e6ebc8
feat: improve header UI and optimize docker storage configuration
2026-04-08 20:34:38 -06:00
neon
1cf34fb0ab
feat: improve PDF reader loading state and UI
2026-04-08 20:33:38 -06:00
neon
a8b203ef4a
chore: optimize docker image and scanner performance
2026-04-08 20:31:38 -06:00
neon
6de8e8bc60
feat(scanner): add live book grid during active scan
2026-04-08 05:02:57 -06:00
neon
0e9ae2ae10
feat(scanner): add kepub and audio format support to uploads
2026-04-07 13:56:58 -06:00
neon
79b4c45d88
feat: add load-from-file metadata button on book edit tab
2026-04-06 15:13:57 -06:00
neon
cfc424ea37
feat: move file write settings from global to per-library
2026-04-06 14:54:50 -06:00
neon
decd0f1a2e
fix(server): fix migration executor bugs and schema corrections
2026-04-05 20:24:08 -06:00
neon
9fd4e162aa
feat(server): harden booklore migration with adapters and E2E tests
2026-04-05 16:01:04 -06:00
neon
bab3813ff8
feat(metadata): add per-field locking to protect fields from overwrites
2026-04-03 21:31:02 -06:00
neon
abd06c5ccd
style(books): sort search format pills and align detail cover
2026-04-03 20:54:11 -06:00
neon
847b048df7
fix(collections): prevent IconPicker from closing AddToCollectionSheet
2026-04-03 20:53:11 -06:00
neon
9dcc513a0d
feat(books): add extra sort fields including user-specific progress
2026-04-03 20:52:11 -06:00
neon
ca3e4822b5
feat(scanner): improve book bucket file list and destination dialog
2026-04-03 20:51:11 -06:00
neon
0a58a87239
refactor(scanner): rename staging module to book bucket
2026-04-03 20:50:11 -06:00
neon
af7df49b02
feat: return hydrated collection after update and refine icon labels
2026-04-03 20:49:11 -06:00
neon
70e76600e0
feat(server): add Booklore migration with source adapter and executor
2026-04-03 20:48:11 -06:00
neon
f3bab75aea
fix(authors): fix photo filtering and improve metadata comparison panel
2026-04-02 08:09:00 -06:00
neon
13ddc457c7
test(reader): add comprehensive epub keyboard navigation tests
2026-04-02 08:08:00 -06:00
neon
bdbe36f9e5
feat(reader): add CBZ spread layout engine and settings
2026-04-02 08:07:00 -06:00
neon
fe1b70c1dc
feat(reader): polish reader settings and fix PDF and CBZ issues
2026-04-02 08:06:00 -06:00
neon
00ecdc34cd
test(users): add lifecycle E2E suite and harden admin contracts
2026-04-02 04:05:00 -06:00
neon
efea4ba846
feat(reader): improve CBZ and ebook options layout
2026-04-01 14:51:37 -06:00
neon
777bedaa90
test(books): add exhaustive filter validator and query-builder coverage
2026-04-01 12:52:34 -06:00
neon
1fbc499ffc
feat(books): show collections and collapsible genres in quick view
2026-04-01 12:01:49 -06:00
neon
0c195165e6
test(scanner): add staging ingest and finalize E2E test suite
2026-03-30 23:17:27 -06:00
neon
db30a45782
test(scanner): bootstrap scanner E2E test infrastructure
2026-03-30 01:18:32 -06:00
neon
400e5fabc9
feat(books): add read status values across schema, types, and validation
2026-03-29 16:56:57 -06:00
neon
e2d0789851
fix: prevent double API call on library load
...
- remove racy watch(loading)+loadIfSentinelVisible fallback that fired before RecycleScroller set virtual height
- add hasMore guard and total reset in useBookQuery for defensive correctness
2026-03-29 15:26:13 -06:00
neon
399fa179d2
perf: remove unused tags, metadataScore, durationSeconds from BookCard
...
- drop tags field and bookTags fan-out query from all BookCard paths
- drop metadataScore from BookCard select (only used in BookDetail)
- fix durationSeconds: was never selected in DB; derive audiobook badge from file format using FORMAT_TO_GROUP instead
2026-03-29 14:09:24 -06:00
neon
ec25a62ebe
feat: add inline not-found states for all entity views and 404 routing
2026-03-29 13:34:09 -06:00
neon
91842fe212
feat(settings): expand file naming pattern reference with examples
2026-03-29 12:23:06 -06:00
neon
d5ba57f483
feat: harden nested audio metadata contract and UI consistency
2026-03-29 10:04:26 -06:00
neon
efbb63e764
fix(books): fix rating display bug and trim recommendation response body
2026-03-29 09:21:23 -06:00
neon
77a1a3fecb
feat: add reading progress thresholds to library settings
2026-03-28 13:34:40 -06:00
neon
f628d6dfc4
feat: add book-per-file organization mode and refine library creator UI
2026-03-28 12:04:42 -06:00
neon
31422c9054
fix: add book:restored toast and fix missing events in reconcile
2026-03-28 09:21:47 -06:00
neon
af9424f04a
feat: add audiobook progress and refactor metadata extraction
2026-03-28 07:39:23 -06:00
neon
6daeca7ab2
feat(stats): add top series and library insight charts with backend
2026-03-27 13:16:51 -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
61746cb62c
feat: add format breakdown to Reading Clock with improved tooltip
2026-03-26 10:41:07 -06:00
neon
48a1c6bb1d
fix: restore Genre Reading Time treemap colors using getThemePalette
2026-03-26 07:49:30 -06:00