Commit Graph

21 Commits

Author SHA1 Message Date
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 b90d7dfc55 feat(danmaku): auto-link same-name sidecar xml from mount 2026-09-26 23:35:05 +08:00
noelorin 714f51a1a6 fix(trpc): bind ranked top candidate and cover low-confidence fetch 2026-09-26 20:39:23 +08:00
noelorin 188cf79270 feat(trpc): danmaku service uses @app/danmaku and persists docs/prefs 2026-09-26 20:22:47 +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 3af8ebead7 fix(trpc): stream Content-Type fallback by extension 2026-09-25 12:15:50 +08:00
noelorin d9ebcb10bd fix(trpc): open danmaku official API match/comment + 16MB MD5 2026-09-25 12:15:50 +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 94e923486e fix(trpc): stream backpressure via pull-driven pause and RFC range edge cases 2026-09-25 03:17:42 +08:00
noelorin cfddf5bbe1 feat(web): authenticated range stream proxy 2026-09-25 03:12:49 +08:00
noelorin f009d2cce4 feat(trpc): media router mount/library/scrape/playback/danmaku 2026-09-25 03:06:12 +08:00
noelorin 8839763f24 feat(trpc): playback progress + danmaku open-network relay 2026-09-25 03:00:16 +08:00
noelorin c37f9dcf62 fix(trpc): bound scrape concurrency and surface DB errors 2026-09-25 02:56:23 +08:00
noelorin 94d389b855 feat(trpc): library scan + bangumi scrape 2026-09-25 02:52:08 +08:00
noelorin cdc40d61b1 feat(trpc): webdav client + mount service with secret encryption 2026-09-25 02:48:17 +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