neon
|
f3a52302ca
|
fix(kobo): correct sync header, state array, and ReadingStates protocol
|
2026-02-10 23:53:20 -06:00 |
|
neon
|
55c104f173
|
fix: resolve all ESLint errors across server and client
|
2026-02-10 23:06:44 -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
|
e232c44d88
|
docs: add developer onboarding guide and replace boilerplate READMEs
|
2026-02-07 10:28:00 -06:00 |
|
neon
|
9923d3871f
|
fix(cover): improve epub cover extraction with HTML and sidecar fallback
|
2026-02-07 08:59:25 -06:00 |
|
neon
|
448c6b05bb
|
feat: implement bulk book delete with inline confirmation
|
2026-02-06 18:07:22 -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
|
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
|
a8191d9cf6
|
fix(books): prevent filter builder rows disappearing in lens dialog
|
2026-02-03 15:33:29 -06:00 |
|
neon
|
734df9a83d
|
feat: add collections - icon support, edit dialog, full CRUD
|
2026-02-03 14:39:52 -06:00 |
|
neon
|
aec4af18a5
|
chore(client): remove placeholder Scanner settings and Browse section
|
2026-02-03 11:13:10 -06:00 |
|
neon
|
7c9663118b
|
fix: enforce library access check on CBZ endpoints
|
2026-02-02 11:02:14 -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
|
738b9b6146
|
feat: persist sort preference per library to localStorage
|
2026-01-31 12:10:01 -06:00 |
|
neon
|
b2ea1cca8b
|
feat(books): save library filters to localStorage and guard filter rules
|
2026-01-31 00:48:05 -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
|
14ebb843bd
|
feat(cover): replace client-side cache busting with backend ETag headers
|
2026-01-26 23:09:28 -06:00 |
|
neon
|
e46c5e06c0
|
fix(scanner): wipe covers in scan-test to prevent stale cover data
|
2026-01-26 21:54:11 -06:00 |
|
neon
|
a25ce99a36
|
fix(server): pass through 429 status and exempt authenticated requests
|
2026-01-26 21:18:15 -06:00 |
|
neon
|
1eedc9b255
|
fix(books): filter non-readable formats from book card open menu
|
2026-01-26 16:38:30 -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
|
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
|
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 |
|
neon
|
0f1bc55b24
|
refactor: split AppHeader into global nav and per-view ViewHeader
|
2026-01-21 19:20:01 -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
|
5e1c211067
|
fix(client): make display settings refs singletons for live updates
|
2026-01-21 15:36:39 -06:00 |
|
neon
|
73d66b75e3
|
feat(scanner): add live scan progress via WebSocket and auto-scan
|
2026-01-19 16:48:11 -06:00 |
|
neon
|
2033a3d719
|
feat(library): add deletion with cover cleanup and shared state sync
|
2026-01-16 02:43:59 -06:00 |
|
neon
|
244d38afe8
|
feat(reader): add settings system with per-book delta and defaults
|
2026-01-16 02:00:38 -06:00 |
|
neon
|
86ff97bc82
|
feat(client): add responsive header with global search and filter bar
|
2026-01-15 05:38:45 -06:00 |
|
neon
|
588c1b8972
|
feat(client): add native image loading via cookie and sonner toasts
|
2026-01-15 00:10:29 -06:00 |
|
neon
|
760cc6476f
|
feat(library): add creator wizard, folder picker, and full CRUD
|
2026-01-14 13:13:07 -06:00 |
|
neon
|
8dea90d966
|
feat(docker): add monorepo Docker build with auto-migrate and pdf-lib
|
2026-01-13 14:28:36 -06:00 |
|
neon
|
7916454fb9
|
feat(auth): redesign login page with gradient blobs and glass card
|
2026-01-13 09:22:16 -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
|
015028240c
|
feat: library background patterns with settings picker
|
2026-01-08 11:29:28 -06:00 |
|
neon
|
c6224bd6fb
|
feat: add auth schema, consolidate to single baseline migration
|
2026-01-08 08:00:29 -06:00 |
|
neon
|
e1cd09baeb
|
feat: settings page with slide-over drawer (option B, mobile-friendly)
|
2026-01-07 21:20:55 -06:00 |
|
neon
|
f021cfa076
|
feat: settings drawer — mobile-responsive two-step nav
|
2026-01-06 22:23:36 -06:00 |
|