Commit Graph

12 Commits

Author SHA1 Message Date
noelorin 1142174f8f feat(danmaku): derive series danmaku bindings from scrape metadata
- derive unbound series siblings via bgmtv bridge on bind, manual select,
  auto match and playback fetch fallback (skip per-file hash match)
- store bangumi aliases/air year on scrape; aliases join candidate scoring,
  year disambiguates same-name subjects during auto-scrape
- structure filter: hard-converge candidates on equal episode numbers and
  drop movie/OVA/SP specials when the local episode number is known
- season-aware bridge picking converts absolute episode numbers via season
  offset; rebinding a series resets stale danmaku episode identity
2026-09-27 22:28:17 +08:00
noelorin 4fe0f40ce4 feat(danmaku): login DanDanPlay account for online danmaku
Follow NipaPlay pattern: POST /api/v2/login (md5 hash) stores bearer token; comment/match send Authorization Bearer alongside AppId signature. Admin UI login form.
2026-09-27 15:14:13 +08:00
noelorin 95962b4aa4 style: biome formatting wave + clear web lint (selector order, safe list keys) 2026-09-27 12:57:49 +08:00
noelorin 2e405cd974 feat(settings,auth): admin open-network config with role visibility
users.role (first registrant admin), app_settings store plaintext AppId/Secret, admin-only settings API and UI section, runtime credential override in @app/danmaku.
2026-09-27 11:52:17 +08:00
noelorin 2bcf9f0230 feat(web,danmaku): danmaku side list and manual source picker
Right-side danmaku list with click-to-seek; rematch dialog gains hierarchical source pick (search title → episode) via DanDanPlay open API.
2026-09-27 11:19:31 +08:00
noelorin 06e798939a fix(danmaku): review wave — unstick local-xml, hint scoring, prefs sync, byte limits
- I1: selectMatch 删 local-xml + 播放页本地源可重新匹配并清 localStorage
- I2: rankCandidates 接受本地 hint,标题包含/相等与集号相等真实拉开分差
- I3: scrape.matchDandanplay 低置信不写库不覆盖标题/海报,返回候选手选
- I4: 播放页 prefs.data 到达后覆盖 danmakuOn/density/opacity,localStorage 仅回退
- I5: importXml 与 Zod 按 UTF-8 字节 ≤20MB(非 UTF-16 code unit)
2026-09-27 02:01:16 +08:00
noelorin 07c7108789 test(danmaku): assert openCommentXml withRelated contract 2026-09-27 00:04:58 +08:00
noelorin 5b095d677f fix(danmaku): browser-safe entry, yarn test wiring, AGENTS map 2026-09-26 23:46:21 +08:00
noelorin 5ce1f91a26 test(danmaku): cover rankCandidates confidence paths 2026-09-26 19:26:44 +08:00
noelorin 967ef58503 feat(danmaku): match/comment client, filter, high-confidence rank 2026-09-26 19:15:10 +08:00
noelorin b80b1e1fbf test(danmaku): lock 8-segment p contract and parse tolerance 2026-09-26 19:05:49 +08:00
noelorin 517b4b1ef6 feat(danmaku): protocol package scaffold with signature, hash, xml 2026-09-26 18:54:55 +08:00