Harden live camera viewer sync rendering

这个提交包含在:
cryptocommuniums-afk
2026-03-17 14:15:14 +08:00
父节点 597f16d0b9
当前提交 902bd783c9
修改 5 个文件,包含 195 行新增16 行删除

查看文件

@@ -8,7 +8,9 @@
- 多端同步观看的 relay 缓存窗口改为按会话配置,默认 `2` 分钟,可选最短 `10` 秒、最长 `5` 分钟;viewer 页面、徽标和设置卡都会同步显示当前缓存时长
- owner 端分析录制在继续保持“每 `60` 秒自动归档”之外,会额外每 `10` 秒上传一次 relay 分片,因此短缓存模式下其他端不需要等待整整 `60` 秒才看到平滑同步视频
- media 服务会按各自 relay 会话的缓存秒数裁剪 preview 分段;从磁盘恢复旧 relay 会话时也会自动归一化到合法范围,避免旧会话继续沿用固定 `60` 秒窗口
- 线上 smoke 已确认 `https://te.hao.work/` 正在提供本次新构建,而不是旧资源版本;当前公开站点资源 revision 为 `assets/index-2-BhvFom.js``assets/index-BHHHsAWc.css``assets/pose-BPcIm7Xa.js`
- 同步端渲染远端 `recentSegments` 时新增旧快照归一化;即使历史快照缺少 `keyFrames``issueSummary` 等数组字段,也会自动补默认值,不再触发 `Cannot read properties of undefined (reading 'length')`
- 同步观看界面新增“已累积多少缓存、预计还需多久才能看到首段回放、距离目标缓存还差多少”的提示,观看端等待阶段会给出更明确的可观察时间说明
- 线上 smoke 已确认 `https://te.hao.work/` 正在提供本次新构建,而不是旧资源版本;当前公开站点资源 revision 为 `assets/index-CYpJPG0R.js``assets/index-BHHHsAWc.css``assets/pose-C93FSit6.js`
### 测试
@@ -19,14 +21,14 @@
- `pnpm exec playwright test tests/e2e/app.spec.ts`
- `playwright-skill` 线上 smoke登录 `H1` 后访问 `https://te.hao.work/live-camera`,完成校准、启用假摄像头并点击“开始分析”,确认页面进入分析中状态、默认显示“缓存 2 分钟”,且无控制台与页面级错误
- `curl -I https://te.hao.work/`
- `curl -I https://te.hao.work/assets/index-2-BhvFom.js`
- `curl -I https://te.hao.work/assets/index-CYpJPG0R.js`
- `curl -I https://te.hao.work/assets/index-BHHHsAWc.css`
- `curl -I https://te.hao.work/assets/pose-BPcIm7Xa.js`
- `curl -I https://te.hao.work/assets/pose-C93FSit6.js`
### 线上 smoke
- `https://te.hao.work/` 已切换到本次新构建,而不是旧资源版本
- 当前公开站点前端资源 revision`assets/index-2-BhvFom.js``assets/index-BHHHsAWc.css``assets/pose-BPcIm7Xa.js`
- 当前公开站点前端资源 revision`assets/index-CYpJPG0R.js``assets/index-BHHHsAWc.css``assets/pose-C93FSit6.js`
- 已确认首页、主 JS、主 CSS 与 `pose` 模块均返回 `200`,且 MIME 分别为 `text/html``application/javascript``text/css``application/javascript`
- 真实浏览器验证已通过:登录 `H1` 后进入 `/live-camera`,能够完成校准、启用摄像头并点击“开始分析”;页面会进入“分析进行中”状态,默认显示“缓存 2 分钟”,且未再出现 `Pose` 模块解构异常