Commit Graph

261 Commits

Author SHA1 Message Date
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 908ccce549 test(server): speed up slow unit tests 2026-04-02 08:05:00 -06:00
neon c3fd3f8f2e ci: consolidate E2E into pipeline and gate image builds on test suite 2026-04-02 06:45:00 -06:00
neon 6e999ccaa8 ci: standardize E2E naming across workflows and scripts 2026-04-02 05:25:00 -06:00
neon 00ecdc34cd test(users): add lifecycle E2E suite and harden admin contracts 2026-04-02 04:05:00 -06:00
neon 6115656153 test(email): add email lifecycle E2E suite and harden send behavior 2026-04-02 02:45:00 -06:00
neon 835bc91a09 test(reader): add state isolation E2E suite and fix isolation bugs 2026-04-02 01:25:00 -06:00
neon 64abfa8c41 test(opds): add auth catalog end-to-end tests 2026-04-02 00:05:00 -06:00
neon 914f8a3440 test(auth): add authorization-matrix end-to-end suite 2026-04-01 15:49:30 -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 157224be9f test(metadata): expand end-to-end scenarios and assertions 2026-04-01 11:50:59 -06:00
neon a6d84ae20c test(metadata): add initial E2E coverage for metadata write flow 2026-04-01 08:05:00 -06:00
neon 7491ad78c8 fix(metadata): harden fetch flow and module reliability 2026-04-01 07:11:40 -06:00
neon 649dab6c34 fix(metadata): harden extraction, relation transactions, and cover 2026-04-01 06:18:20 -06:00
neon c4a0c55e71 fix(metadata): harden write pipeline with atomic writes and ordering 2026-04-01 05:25:00 -06:00
neon 2e37c2d8e6 fix(email): harden security and reliability with stronger coverage 2026-04-01 04:31:40 -06:00
neon acc5f833e8 fix(cover): harden cover fetching and validate dashboard scroller lenses 2026-04-01 03:38:20 -06:00
neon bfd193df62 fix(collections): harden book authorization and catalog validation 2026-04-01 02:45:00 -06:00
neon 7a5ca257ba fix(annotations): harden access validation and metadata fetch scheduling 2026-04-01 01:51:40 -06:00
neon e110a17d8d fix(books): harden streaming, cleanup, and embedding reliability 2026-04-01 00:58:20 -06:00
neon cb91f63fbf fix(authors): improve enrichment reliability, security, and scalability 2026-04-01 00:05:00 -06:00
neon a8a3049c26 refactor(metadata): move ComicMetadataService to ComicMetadataRepository 2026-03-31 06:18:41 -06:00
neon 368837eeff refactor(settings): add repository layer and harden annotation handling 2026-03-31 06:04:32 -06:00
neon 86f0478bc0 refactor(audit): streamline audit module structure 2026-03-31 05:36:35 -06:00
neon 5161fdf203 refactor(server): harden health, library, and lens module architecture 2026-03-31 05:11:33 -06:00
neon 32bbba9aa9 fix(metadata): harden preference concurrency and score recalculation 2026-03-31 04:50:04 -06:00
neon 8347f3e26e refactor(books): rework recommendation scoring and session validation 2026-03-31 04:25:47 -06:00
neon fadb0e1c66 fix(server): correct seed defaults and expand edge-case tests 2026-03-31 04:14:05 -06:00
neon a6967e5902 fix(stats): tighten type safety and cover edge cases 2026-03-31 03:59:55 -06:00
neon 047d4bfc24 fix(scanner): improve upload durability and validation coverage 2026-03-31 03:46:22 -06:00
neon 6f1f1d81b1 fix(books): enforce read status lifecycle rules and threshold handling 2026-03-31 03:35:13 -06:00
neon 7952e32800 fix(authors): harden module behavior and safety checks 2026-03-31 03:11:22 -06:00
neon ec44071a91 fix(auth): harden OIDC and stabilize session security hooks 2026-03-31 02:54:53 -06:00
neon 36b8eda504 refactor(auth): improve guard architecture and reuse 2026-03-31 02:32:21 -06:00
neon 60f66d17af refactor(server): improve repository architecture and query structure 2026-03-31 02:23:42 -06:00
neon 55df7fb817 test: fix flaky E2E scenarios and stabilize test runner 2026-03-31 01:54:30 -06:00
neon 0c195165e6 test(scanner): add staging ingest and finalize E2E test suite 2026-03-30 23:17:27 -06:00
neon 4d58418b93 test(auth): add end-to-end coverage for authentication flows 2026-03-30 03:58:27 -06:00
neon b5cc1ef370 test(scanner): refactor E2E scaffolding and extract shared test harness 2026-03-30 02:11:51 -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