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
5b095d677f
fix(danmaku): browser-safe entry, yarn test wiring, AGENTS map
2026-09-26 23:46:21 +08:00
noelorin
b90d7dfc55
feat(danmaku): auto-link same-name sidecar xml from mount
2026-09-26 23:35:05 +08:00
noelorin
5b30f43252
fix(web): hydrate-safe danmaku settings init without render localStorage
2026-09-26 22:54:56 +08:00
noelorin
9ef9dd01a5
feat(web): danmaku settings server prefs with block words
2026-09-26 22:47:06 +08:00
noelorin
4b2f16d779
fix(web): selectMatch toast on real payload, neutral match labels
2026-09-26 21:13:05 +08:00
noelorin
c236f50ec6
feat(web): watch rematch candidates, import persist, danmaku filters
2026-09-26 21:03:01 +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
f48f0c8d51
chore(product): replace template branding with 弹弹 Web copy and product SEO
2026-09-26 03:13:48 +08:00
noelorin
11a18a367c
fix(ui): mobile media nav, product chrome, empty CTAs, density label, a11y
2026-09-26 01:11:13 +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
f96afbc4b5
feat(web): danmaku settings page + watch local prefs
2026-09-25 05:29:28 +08:00
noelorin
8ecfee686c
fix(web): watch error states and unload progress flush
2026-09-25 05:15:56 +08:00
noelorin
426a65e448
feat(web): artplayer watch page with danmaku overlay and progress
2026-09-25 05:04:44 +08:00
noelorin
c7c6e30a56
feat(web): library grid + bangumi manual bind
2026-09-25 04:51:16 +08:00
noelorin
61fe323bf8
fix(web): stable breadcrumb keys without array index
2026-09-25 04:36:27 +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
113c7f2848
fix(web): hide template side-rail on media pages
2026-09-25 04:07:35 +08:00
noelorin
c2692a0ceb
feat(web): app shell + mounts admin page
2026-09-25 03:29:56 +08:00
noelorin
2c6bc8818d
feat(web): protect media routes + i18n keys
2026-09-25 03:23:10 +08:00
noelorin
cfddf5bbe1
feat(web): authenticated range stream proxy
2026-09-25 03:12:49 +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