Commit Graph

21 Commits

Author SHA1 Message Date
noelorin 951fadd4a6 chore: batch pending changes (danmaku filter, rootPath migration, i18n)
- web: artplayer danmaku block-filter lib and danmaku/settings page updates
- mount: replacePathPrefix dao helper for rootPath migration on re-mount
- stream/webdav: error copy, timeout handling and test coverage tweaks
- i18n/docs: danmaku guide wording updates
2026-09-27 22:28:23 +08:00
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 e3dbaaeb31 feat(settings): auto-scrape toggle default off
Site setting auto_scrape; scan/ensurePath skip Bangumi when off; admin switch on /settings.
2026-09-27 18:33:13 +08:00
noelorin a1483299f3 fix(mount): reuse stored password when editing
Empty password on update keeps secret; test connection with mountId reuses decrypted secret.
2026-09-27 16:30:48 +08:00
noelorin e0ecf5b106 feat: close product loop for online danmaku
DanmakuFetchOutput.reason (no-app-cred/need-login/no-match/...); watch page settings/clear-local CTAs; dandanplay login for all signed-in users; cache before login gate; README first-run checklist.
2026-09-27 15:41:20 +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 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 5f5dd968cb Merge branch 'feat/dandanplay-alignment'
# Conflicts:
#	app/web/src/components/pages/WatchBody.tsx
#	packages/trpc/src/services/scrape.service.ts
#	packages/types/src/media-schemas.test.ts
2026-09-27 02:18:49 +08:00
noelorin da6378e421 chore(product): WIP checkpoint library/episode work before merging danmaku branch
Unrelated in-progress changes found on main: LibraryBody expansion, episode helpers, history-guard, nav/e2e. Committed as checkpoint to unblock merge.
2026-09-27 02:13:45 +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 cb770d1e56 style(types): biome format media-schemas.test.ts 2026-09-26 22:47:07 +08:00
noelorin aab636eac7 feat(types): danmaku match candidates, import payload, prefs filters 2026-09-26 19:40:43 +08:00
noelorin 63e760ba36 chore(product): checkpoint working tree before dandanplay alignment
Includes product polish (auth/dashboard/error pages, i18n, stream/playback fixes), docs site, e2e suites, and related tooling. Excludes local screenshots and caches.
2026-09-26 18:36:16 +08:00
noelorin a7873891f2 fix: caveman-review findings (danmaku match, SSRF, progress ownership, i18n errors, paging, QueryClient) 2026-09-26 00:49:08 +08:00
noelorin 728a576a4f fix(web): danmaku density range 0.1-1 per product ruling 2026-09-25 11:30:44 +08:00
noelorin 99fd2a58e7 style: biome format browse/ensurePath changes 2026-09-25 04:36:10 +08:00
noelorin 5a291a9127 feat(web): browse page with ensurePath play 2026-09-25 04:35:58 +08:00
noelorin 3143a9c7d0 fix(types): exclude test files from build output 2026-09-25 02:36:59 +08:00
noelorin c0779dffdf feat(types): media mount/library/playback/scrape/danmaku schemas 2026-09-25 02:35:52 +08:00
noelorin a5ba7124dc chore: initial app template scaffold
Astro + tRPC + Drizzle monorepo starter with auth/user vertical slice.
No product domain logic; extend via the user slice pattern.
2026-09-24 15:21:45 +08:00