Developer
dfa8fc6dc8
fix: remove unused useRouter import from BigVideoCard
2026-03-11 14:28:34 +08:00
Developer
f10e8b92d0
feat: add BigVideoCard with muted autoplay at qn=16
2026-03-11 14:26:27 +08:00
Developer
190f6a58bd
feat: add videoRows utility for big-card list layout
2026-03-11 14:20:20 +08:00
Developer
e608dcc09a
docs: finalize chunk 3 plan (import ordering, dependency note)
2026-03-11 14:15:06 +08:00
Developer
992c7a3a6a
docs: fix chunk 3 plan issues (unused import, step ordering, styles.row)
2026-03-11 14:13:25 +08:00
Developer
bc514c4a15
docs: add big video card implementation plan
2026-03-11 14:11:25 +08:00
Developer
56b0456b17
docs: add big video card design spec
2026-03-11 14:03:12 +08:00
Developer
71ffbf3585
fix: simulate landscape via CSS transform when expo-screen-orientation unavailable
2026-03-11 10:30:59 +08:00
Developer
a2d401da40
fix: fullscreen player fills modal instead of using portrait 16:9 dimensions
2026-03-11 10:26:52 +08:00
Developer
4d7f943618
fix: use correct danmaku XML endpoint (comment.bilibili.com/{cid}.xml)
2026-03-11 10:23:47 +08:00
Developer
ea184842e4
fix: player height collapse and danmaku empty state
2026-03-11 10:20:13 +08:00
Developer
497dd33a35
fix: lazy-require expo-screen-orientation for Expo Go compatibility
2026-03-11 10:13:54 +08:00
Developer
64ce3031a6
feat: merge danmaku-fullscreen - resolve NativeVideoPlayer conflict
...
Combines master's shotTimestamps/pvdata thumbnail improvements and
TouchableWithoutFeedback tap layer with feature/danmaku-fullscreen's
DanmakuItem import, DanmakuOverlay render, showDanmaku state,
onTimeUpdate/initialTime/danmakus/isFullscreen props, danmaku toggle
button, and useWindowDimensions for rotation-aware dimensions.
2026-03-11 10:07:22 +08:00
Developer
880e2696da
1
2026-03-11 10:03:46 +08:00
Developer
72a8fdfdc0
fix: address code review issues in danmaku components
2026-03-11 10:01:50 +08:00
Developer
a9b5b364a2
feat: integrate danmaku fetching and list in video detail page
2026-03-10 22:53:35 +08:00
Developer
6871d061fc
feat: add orientation lock and dual-instance fullscreen to VideoPlayer
2026-03-10 22:52:05 +08:00
Developer
85ceec8b58
feat: add danmaku overlay + time tracking to NativeVideoPlayer
2026-03-10 22:50:48 +08:00
Developer
d1b66541d2
feat: add DanmakuOverlay component
2026-03-10 22:48:09 +08:00
Developer
44b4910135
feat: add DanmakuList component
2026-03-10 22:47:11 +08:00
Developer
d2e259e9f4
feat: add getDanmaku API function
2026-03-10 22:46:29 +08:00
Developer
bfeae44bf9
feat: add danmaku XML parser and color util
2026-03-10 22:44:24 +08:00
Developer
8572f30e16
feat: add DanmakuItem type
2026-03-10 22:43:16 +08:00
Developer
e5568b6b6b
chore: install expo-screen-orientation, set orientation to default
2026-03-10 22:42:29 +08:00
Developer
3ec6433e14
chore: add .worktrees to .gitignore
2026-03-10 22:38:58 +08:00
Developer
ee213347c7
feat: unified player controls with heatmap progress + thumbnail preview
...
- VideoPlayer: 移除 onProgress/seekTo props,新增 bvid/cid 向下透传
- [bvid].tsx: 删除 HeatProgressBar 及 currentTime/duration/seekCmd state
- HeatProgressBar.tsx: 删除(逻辑已合并进 NativeVideoPlayer)
- 计划文档已保存到 docs/superpowers/plans/
2026-03-10 21:48:23 +08:00
Developer
6023ec55ae
feat: rewrite NativeVideoPlayer with unified custom controls overlay
2026-03-10 21:46:19 +08:00
Developer
1efeba2d9e
docs: add player UI redesign spec
2026-03-10 21:40:02 +08:00
Developer
836b2ceb28
fix: 末行单卡片居中 + 卡片高度不一致
...
- columnWrapperStyle justifyContent 改为 flex-start,末行单卡片靠左
- title 固定 height: 32px(2行 × lineHeight 16),
使每张卡片 info 区高度相同,消除高度不一致
2026-03-10 21:14:24 +08:00
Developer
621fbebc08
fix: 下拉刷新 spinner 被顶部导航栏遮挡
...
改用 RefreshControl 并设置 progressViewOffset = insets.top + NAV_H,
将刷新指示器下移到导航栏以下,使其可见。
2026-03-10 21:10:01 +08:00
Developer
9ceb3b0d94
fix: 加载更多完成后页面抖动/导航栏弹出
...
ListFooterComponent 在 loading 结束时从 ActivityIndicator 变为 null,
content 高度骤降触发虚假 scroll event,diffClamp 误判为上滑把导航栏顶出。
改为 footer 保持固定高度 48px,仅切换 spinner 的显隐,消除高度变化。
2026-03-10 21:07:40 +08:00
Developer
f2b4c404c3
fix: filter out ad/live/invalid cards from recommend feed
...
推荐流中混入广告、直播等特殊条目,缺少 pic/duration/bvid 字段,
导致页面出现空白卡片。过滤掉不满足条件的条目。
2026-03-10 20:50:44 +08:00
Developer
4d71f39ee9
fix: proxy B站图片 CDN 解决 web 端防盗链图片不显示问题
...
- dev-proxy.js 新增 /bilibili-img 路由,代理 *.hdslb.com 并注入正确 Referer
- utils/imageUrl.ts 新增 proxyImageUrl(),web 端将图片 URL 转为本地代理地址
- VideoCard / CommentItem / MiniPlayer / [bvid] 对所有 B站图片应用 proxyImageUrl
2026-03-10 20:47:14 +08:00
Developer
4c72ff3cdd
视频清晰度
2026-03-10 20:21:22 +08:00
Developer
03d7d3c5c3
fix: quality switch not updating video playback
...
- Use qn-specific MPD filename (bili_dash_{qn}.mpd) so each quality
produces a distinct URI that triggers react-native-video to reload
- Add key={resolvedUrl} on <Video> to force remount on source change
2026-03-10 20:18:47 +08:00
Developer
35371cebff
fix: switch DASH delivery from data: URI to local MPD file via expo-file-system
...
data: URI scheme for DASH manifests is unreliable in ExoPlayer.
Write MPD XML to FileSystem.cacheDirectory/bili_dash.mpd and pass
file:// URI to react-native-video instead. URL resolution is now
async via useEffect+state in NativeVideoPlayer.
2026-03-10 20:16:01 +08:00
Developer
911eeb9052
fix: use snake_case field names matching Bilibili DASH API response
...
B站 API 实际返回 segment_base.initialization / index_range
而非 segmentBase.Initialization / indexRange,修正类型定义和 MPD 生成逻辑。
segment_base 设为可选,缺失时不生成 SegmentBase 元素(ExoPlayer fallback)。
2026-03-10 20:09:50 +08:00
Developer
5bb6a3cd68
feat: unlock 1080P+ on Android via DASH streaming
...
- getPlayUrl uses fnval=16 (DASH) on Android, keeping fnval=0/html5 for iOS/web
- New utils/dash.ts builds a valid DASH MPD from Bilibili's segmentBase ranges
and returns it as a data: URI for ExoPlayer consumption
- NativeVideoPlayer selects DASH path (type='mpd') or durl fallback automatically
- Extend PlayUrlResponse types with DashVideoItem/DashAudioItem/DashSegmentBase
2026-03-10 20:04:48 +08:00
Developer
4dbb3cb3d6
1
2026-03-10 19:22:38 +08:00
Developer
cf20b016ff
1
2026-03-10 19:04:18 +08:00
Developer
18eebfb0d2
1
2026-03-10 17:25:18 +08:00
Developer
c9c62d3e48
1
2026-03-06 14:52:28 +08:00
Developer
9b7e728c9d
1
2026-03-06 12:58:41 +08:00
Developer
b09c3731f9
chore: add dev server config and update tsconfig
...
- Add .claude/launch.json for Expo Dev Server (port 8081)
- Update tsconfig.json with expo-router typedRoutes include paths
2026-03-05 18:09:44 +08:00
Developer
a0e53bd073
feat: add all source files - services, store, hooks, components, screens
2026-03-05 18:02:54 +08:00
Developer
bbe0df6ed2
chore: init expo typescript project with all dependencies
2026-03-05 17:55:47 +08:00