7a06ad52de
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m15s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m27s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m32s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m57s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m22s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 4m11s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m40s
AI Code Review / AI Code Review (pull_request) Successful in 6m42s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m44s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 14m36s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
根因分析: 1. 后端任务状态新增/历史脏值(pending/queued/unknown等)未在前端 normalizeTaskStatus映射中,fallback分支既不更新progress也不终止 轮询,导致视觉停在上一次progress(约56%) 2. 旧版轮询网络/5xx错误连续10次即终止,浏览器tab切后台被节流或 短暂网络抖动后永久停止轮询,用户看到的是停滞的旧progress 3. 浏览器后台tab的setTimeout被节流,切回前台时不会主动拉取最新状态, 必须等下一个定时器才能看到结果 4. 生成完成后需手动点击「下一步」,用户误以为仍在渲染 修复: - 新增normalizeTaskStatus兼容pending/queued/scheduled/processing/ rendering/unknown/complete/done等状态,pending阶段显示≤5%进度, unknown状态保持上次进度继续轮询 - 网络/5xx错误改为指数退避无限重试(最大15s间隔),连续5次错误弹 一次提示;4xx才终止(任务不存在/未授权) - visibilitychange监听:页面从后台切回立即触发一次poll,秒级看到最新状态 - unmount时useEffect cleanup兜底清理所有定时器和控制器 - 进度停滞探测(15s无变化自动缩短到3s再查),防后端最后progress回调丢失 - awaiting_cover阶段results接口write-after-read抖动:空结果补1.5s后再查 - 终态前强制onProgress(100),避免UI停在95% - 生成完成(单视频finalVideo就绪/批量全部完成且至少一个成功)后延迟800ms 自动跳转到Step5封面选择页,无需手动点下一步 验证:tsc/eslint/prettier/vite build全通过