Commit graph

8 commits

Author SHA1 Message Date
16b8b242b8 feat(library): picker option to mark notes no_resolve 2026-08-05 15:47:13 +08:00
2686c3fa64 fix(library): proper picker-loop isolation with real regression test
Supersedes 4249952's half-fix: try now wraps pickCandidate too; restores
the 19 controller tests that commit deleted; replaces its source-grep
pseudo-tests with a behavioral two-entry isolation test.
2026-08-05 15:37:19 +08:00
d7162d3ac2 feat(library): interactive candidate picker for ambiguous resolves 2026-08-05 15:24:50 +08:00
8a046a0ea2 feat(library): anilist-primary manga metadata with jikan fallback 2026-08-05 14:46:31 +08:00
d76ed2631b fix(library): surface comic vine api errors + sync summary transparency 2026-08-05 13:13:49 +08:00
548e4c8ce0 fix(library): isolate per-type sync failures, suppress dry-run notices
syncAll() ran each enabled type's sync in sequence with no per-type
error handling, so one type throwing (e.g. its vault folder missing)
aborted the whole run and skipped libraryLastSync -- every other
enabled type silently never synced. Each type's runSync is now wrapped
individually: failures are logged (and surfaced via Notice unless
quiet) and the loop continues; libraryLastSync still updates after the
loop regardless.

Also: dry-run sync previews now route spec-level flip notifications
(the "chapter/issue out" Notices) through the log instead of a real
Notice, since a dry run never actually writes the change it's
describing.
2026-08-03 22:09:04 +08:00
6225231d67 fix(library): suppress missing-key notices on quiet scheduled syncs 2026-08-03 21:40:21 +08:00
2cce78d664 feat(library): controller, settings, commands, scheduler 2026-08-03 16:59:47 +08:00