Commit graph

10 commits

Author SHA1 Message Date
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
c14da19c47 feat(library): rating line, manga finish-flip notify, game links, dedupe
- render **Rating:** line in manga/book/game/comic body (after read/play
  status, gated on rating != '0' + stars non-empty), matching watchlist's
  render.ts convention
- manga finish-flip now notifies user (final chapters out), matching
  chapter-flip's existing notify path
- game renderGame emits ## Links (Steam by appid, RAWG by url) — fixes
  latent owned-heading strip where user-added Links sections silently
  vanished since games never re-rendered the heading
- move duplicated deriveReadStatus/deriveRating/parseNumOrNull into
  library/convert.ts, import across specs; zero behavior change
2026-08-03 16:29:02 +08:00
d2a6940270 feat(library): comic spec — comic vine + issue flip 2026-08-03 16:16:34 +08:00
cdc653e6e4 feat(library): game spec — steam + rawg 2026-08-03 16:02:56 +08:00
1c90ae9abc feat(library): book spec — open library 2026-08-03 15:44:48 +08:00
abc3489d27 feat(library): manga spec — jikan enrich, rss/mangadex chapter flip 2026-08-03 15:28:01 +08:00
e0e0462836 fix(watchlist): TV country full name + tmdb_rating precision rounding
TMDB's origin_country returns ISO codes (KR), not full names, causing
a vault regression from South Korea to KR. buildRecord now prefers
production_countries[0].name, falling back to the raw origin_country
code only when absent.

TMDB also now returns vote_average at full precision (6.537), causing
mass diff noise against the vault's 1-decimal convention and spurious
rewrites on precision drift alone. tmdb_rating is now rounded to 1
decimal place.

Loki fixture updated to realistic TMDB shapes (ISO country code +
production_countries) to catch this regression going forward.
2026-07-30 15:00:39 +08:00
0aa6df81a3 feat(watchlist): renderNote — canonical note serializer (golden-tested) 2026-07-30 11:17:22 +08:00
51d630fcd6 feat(watchlist): buildRecord — TMDB detail → canonical record
Port pure fn mapping raw TMDB JSON + prev frontmatter → WatchlistRecord. Fixtures from python reference selftest. TDD: 14 new cases all green.
2026-07-29 23:15:36 +08:00