Commit Graph

596 Commits

Author SHA1 Message Date
LingYing Agent af0216fd32 fix: CI lint/type fixes
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 / PR Build API Image (pull_request) Successful in 53s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m11s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m27s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m36s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m46s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m8s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 2m25s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m50s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 3m28s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m45s
AI Code Review / AI Code Review (pull_request) Successful in 6m36s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 8m39s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 8m58s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Failing after 4s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 6m16s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 109h38m9s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 109h46m36s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 109h47m2s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 109h46m40s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 109h37m52s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 109h37m49s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 109h37m49s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 109h37m52s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 109h46m12s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 109h46m12s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 109h46m38s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 109h46m39s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 109h46m46s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 109h46m46s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 109h46m52s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 110h21m22s
- Fix unused variable 'outputDuration' in ModalBRollEditor (ESLint)
- Fix CSS duplicate 'left'/'transform' in PanelLipsyncPreview (TS2783)
- Add script_text to LipsyncJob frontend type (TS2339)
- Fix ruff W605 invalid escape sequences in lipsync_tts.py
- Apply black formatting to lipsync_tts.py and video_filter_builder.py
- Align default font_size (28) between frontend and backend
2026-09-12 01:36:33 +08:00
LingYing Agent 79e6bd52b8 fix(ai-avatar): 端到端一致性修复(标题/封面/B-roll位置/B-roll时长)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 57s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 50s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m41s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m6s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 2m16s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 109h59m25s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 109h59m42s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 109h59m30s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 109h59m31s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 109h59m8s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 109h59m25s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 109h59m25s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 109h59m31s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 109h59m38s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 109h59m9s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 109h59m18s
修复5个问题:

1. 最终视频标题一致性
   - 后端 drawtext 默认 font_size 从 36 改为 28(对齐前端 DEFAULT_TITLE_CONFIG.size)
   - 后端 drawtext 默认 position 从 'top' 改为 'bottom'(对齐前端默认值)
   - 前端 contract.ts font_size fallback 从 36 改为 28

2. 封面与视频一致性
   - 渲染完成后自动用 output_cover_url 更新前端封面配置
   - 前端封面标题预览 fontSize 改用 size*0.55 缩放(与对口型预览对齐)
   - 封面默认阴影改为 none(与后端 drawtext 无 shadow 行为对齐)

3. B-roll 位置一致性
   - ModalBRollEditor 使用 lipsyncJob.script_text(TTS 时锁定的文案)
     而非 state.scriptText(用户可能已修改的文案)

4. B-roll 时长精确化
   - 后端 lipsync_tts.py 新增 _compute_sentence_timings():
     TTS 音频用 ffmpeg silencedetect 检测静音点,与句子边界对齐
   - 新增 sentence_timings JSON 字段到 LipsyncJobModel + Alembic migration
   - 前端 sentences.ts 不再做字数比例估算,改为接收后端精确时间戳
   - ModalBRollEditor 接收 sentenceTimings prop

5. 标题拖拽位置修复
   - PanelLipsyncPreview 拖拽标题发送百分比坐标(0-100) + position:'custom'
   - 后端 build_title_drawtext_filter 的 custom 位置改用 drawtext 表达式
     x=(w-text_w)*{pct_x} y=(h-text_h)*{pct_y}(百分比,与视频尺寸解耦)

文件变更:
- apps/api/app/tasks/lipsync_tts.py: 句子时间戳计算
- apps/api/app/schemas/lipsync.py: sentence_timings 字段
- packages/adapters/sqlalchemy_impl/models.py: sentence_timings 列
- packages/domain/video_filter_builder.py: 百分比坐标 + 默认值对齐
- alembic/versions/075_add_sentence_timings.py: 数据库迁移
- apps/web/src/pages/ai-avatar/types.ts: SentenceTiming + RenderJob.output_cover_url
- apps/web/src/pages/ai-avatar/utils/sentences.ts: 移除字数估算
- apps/web/src/pages/ai-avatar/utils/contract.ts: font_size 默认值
- apps/web/src/pages/ai-avatar/components/PanelLipsyncPreview.tsx: 拖拽百分比
- apps/web/src/pages/ai-avatar/components/PanelCoverAndGenerate.tsx: 标题缩放
- apps/web/src/pages/ai-avatar/components/ModalBRollEditor.tsx: 后端时间戳
- apps/web/src/pages/ai-avatar/AiAvatarPage.tsx: 封面更新 + 传参
- tests/unit/test_video_filter_builder.py: 测试更新
2026-09-12 01:23:22 +08:00
CI Bot a7067c8171 style: auto-format with black + isort + ruff + prettier [skip ci-format-check]
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 32s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 33s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m48s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m42s
AI Code Review / AI Code Review (pull_request) Successful in 6m37s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 7m55s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 8m12s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 8m22s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 10m50s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 11m0s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 5s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 2m55s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 28m58s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Failing after 111h34m7s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 112h3m9s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 112h2m53s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 112h2m53s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 112h2m54s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 111h33m54s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 112h2m42s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 112h2m47s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 112h2m47s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 112h2m52s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 112h2m53s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 112h2m37s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 111h33m50s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 111h33m54s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 111h33m54s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 112h2m35s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 112h2m53s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 112h2m56s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 112h37m58s
2026-09-11 15:20:35 +00:00
LingYing Agent 32c3d2f263 fix(ai-avatar): 全盘修复 FFmpeg 渲染滤镜链路(exit 234 P0)
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 / PR Build Worker Image (pull_request) Successful in 27s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m43s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m55s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m44s
AI Code Review / AI Code Review (pull_request) Successful in 6m34s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 8m17s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 8m45s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 112h13m34s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 112h13m49s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 112h13m21s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 112h13m26s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 112h13m27s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 112h13m27s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 112h13m32s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 112h13m32s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 112h13m16s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 112h13m15s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 112h13m32s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 112h13m33s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 112h13m36s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 112h48m43s
根因分析(退出码 234 = Invalid argument):
1) drawtext 使用了无效参数 font=bold,导致整个 filter_complex 解析失败
   —— FFmpeg drawtext 没有 bold 参数;改为通过 borderw 模拟粗体视觉效果
2) DRAWTEXT_FONT_SEARCH_PATHS 未包含 Dockerfile 中 COPY 的
   NotoSansSC-VF.ttf 路径,且把不支持中文的 DejaVuSans 放在 fallback 首位,
   导致字体 fallback 到拉丁字体,中文渲染乱码/方框
3) build_broll_overlay_filter 硬编码 1280:720 横屏尺寸,AI 数字人是 9:16 竖屏
4) B-roll PIP 输入索引错误(用 len(sorted_segments) 而非原始下标映射),
   PIP 标签链断裂([pip0]→[vout0] 而非 [vout])
5) 渲染命令缺 -map 0:a?,合成后音频丢失
6) 标题滤镜与 B-roll 输出标签拼接用分号有缺陷,末尾分号处理偶发问题

修复内容(packages/domain/video_filter_builder.py):
- DRAWTEXT_FONT_SEARCH_PATHS: VF 字体置顶、移除 DejaVuSans、加 Bold.ttc 路径
- DRAWTEXT_FONT_MAP: 思源黑体等关键字改为 NotoSansSC(匹配 VF 文件名)
- 删除 font=bold 无效参数;bold 无显式描边时自动用 borderw=3+同色描边模拟粗体
- build_broll_overlay_filter 返回 (filter_str, final_label) 元组,解决标签问题
- 重写 fullscreen/PIP 拆分:原始列表下标决定 -i 输入序号,sorted 只用于时序处理
- PIP overlay 正确基于 fullscreen 输出([vout_fs])或主视频([0:v])链接
- output_width/output_height 贯穿所有 scale/pad/overlay,默认 1280x720 兼容旧调用

修复内容(apps/api/app/services/ai_avatar_render_service.py):
- 新增 _probe_video_resolution() 用 ffprobe 探测输入视频实际分辨率
- AI 数字人默认竖屏 720x1280,探测失败兜底不阻断渲染
- build_broll_overlay_filter 调用传实际 output_width/output_height
- 标题滤镜传实际尺寸,保证位置/坐标计算正确
- filter_complex 拼接重写:broll+title/broll-only/title-only/无滤镜四分支清晰
- _build_ffmpeg_command 补 -map 0:a? + -c:a aac,音频不再丢失
- 清理冗余内联 import

测试:
- 更新 test_ai_avatar_render_routes.py / test_video_filter_builder.py 适配新元组签名
- 新增 test_bold_true_does_not_use_font_bold_param 防回归
- 本地 ffmpeg 实测中文标题+B-roll+竖屏720x1280合成成功
- 相关 3524 个单测全通过
2026-09-11 23:09:22 +08:00
xiaoxia 7198cfe980 Merge pull request 'fix(ai-avatar, P0): 数字人成片入库兜底project_id + 封面抽帧加速 + cv2依赖' (#1864) from fix/ai-avatar-generated-video-and-cover-speed into develop
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 7s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 20s
CI/CD Pipeline / Build Staging API Image (push) Successful in 24s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 23s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m43s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m32s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m52s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m54s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m2s
CI/CD Pipeline / Integration Tests (push) Successful in 8m35s
CI/CD Pipeline / Validate - Style (push) Successful in 9m15s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 11m32s
CI/CD Pipeline / Unit Tests (push) Successful in 14m10s
CI/CD Pipeline / Validate - Security (push) Successful in 31m22s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
API Base Image Build / Build API Base Image (push) Successful in 58m15s
Worker Base Image Build / Build Worker Base Image (push) Successful in 1h11m23s
CI/CD Pipeline / Deploy Production (push) Failing after 114h45m20s
CI/CD Pipeline / Build Production Web Image (push) Failing after 114h45m24s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 115h16m13s
CI/CD Pipeline / Frontend Lint (push) Failing after 115h16m47s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 115h16m29s
CI/CD Pipeline / PR Build API Image (push) Failing after 115h16m30s
CI/CD Pipeline / Build Production API Image (push) Failing after 114h45m7s
CI/CD Pipeline / CI Gate (push) Failing after 114h45m7s
CI/CD Pipeline / Canary Release to Production (push) Failing after 114h45m3s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 114h45m7s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 115h15m56s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 115h15m57s
CI/CD Pipeline / PR Build Web Image (push) Failing after 115h16m29s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 115h16m36s
P0: AI数字人视频不入成品库+封面抽帧加速 (#1864)

- GeneratedVideo.create() 允许 project_id/generation_task_id 为空字符串,支持 AI数字人无项目场景
- ai_avatar_render_service: project_id空兜底ai_avatar, generation_task_id空兜底job.id; except升error+exc_info
- 封面抽帧轮询 poll_interval=1s × max_attempts=15 → 最长15s(原60s)
- requirements.txt 追加 numpy==1.26.4 + opencv-python-headless==4.10.0.84,恢复cv2帧评分能力
- 单测适配:允许空project_id、poll参数更新、cv2评分阈值+patch方式调整
2026-09-11 20:06:57 +08:00
xiaoying-agent baed0c6431 fix(ai-avatar, P0): 数字人成片入库兜底project_id + 封面抽帧加速 + cv2依赖
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 2s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 22s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 56s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 55s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m45s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m50s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 3m12s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m26s
AI Code Review / AI Code Review (pull_request) Successful in 6m25s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 8m4s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 9m55s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Failing after 1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 7m15s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 116h36m32s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 116h36m38s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 116h36m39s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 116h26m25s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 116h26m25s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 116h36m21s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 116h36m21s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 116h36m23s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 116h36m23s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 116h36m24s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 116h36m9s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 116h26m25s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 116h26m25s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 116h36m10s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 116h36m11s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 116h26m25s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 116h36m17s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 116h36m18s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 117h11m28s
P0 Bug:AI数字人视频渲染成功但成片库看不到
- packages/domain/generated_video.py: GeneratedVideo.create 去掉 project_id/generation_task_id 非空必填校验(AI数字人无项目概念,project_id为空;lipsync路径下task_id也可能为空),name/file_url仍强制非空
- apps/api/app/services/ai_avatar_render_service.py: 第7步保存成片时,project_id为空兜底为'ai_avatar',generation_task_id为空兜底为job.id;except块日志从logger.warning改为logger.error+exc_info=True,避免异常被吞

优化:封面抽帧加速(解决60s超时)
- apps/api/app/services/ai_avatar_cover_service.py: COVER_POLL_INTERVAL 3s→1s,COVER_MAX_POLL_ATTEMPTS 20→15(最长15s,之前60s);max_frames默认已是5
- requirements.txt: 加 numpy==1.26.4 + opencv-python-headless==4.10.0.84(cover_frame_scorer 用cv2做清晰度/亮度/色彩评分,API镜像之前缺cv2只能回退默认分50.0)

测试适配:
- 4处GeneratedVideo单测:从期望ValueError改为允许空串/空白归一化
- test_ai_avatar_emotion_tts_lipsync.py: poll_interval断言1.0,max_poll_attempts断言15
2026-09-11 18:45:21 +08:00
xiaoxia 3c817a2ffe fix(ai-avatar): 素材预览不叠加标题 + 封面接口传title_config + 渲染后封面避免双标题
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 4s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 33s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 33s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m14s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m32s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m56s
AI Code Review / AI Code Review (pull_request) Successful in 6m37s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Failing after 10m16s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m18s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m20s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m22s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m42s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 1m49s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m36s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 6m39s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 55s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m11s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 116h37m5s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 116h53m41s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 116h53m52s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 116h53m31s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 116h53m31s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 116h53m31s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 116h53m36s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 116h53m37s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 116h53m42s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 116h36m49s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 116h53m22s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 116h53m22s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 116h43m28s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 116h36m48s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 116h36m48s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 116h36m49s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 116h53m22s
1. PanelVideoSelector: 移除素材视频上的标题叠加预览,标题只在对口型预览和最终成片上展示
2. generateSmartCover API: 传入title_config参数,让后端在对口型视频帧上用drawtext叠加标题
3. AiAvatarPage: 调用generateSmartCover时传入state.titleConfig;移除传给PanelVideoSelector的titleConfig prop
4. ai_avatar_render_service: 渲染完成后自动抽封面时不传title_config,避免最终视频已有标题再叠加导致双重标题
2026-09-11 18:29:23 +08:00
CI Bot 1b76821307 style: auto-format with black + isort + ruff + prettier [skip ci-format-check]
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 3s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 29s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 30s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 1m6s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m14s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m35s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m41s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m52s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 6m24s
AI Code Review / AI Code Review (pull_request) Successful in 6m29s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 7m39s
CI/CD Pipeline / CI Gate (pull_request) Failing after 4s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m58s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 120h48m47s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 120h56m27s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 120h56m32s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 120h56m20s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 120h56m11s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 120h56m13s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 120h56m17s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 120h56m17s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 120h56m18s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 120h48m31s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 120h48m31s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 120h56m3s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 120h48m28s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 120h48m28s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 120h56m4s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 120h56m8s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 120h56m11s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 120h56m11s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 121h31m19s
2026-09-11 06:27:13 +00:00
xiaoxia-agent 2c76d55d2b fix(ai-avatar, P0): FFmpeg命令改为subprocess list形式修复32512 + Celery异常raise + 投递失败写DB + 封面drawtext标题 + TTS audio/x-wav白名单
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 2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 29s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 28s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m19s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m29s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m47s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 120h58m53s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 120h58m55s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 120h58m57s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 120h58m39s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 120h58m40s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 120h58m41s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 120h58m41s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 120h58m41s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 120h58m42s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 120h58m47s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 120h58m35s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 120h58m43s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 120h58m35s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 120h58m43s
P0:
- ai_avatar_render_service._build_ffmpeg_command返回list, subprocess.run(shell=False)
  修复OSS预签名URL含&被sh解释为命令分隔符导致exit 127(32512)
- cover_extract命令同步改为list+subprocess.run, 超时60s, 非致命失败
- execute_render两个except块末尾加raise, 确保Celery标记任务FAILURE而非SUCCESS
- ffmpeg stderr写入error_message末尾800字符, 前端可见具体错误
- routes两处delay()异常: job.status=failed + error_message='任务提交失败:...' + db.commit
- lipsync_tts.safe_download_bytes白名单补audio/x-wav(CosyVoice可能返回该MIME)

P1:
- ai_avatar_cover_service新增apply_title_to_cover: ffmpeg drawtext叠加标题
  竖屏封面720x1280, 失败回退无标题原始帧
- generate_smart_cover/persist_cover_to_oss新增title_config参数
- SmartCoverRequest schema新增可选title_config字段
- smart-cover接口透传body.title_config; execute_render管线透传job.title_config

仅修改5个后端文件, 不改其他功能.
2026-09-11 14:22:45 +08:00
xiaoxia 76cdb15c6b fix(lipsync, P0): Worker运行时ModuleNotFoundError导致任务卡在tts_processing (#1854)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 4s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 26s
CI/CD Pipeline / Build Staging API Image (push) Successful in 28s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m27s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m47s
CI/CD Pipeline / Integration Tests (push) Successful in 1m58s
CI/CD Pipeline / Validate - Style (push) Successful in 2m32s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 2m0s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 4m47s
CI/CD Pipeline / Validate - Security (push) Successful in 5m40s
CI/CD Pipeline / Unit Tests (push) Successful in 7m43s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / CI Gate (push) Failing after 125h23m57s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 125h30m8s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 125h31m43s
CI/CD Pipeline / PR Build Web Image (push) Failing after 125h31m29s
CI/CD Pipeline / PR Build API Image (push) Failing after 125h31m30s
CI/CD Pipeline / Deploy Production (push) Failing after 125h23m40s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 125h23m43s
CI/CD Pipeline / Build Production API Image (push) Failing after 125h23m43s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 125h27m48s
CI/CD Pipeline / Build Production Web Image (push) Failing after 125h23m43s
CI/CD Pipeline / Canary Release to Production (push) Failing after 125h23m40s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 125h27m48s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 125h29m53s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 125h29m54s
CI/CD Pipeline / Frontend Lint (push) Failing after 125h31m24s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 125h31m31s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 126h2m55s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-11 09:52:05 +08:00
xiaoxia a582d3b4dc fix(lipsync, P0): Worker imports路径修复,任务卡在tts_processing (#1852)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 12s
CI/CD Pipeline / Build Staging API Image (push) Successful in 19s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 24s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m28s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m49s
CI/CD Pipeline / Integration Tests (push) Successful in 1m51s
CI/CD Pipeline / Validate - Style (push) Successful in 2m34s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m33s
CI/CD Pipeline / Validate - Security (push) Successful in 4m23s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m3s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m43s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m45s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m43s
CI/CD Pipeline / Unit Tests (push) Successful in 8m4s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / CI Gate (push) Failing after 127h10m30s
CI/CD Pipeline / Build Production API Image (push) Failing after 127h10m30s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 127h18m37s
CI/CD Pipeline / Deploy Production (push) Failing after 127h10m13s
CI/CD Pipeline / PR Build Web Image (push) Failing after 127h18m24s
CI/CD Pipeline / PR Build API Image (push) Failing after 127h18m24s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 127h16m38s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 127h16m41s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 127h10m17s
CI/CD Pipeline / Build Production Web Image (push) Failing after 127h10m17s
CI/CD Pipeline / Canary Release to Production (push) Failing after 127h10m13s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 127h16m40s
CI/CD Pipeline / Frontend Lint (push) Failing after 127h18m22s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 127h18m26s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-11 08:05:11 +08:00
xiaoxia 0ad33d429d fix(lipsync, P0): TTS异步任务改用@shared_task,解决Worker不注册任务导致卡tts_processing (#1851)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 7s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 18s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 19s
CI/CD Pipeline / Build Staging API Image (push) Successful in 59s
CI/CD Pipeline / Integration Tests (push) Successful in 1m11s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m55s
CI/CD Pipeline / Validate - Style (push) Successful in 2m1s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m2s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m36s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m4s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 3m24s
CI/CD Pipeline / Validate - Security (push) Successful in 6m2s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m54s
CI/CD Pipeline / Unit Tests (push) Successful in 8m3s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Build Production Worker Image (push) Failing after 134h8m33s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 134h15m27s
CI/CD Pipeline / PR Build API Image (push) Failing after 134h16m40s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 134h16m28s
CI/CD Pipeline / PR Build Web Image (push) Failing after 134h16m28s
CI/CD Pipeline / Deploy Production (push) Failing after 134h8m17s
CI/CD Pipeline / Build Production Web Image (push) Failing after 134h8m21s
CI/CD Pipeline / CI Gate (push) Failing after 134h8m21s
CI/CD Pipeline / Build Production API Image (push) Failing after 134h8m21s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 134h15m15s
CI/CD Pipeline / Frontend Lint (push) Failing after 134h16m23s
CI/CD Pipeline / Canary Release to Production (push) Failing after 134h8m17s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 134h15m16s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 134h16m29s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-11 01:07:09 +08:00
xiaoxia 9ea014c39b fix(lipsync-tts): 修正 celery_app 导入路径,修复 staging api 启动阻断 (#1848)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 19s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 11s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 17s
CI/CD Pipeline / Build Staging API Image (push) Successful in 56s
CI/CD Pipeline / Integration Tests (push) Successful in 1m39s
CI/CD Pipeline / Validate - Style (push) Successful in 2m28s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 2m34s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 5m18s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m15s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m24s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m59s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m22s
CI/CD Pipeline / Unit Tests (push) Successful in 8m20s
CI/CD Pipeline / Validate - Security (push) Successful in 26m42s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Failing after 137h37m22s
CI/CD Pipeline / PR Build Web Image (push) Failing after 138h4m6s
CI/CD Pipeline / PR Build API Image (push) Failing after 138h3m56s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 138h2m31s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 138h2m31s
CI/CD Pipeline / CI Gate (push) Failing after 137h37m13s
CI/CD Pipeline / Build Production Web Image (push) Failing after 137h37m13s
CI/CD Pipeline / Build Production API Image (push) Failing after 137h37m13s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 138h3m53s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 138h3m57s
CI/CD Pipeline / Canary Release to Production (push) Failing after 137h37m9s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 137h37m13s
CI/CD Pipeline / Frontend Lint (push) Failing after 138h3m54s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 138h37m36s
2026-09-10 21:19:41 +08:00
xiaoxia f73837c7b4 feat: AI数字人对口型视频生成速度优化 - FFmpeg编码提速 + TTS合成异步化 (#1844)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 11s
CI/CD Pipeline / Build Staging API Image (push) Successful in 26s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 28s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m21s
CI/CD Pipeline / Integration Tests (push) Successful in 2m3s
CI/CD Pipeline / Validate - Style (push) Successful in 2m44s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 3m33s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 4m15s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 6m40s
CI/CD Pipeline / Unit Tests (push) Successful in 9m28s
CI/CD Pipeline / Validate - Security (push) Successful in 22m56s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 139h17m40s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 139h17m41s
CI/CD Pipeline / Deploy Production (push) Failing after 139h17m40s
CI/CD Pipeline / Build Production Web Image (push) Failing after 139h17m41s
CI/CD Pipeline / Build Production API Image (push) Failing after 139h17m41s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 139h34m32s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 139h34m34s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 139h34m32s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 139h38m57s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 139h38m57s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 139h38m58s
CI/CD Pipeline / PR Build Web Image (push) Failing after 139h40m33s
CI/CD Pipeline / PR Build API Image (push) Failing after 139h40m33s
CI/CD Pipeline / Frontend Lint (push) Failing after 139h40m34s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 139h40m40s
CI/CD Pipeline / CI Gate (push) Failing after 139h52m33s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 140h15m26s
2026-09-10 19:43:08 +08:00
CI Bot bcaf1d967a style: auto-format with black + isort + prettier [skip ci-format-check] 2026-09-10 18:23:03 +08:00
xiaoxia dc12c62190 feat(ai-avatar): 渲染完成后自动保存成片记录到成片库
- 在 execute_render 方法的 job.status=completed 之后,自动创建 GeneratedVideo 记录
- 复用现有 GeneratedVideo 模型和 SQLAlchemyGeneratedVideoRepository
- 成片记录包含:视频URL、封面URL、时长、用户ID、项目ID
- 生成参数中记录来源(render_job_id)以便追溯
- 创建失败时仅打 warning 日志,不影响渲染任务状态
2026-09-10 18:23:03 +08:00
xiaoxia 4a2140cd8b Merge pull request 'fix: 清理22个F841 unused-variable,解除CI Validate-Style阻塞' (#1842) from fix/f841-unused-variables into develop
CI/CD Pipeline / Check push changed paths (push) Successful in 12s
CI/CD Pipeline / Build Staging API Image (push) Successful in 17s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 20s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 42s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m32s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m34s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m33s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m29s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Failing after 14m35s
CI/CD Pipeline / Integration Tests (push) Successful in 1m48s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m55s
CI/CD Pipeline / Validate - Style (push) Successful in 2m25s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 4m55s
CI/CD Pipeline / Validate - Security (push) Successful in 6m46s
CI/CD Pipeline / Unit Tests (push) Successful in 7m58s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Failing after 140h59m33s
CI/CD Pipeline / Canary Release to Production (push) Failing after 140h59m33s
CI/CD Pipeline / CI Gate (push) Failing after 140h59m36s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 140h59m36s
CI/CD Pipeline / Build Production API Image (push) Failing after 140h59m37s
CI/CD Pipeline / Build Production Web Image (push) Failing after 140h59m36s
CI/CD Pipeline / Frontend Lint (push) Failing after 141h7m36s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 141h21m13s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 141h21m13s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 141h22m6s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 141h22m15s
CI/CD Pipeline / PR Build Web Image (push) Failing after 141h22m7s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 141h56m3s
CI/CD Pipeline / PR Build API Image (push) Failing after 141h56m58s
2026-09-10 18:01:33 +08:00
xiaoxia a526a28865 fix(ai-avatar): 修复智能封面502 - cover_service视频URL重签+轮询扩容+连接池+路由异常兜底 (#1843)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 12s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m25s
CI/CD Pipeline / Build Staging API Image (push) Successful in 29s
CI/CD Pipeline / Integration Tests (push) Successful in 2m5s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 51s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 24s
CI/CD Pipeline / Validate - Style (push) Failing after 3m1s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m14s
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 141h24m26s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 141h24m27s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 141h24m27s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 141h27m8s
CI/CD Pipeline / PR Build Web Image (push) Failing after 141h27m8s
CI/CD Pipeline / Frontend Lint (push) Failing after 141h27m8s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 141h27m34s
CI/CD Pipeline / PR Build API Image (push) Failing after 142h1m58s
2026-09-10 17:55:41 +08:00
xiaoxia ff833ce7e0 fix: 清理22个F841 unused-variable,解除CI Validate-Style阻塞
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 / PR Build API Image (pull_request) Successful in 30s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 29s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 1m6s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 1m8s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m30s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m50s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m1s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m59s
AI Code Review / AI Code Review (pull_request) Successful in 6m20s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 7m23s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Failing after 3s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m33s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 41s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 37s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 141h35m52s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 141h35m52s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 141h35m56s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 141h35m56s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 141h42m58s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 141h42m59s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 141h43m4s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 141h43m9s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 141h43m14s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 141h43m16s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 141h43m17s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 141h43m18s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 141h43m22s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 141h43m19s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 142h10m45s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 142h17m47s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 142h17m58s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 142h18m6s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 142h18m8s
全部为 except Exception as e: 中变量e未使用的模式,
ruff自动修复将 e: 改为 :。不涉及任何业务逻辑变更。
2026-09-10 17:39:08 +08:00
灵应 bf6d02f26f fix(ai-avatar): 标题分行/封面签名URL/渲染b_roll结构对齐后端
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 2s
CI/CD Pipeline / Build Staging API Image (push) Successful in 26s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 27s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m5s
CI/CD Pipeline / Integration Tests (push) Successful in 1m11s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m57s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m14s
CI/CD Pipeline / Validate - Style (push) Failing after 2m36s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m47s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m53s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 4m36s
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 143h49m9s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 143h49m10s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 143h50m18s
CI/CD Pipeline / PR Build API Image (push) Failing after 143h50m19s
CI/CD Pipeline / Frontend Lint (push) Failing after 143h50m19s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 143h50m23s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 144h23m57s
CI/CD Pipeline / PR Build Web Image (push) Failing after 144h25m6s
1. 标题 / 分行: 对齐智能剪辑 FrontendPreviewPlayer 的 split(/[//]/) 逻辑,/ 和 / 都会分行
2. 封面签名URL: 私有桶 OSS upload 后必须 get_download_url 签名,否则前端无法加载
3. 渲染 b_roll_segments 结构: 前端 {asset: AssetItem} 转后端 {asset_url: string},对齐 BRollSegment schema
4. #1821 对口型加速工单已关闭(收益有限,MediaKit GPU 排队是主要瓶颈)
2026-09-10 15:33:33 +08:00
CI Test 6b925a6f4d fix(#1830): 改进异常处理 - 缩小异常类型并添加日志记录
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 3s
CI/CD Pipeline / Check push changed paths (push) Successful in 20s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 14s
CI/CD Pipeline / Build Staging API Image (push) Successful in 17s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 19s
CI/CD Pipeline / Integration Tests (push) Successful in 1m11s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m41s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m25s
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 145h38m14s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 145h38m16s
CI/CD Pipeline / Frontend Lint (push) Failing after 145h38m56s
CI/CD Pipeline / PR Build Web Image (push) Failing after 145h39m0s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 145h38m59s
CI/CD Pipeline / PR Build API Image (push) Failing after 145h39m1s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 145h39m2s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 146h13m1s
2026-09-10 13:44:51 +08:00
xiaoxia 6c77b066de fix(lipsync): 私有桶 OSS 媒体 URL 重签修复对口型 403 (#1839) (#1837)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 7s
CI/CD Pipeline / Build Staging API Image (push) Successful in 13s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 14s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 19s
CI/CD Pipeline / Integration Tests (push) Successful in 1m22s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m10s
CI/CD Pipeline / Validate - Style (push) Successful in 1m55s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m32s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m35s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 3m43s
CI/CD Pipeline / Validate - Security (push) Successful in 5m3s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m19s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m10s
CI/CD Pipeline / Unit Tests (push) Successful in 7m49s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 146h10m29s
CI/CD Pipeline / CI Gate (push) Failing after 146h10m33s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 146h10m33s
CI/CD Pipeline / Build Production Web Image (push) Failing after 146h10m33s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 146h17m57s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 146h17m57s
CI/CD Pipeline / Frontend Lint (push) Failing after 146h18m24s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 146h18m28s
CI/CD Pipeline / PR Build Web Image (push) Failing after 146h18m28s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 146h18m29s
CI/CD Pipeline / Deploy Production (push) Failing after 146h45m16s
CI/CD Pipeline / Build Production API Image (push) Failing after 146h45m21s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 146h52m44s
CI/CD Pipeline / PR Build API Image (push) Failing after 146h53m15s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-10 13:05:28 +08:00
CI Bot 4efa71ec36 merge: 合并 develop 解决 AI数字人冲突(v3新契约 + develop增强 双保留)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 0s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 47s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 48s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m0s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m50s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m9s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m9s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m20s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 2m50s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m37s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m26s
AI Code Review / AI Code Review (pull_request) Successful in 6m36s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 7m8s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m32s
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 160h21m6s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 160h21m8s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 160h21m12s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 160h21m17s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 160h21m17s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 160h21m22s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 160h21m22s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 160h21m29s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 160h55m53s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 160h56m3s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 160h56m8s
前端7文件(基于 v3 契约为主干融合 develop 增强,#1828口径):
- 对口型模式A: video_url+voice_id+script_text+speed+emotion(英文枚举,禁传video_asset_id)
- title_config 按 build_title_drawtext_filter 真实字段映射(text/font_size/font_color/position默认bottom/enabled/bold/stroke/shadow), 不传 titles[]/fontSize/frame
- 智能封面 POST /ai-avatar/render/smart-cover; 语速情绪全链路透传
- 保留 develop: MediaKit中间状态/非阻塞轮询(running中间态)/标题TextArea实时预览+标题库(TitleLibraryModal)
后端4文件取 backend/ai-avatar-merge-1827(0e994072) 已解版本(双模式/TTS直生/emotion透传/中间状态)
tsc ai-avatar 零错误, prettier 全合规
2026-09-09 23:02:15 +08:00
CI Bot 7adcf28b76 style: auto-format with black + isort + prettier [skip ci-format-check]
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 42s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 41s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 43s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 1m41s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m53s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m56s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m56s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m59s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m57s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m8s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 6m27s
AI Code Review / AI Code Review (pull_request) Successful in 6m40s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m35s
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 163h11m20s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 163h11m20s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 163h11m25s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 163h11m30s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 163h11m31s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 163h12m30s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 163h12m33s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 163h12m31s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 163h46m7s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 163h46m17s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 163h47m18s
2026-09-09 12:11:22 +00:00
xiaoxia 4d09bd630e fix(ai-avatar): 契约文档标题字段纠正 + script_id 改为可选
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m37s
AI Code Review / AI Code Review (pull_request) Successful in 6m25s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 163h26m18s
- 文档 §5/§6:标题是单个 title_config dict(非 titles[] 数组),字段以
  build_title_drawtext_filter() 为准:text/content、font_size/size、
  font_color/color、position(top/center/bottom/custom)、pos_x/pos_y、bold、
  stroke、shadow、enabled;删除不存在的 titles[]/fontSize/frame/start/end 描述
- script_id 改为可选:手动输入文案/TTS 直生场景不关联文案库条目,留空不校验,
  避免手动文案用户被 ScriptNotFound 卡住;选了文案库时仍做归属校验
- 迁移 074:ai_avatar_render_jobs.script_id 默认空串
- 新增 schema 单测(script_id 空/空白/title_config 单 dict),94 测试全绿

Refs #1797 #1826
2026-09-09 19:55:01 +08:00
xiaoxia a27ed596b4 feat(ai-avatar): TTS直生对口型 + 语速/情绪透传 + MediaKit智能封面 + 契约文档
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m52s
AI Code Review / AI Code Review (pull_request) Successful in 6m37s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 164h7m21s
- 对口型支持 TTS 直生模式:POST /lipsync/jobs 传 voice_id+script_text(+speed/emotion),
  后端内部调 CosyVoice 合成音频→转存OSS→提交 MediaKit;保留 audio_url 直接音频模式
- cosyvoice_service: 新增 emotion 参数 + normalize_emotion(中文 自然/兴奋/沉稳/亲切
  映射 natural/excited/calm/friendly),空值不透传
- TTS 链路 speed/emotion 全链路透传:schema→use_case(metadata)→workflow(单段/分段/重合成)
  →submit_synthesize_task(rate/emotion);preview 即时试听同步
- lipsync refresh: 中间状态(running/processing)同步DB;completed 输出视频转存自家OSS防过期
- 修复 lipsync/ai-avatar 路由 current_user.id → current_user.user.id(AuthenticatedUser 无 .id)
- 新增 POST /ai-avatar/render/smart-cover 独立封面接口:复用 MediaKit extract_frames
  + cover_frame_scorer 评分选最佳帧(非 FFmpeg 首帧),渲染管线封面同样优先智能选帧
- 迁移 073: lipsync_jobs 增加 voice_id/script_text/speed/emotion 列,audio_url 改可空
- docs/ai-avatar-api-contract-1822.md: 前后端接口契约 + title_config 字段清单
- 新增 11 个单测(情绪归一化/payload透传/TTS直生/中间状态/智能封面),相关 82 测试全绿

Refs #1797 #1822
2026-09-09 19:13:03 +08:00
CI Bot 8467f3fa94 fix: 修复 PanelTitleConfig.tsx 重复return语法错误 + lipsync.py B904 ruff告警
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 0s
CI/CD Pipeline / Check push changed paths (push) Successful in 3s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 27s
CI/CD Pipeline / Build Staging API Image (push) Successful in 35s
CI/CD Pipeline / Integration Tests (push) Successful in 1m57s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 2m12s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m26s
CI/CD Pipeline / Validate - Style (push) Successful in 2m33s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 1m49s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m18s
CI/CD Pipeline / Unit Tests (push) Successful in 8m9s
CI/CD Pipeline / Validate - Security (push) Successful in 9m24s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 166h6m38s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 166h11m56s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 166h11m56s
CI/CD Pipeline / Deploy Production (push) Failing after 166h6m38s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 166h13m49s
CI/CD Pipeline / CI Gate (push) Failing after 166h6m42s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 166h13m49s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 166h6m42s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 166h16m10s
CI/CD Pipeline / Build Production Web Image (push) Failing after 166h6m42s
CI/CD Pipeline / Build Production API Image (push) Failing after 166h6m42s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 166h16m5s
CI/CD Pipeline / PR Build Web Image (push) Failing after 166h16m5s
CI/CD Pipeline / PR Build API Image (push) Failing after 166h16m5s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 166h46m42s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 166h48m36s
CI/CD Pipeline / Frontend Lint (push) Failing after 166h50m53s
2026-09-09 17:07:50 +08:00
saas-backend-agent 54deb9b549 fix: MediaKit 中间状态(running/processing)同步到 DB,不再卡在 submitted
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 2s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 16s
CI/CD Pipeline / Build Staging API Image (push) Successful in 17s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 21s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 53s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m3s
CI/CD Pipeline / Integration Tests (push) Successful in 1m35s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m38s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m46s
CI/CD Pipeline / Validate - Style (push) Failing after 3m41s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m28s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m30s
CI/CD Pipeline / Unit Tests (push) Successful in 8m25s
CI/CD Pipeline / Validate - Security (push) Successful in 8m58s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 167h50m51s
CI/CD Pipeline / Build Production Web Image (push) Failing after 167h50m54s
CI/CD Pipeline / Build Production API Image (push) Failing after 167h50m55s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 167h59m23s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 167h59m24s
CI/CD Pipeline / PR Build Web Image (push) Failing after 167h59m48s
CI/CD Pipeline / PR Build API Image (push) Failing after 167h59m48s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 167h59m54s
CI/CD Pipeline / Deploy Production (push) Failing after 167h50m51s
CI/CD Pipeline / CI Gate (push) Failing after 167h50m54s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 168h25m40s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 168h34m9s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 168h34m34s
CI/CD Pipeline / Frontend Lint (push) Failing after 168h34m35s
2026-09-09 15:24:07 +08:00
saas-backend-agent 0c76967453 fix: GET /lipsync/jobs/{id} 加调试日志捕获 502 根因
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 9s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 15s
CI/CD Pipeline / Build Staging API Image (push) Successful in 18s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 21s
CI/CD Pipeline / Integration Tests (push) Successful in 1m10s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m8s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m7s
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 168h11m52s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 168h12m30s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 168h11m52s
CI/CD Pipeline / PR Build Web Image (push) Failing after 168h12m30s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 168h11m52s
CI/CD Pipeline / PR Build API Image (push) Failing after 168h12m30s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 168h12m31s
CI/CD Pipeline / Frontend Lint (push) Failing after 168h47m13s
2026-09-09 15:11:29 +08:00
saas-backend-agent 44f973c168 fix: GET /lipsync/jobs/{id} 改为非阻塞 — 先返回缓存,后台异步刷新
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 3s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 22s
CI/CD Pipeline / Build Staging API Image (push) Successful in 24s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 26s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m2s
CI/CD Pipeline / Integration Tests (push) Successful in 1m44s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m0s
CI/CD Pipeline / Validate - Style (push) Successful in 2m21s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m51s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m52s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 4m49s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m32s
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 168h24m34s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 168h24m34s
CI/CD Pipeline / Frontend Lint (push) Failing after 168h25m2s
CI/CD Pipeline / PR Build Web Image (push) Failing after 168h25m3s
CI/CD Pipeline / PR Build API Image (push) Failing after 168h25m6s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 168h25m7s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 168h59m20s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 168h59m49s
上次修复让 GET 同步调 MediaKit,MediaKit 偶尔慢 60s 直接拖死轮询。
改为 BackgroundTasks 异步刷新:响应立即返回 DB 缓存状态,
MediaKit 刷新在 response 发送后后台执行,不阻塞前端。
最坏情况:某次轮询拿到旧状态,3 秒后下次轮询拿到新状态。
2026-09-09 14:58:53 +08:00
saas-backend-agent a17726c963 fix: GET /lipsync/jobs/{id} 非终态自动刷新 MediaKit 状态
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 5s
CI/CD Pipeline / Build Staging API Image (push) Successful in 24s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 25s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m6s
CI/CD Pipeline / Integration Tests (push) Successful in 1m39s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m47s
CI/CD Pipeline / Validate - Style (push) Successful in 2m11s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 57s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m33s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m35s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 4m22s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m18s
CI/CD Pipeline / Validate - Security (push) Successful in 6m54s
CI/CD Pipeline / Unit Tests (push) Successful in 8m45s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 168h28m45s
CI/CD Pipeline / CI Gate (push) Failing after 168h28m50s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 168h28m50s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 168h36m26s
CI/CD Pipeline / Build Production Web Image (push) Failing after 168h28m50s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 168h36m26s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 168h37m36s
CI/CD Pipeline / PR Build Web Image (push) Failing after 168h37m36s
CI/CD Pipeline / Frontend Lint (push) Failing after 168h37m36s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 168h37m41s
CI/CD Pipeline / Deploy Production (push) Failing after 169h3m31s
CI/CD Pipeline / Build Production API Image (push) Failing after 169h3m37s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 169h11m12s
CI/CD Pipeline / PR Build API Image (push) Failing after 169h12m22s
根因:前端轮询用 GET 接口查状态,但 GET 只读 DB 不刷新,
导致任务提交后 status 一直是 submitted,前端永远等不到 completed。

修复:GET 端点对非终态任务(pending/submitted/processing)自动
调用 refresh_job_status 从 MediaKit 拉最新状态,前端轮询即触发。
2026-09-09 14:46:19 +08:00
saas-backend-agent 6601b8facb fix: lipsync/ai-avatar 路由 current_user.id → current_user.user.id
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 6s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 18s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m2s
CI/CD Pipeline / Build Staging API Image (push) Successful in 1m3s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m50s
CI/CD Pipeline / Integration Tests (push) Successful in 1m57s
CI/CD Pipeline / Validate - Style (push) Successful in 2m42s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m21s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m43s
CI/CD Pipeline / Validate - Security (push) Successful in 5m11s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 2m51s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m24s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m9s
CI/CD Pipeline / Unit Tests (push) Successful in 9m17s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 170h10m4s
CI/CD Pipeline / CI Gate (push) Failing after 170h10m6s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 170h10m6s
CI/CD Pipeline / Build Production Web Image (push) Failing after 170h10m6s
CI/CD Pipeline / Build Production API Image (push) Failing after 170h10m6s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 170h18m5s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 170h18m5s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 170h19m23s
CI/CD Pipeline / PR Build Web Image (push) Failing after 170h19m23s
CI/CD Pipeline / Frontend Lint (push) Failing after 170h19m24s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 170h19m27s
CI/CD Pipeline / Deploy Production (push) Failing after 170h44m50s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 170h52m52s
CI/CD Pipeline / PR Build API Image (push) Failing after 170h54m9s
根因:AuthenticatedUser 是 dataclass {user: User, session_id, token_type},
没有 .id 属性,用户 ID 在 .user.id。
staging 上所有 lipsync 端点 500(GET/POST)、ai-avatar 端点同理。
修复 11 处:lipsync.py(6) + ai_avatar_render.py(5)。
2026-09-09 13:04:34 +08:00
saas-backend-agent d6c5e66bba fix: lipsync/ai-avatar 路由 current_user.id → current_user.user.id
CI/CD Pipeline / Check push changed paths (push) Successful in 39s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 21s
CI/CD Pipeline / Build Staging API Image (push) Successful in 22s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 23s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Has been cancelled
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 170h20m39s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 170h20m39s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 170h21m31s
CI/CD Pipeline / PR Build Web Image (push) Failing after 170h21m32s
CI/CD Pipeline / PR Build API Image (push) Failing after 170h21m33s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 170h21m47s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 170h55m24s
根因:AuthenticatedUser 是 dataclass {user: User, session_id, token_type},
没有 .id 属性,用户 ID 在 .user.id。
staging 上所有 lipsync 端点 500(GET/POST)、ai-avatar 端点同理。
修复 11 处:lipsync.py(6) + ai_avatar_render.py(5)。
2026-09-09 13:02:01 +08:00
saas-backend-agent c0c9765eb0 debug: lipsync 路由增加详细错误暴露,定位 staging 500 根因
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 11s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 15s
CI/CD Pipeline / Build Staging API Image (push) Successful in 20s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 19s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m1s
CI/CD Pipeline / Integration Tests (push) Successful in 1m42s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m24s
CI/CD Pipeline / Validate - Style (push) Successful in 2m30s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m33s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 2m14s
CI/CD Pipeline / Validate - Security (push) Successful in 5m9s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m30s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m22s
CI/CD Pipeline / Unit Tests (push) Successful in 8m31s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 170h21m37s
CI/CD Pipeline / CI Gate (push) Failing after 170h21m44s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 170h21m45s
CI/CD Pipeline / Build Production API Image (push) Failing after 170h21m46s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 170h29m49s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 170h29m49s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 170h30m22s
CI/CD Pipeline / PR Build Web Image (push) Failing after 170h30m25s
CI/CD Pipeline / PR Build API Image (push) Failing after 170h30m25s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 170h30m26s
CI/CD Pipeline / Deploy Production (push) Failing after 170h56m22s
CI/CD Pipeline / Build Production Web Image (push) Failing after 170h56m31s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 171h4m34s
CI/CD Pipeline / Frontend Lint (push) Failing after 171h5m7s
- _get_service 依赖注入加 try/except,暴露 LipsyncService 初始化错误
- list_lipsync_jobs 加 try/except,暴露 DB 查询错误
- 错误信息包含异常类型和详情,方便 staging 实测定位
2026-09-09 12:53:25 +08:00
xiaoxia c3023cc11b fix: #1809 补充 对口型接口参数校验返回400而非500 (#1818)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 4s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 16s
CI/CD Pipeline / Build Staging API Image (push) Successful in 18s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 22s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m25s
CI/CD Pipeline / Integration Tests (push) Successful in 1m36s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m14s
CI/CD Pipeline / Validate - Style (push) Successful in 2m22s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m29s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m48s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 4m31s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m15s
CI/CD Pipeline / Validate - Security (push) Successful in 6m42s
CI/CD Pipeline / Unit Tests (push) Successful in 7m31s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 172h4m14s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 172h4m16s
CI/CD Pipeline / Deploy Production (push) Failing after 172h4m14s
CI/CD Pipeline / Build Production Web Image (push) Failing after 172h4m16s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 172h11m23s
CI/CD Pipeline / Build Production API Image (push) Failing after 172h4m16s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 172h11m23s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 172h11m53s
CI/CD Pipeline / PR Build Web Image (push) Failing after 172h11m53s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 172h11m54s
CI/CD Pipeline / CI Gate (push) Failing after 172h39m2s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 172h46m9s
CI/CD Pipeline / Frontend Lint (push) Failing after 172h46m35s
CI/CD Pipeline / PR Build API Image (push) Failing after 172h46m39s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-09 11:12:08 +08:00
xiaoxia c954e334e6 fix: #1809 对口型接口参数调整,后端内部调TTS合成音频 (#1814)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 5s
CI/CD Pipeline / Build Staging API Image (push) Successful in 16s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m12s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m7s
CI/CD Pipeline / Integration Tests (push) Successful in 2m14s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m48s
CI/CD Pipeline / Validate - Style (push) Successful in 2m49s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m43s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m29s
CI/CD Pipeline / Validate - Security (push) Successful in 6m50s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m15s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 8m18s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m30s
CI/CD Pipeline / Unit Tests (push) Successful in 10m41s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 173h1m45s
CI/CD Pipeline / Build Production Web Image (push) Failing after 173h1m47s
CI/CD Pipeline / Deploy Production (push) Failing after 173h1m45s
CI/CD Pipeline / Build Production API Image (push) Failing after 173h1m47s
CI/CD Pipeline / CI Gate (push) Failing after 173h1m47s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 173h10m15s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 173h10m16s
CI/CD Pipeline / Frontend Lint (push) Failing after 173h12m30s
CI/CD Pipeline / PR Build Web Image (push) Failing after 173h12m34s
CI/CD Pipeline / PR Build API Image (push) Failing after 173h12m35s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 173h12m36s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 173h36m33s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 173h45m2s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 173h47m20s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-09 10:11:27 +08:00
xiaoxia a0ca13d463 fix: AI数字人渲染 OSS 上传集成 SharedStorageService (#1804)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 2s
CI/CD Pipeline / Build Staging API Image (push) Successful in 39s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 41s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 58s
CI/CD Pipeline / Integration Tests (push) Successful in 2m24s
CI/CD Pipeline / Validate - Style (push) Successful in 2m40s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 4m19s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 2m23s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 6m7s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m23s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 2m1s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m11s
CI/CD Pipeline / Unit Tests (push) Successful in 8m39s
CI/CD Pipeline / Validate - Security (push) Successful in 22m54s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 185h41m26s
CI/CD Pipeline / Deploy Production (push) Failing after 185h41m26s
CI/CD Pipeline / CI Gate (push) Failing after 185h41m30s
CI/CD Pipeline / Build Production Web Image (push) Failing after 185h41m30s
CI/CD Pipeline / Build Production API Image (push) Failing after 185h41m30s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 186h2m2s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 186h2m2s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 186h4m20s
CI/CD Pipeline / Frontend Lint (push) Failing after 186h4m22s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 186h4m26s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 186h16m15s
CI/CD Pipeline / PR Build Web Image (push) Failing after 186h39m6s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 186h36m52s
CI/CD Pipeline / PR Build API Image (push) Failing after 186h39m6s
2026-09-08 19:04:34 +08:00
xiaoxia 800f90d8c6 feat: #1798 AI数字人渲染合成管线 (#1802)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 4s
CI/CD Pipeline / Build Staging API Image (push) Successful in 24s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 26s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m15s
CI/CD Pipeline / Integration Tests (push) Successful in 1m37s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m58s
CI/CD Pipeline / Validate - Style (push) Successful in 2m13s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m38s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 4m9s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m38s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 2m57s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m49s
CI/CD Pipeline / Validate - Security (push) Successful in 8m27s
CI/CD Pipeline / Unit Tests (push) Successful in 8m34s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 189h12m12s
CI/CD Pipeline / CI Gate (push) Failing after 189h12m16s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 189h12m16s
CI/CD Pipeline / Build Production Web Image (push) Failing after 189h12m16s
CI/CD Pipeline / Build Production API Image (push) Failing after 189h12m16s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 189h19m31s
CI/CD Pipeline / PR Build API Image (push) Failing after 189h20m55s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 189h20m57s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 189h19m32s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 189h19m32s
CI/CD Pipeline / Frontend Lint (push) Failing after 189h20m50s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 189h20m55s
CI/CD Pipeline / Deploy Production (push) Failing after 189h46m57s
CI/CD Pipeline / PR Build Web Image (push) Failing after 189h55m40s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-08 18:03:06 +08:00
xiaoxia f7825e3956 feat: #1796 MediaKit 对口型后端对接 (#1801)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 15s
CI/CD Pipeline / Build Staging API Image (push) Successful in 15s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 16s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 17s
CI/CD Pipeline / Integration Tests (push) Successful in 1m13s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m26s
CI/CD Pipeline / Validate - Style (push) Successful in 2m3s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m17s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m30s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m37s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m23s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m47s
CI/CD Pipeline / Unit Tests (push) Successful in 8m7s
CI/CD Pipeline / Validate - Security (push) Successful in 9m43s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 190h26m18s
CI/CD Pipeline / CI Gate (push) Failing after 190h26m22s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 190h26m22s
CI/CD Pipeline / Build Production Web Image (push) Failing after 190h26m22s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 190h36m2s
CI/CD Pipeline / Build Production API Image (push) Failing after 190h26m22s
CI/CD Pipeline / PR Build Web Image (push) Failing after 190h36m2s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 190h35m32s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 190h35m33s
CI/CD Pipeline / PR Build API Image (push) Failing after 190h36m3s
CI/CD Pipeline / Frontend Lint (push) Failing after 190h36m3s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 190h36m8s
CI/CD Pipeline / Deploy Production (push) Failing after 191h1m3s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 191h10m18s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-08 16:47:57 +08:00
saas-backend-agent 24b28bfc89 feat: #1795 文案库 CRUD(Script 模型 + Service + API + 迁移 + 35 测试)
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 / PR Build API Image (pull_request) Successful in 17s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 51s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m5s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m44s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 1m58s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m59s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m59s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 6m16s
AI Code Review / AI Code Review (pull_request) Successful in 6m23s
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 5m28s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 192h3m37s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 192h3m37s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 192h3m44s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 192h3m47s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 192h3m47s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 192h3m48s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 192h3m48s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 192h3m49s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 192h3m50s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 192h3m51s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 192h38m21s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 192h38m31s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 192h38m32s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 192h38m34s
- 新建 ScriptModel (packages/adapters/sqlalchemy_impl/models.py)
  字段: id, user_id(indexed), title, content, segments(JSON), tags(JSON), created_at, updated_at
- 新建 script_service.py: CRUD 封装,用户隔离,tag 筛选,分页
- 新建 schemas/script.py: Pydantic request/response schemas
- 新建 routes/scripts.py: RESTful API (GET/POST/PUT/DELETE /api/v1/scripts)
- 新建 alembic 070_add_scripts_table.py: scripts 表 + user_id 索引
- 注册路由到 router.py (prefix=/scripts, tag=ScriptLibrary)
- 35 单元测试: service 15 + schema/route 20
2026-09-08 15:19:57 +08:00
xiaoxia 9dec75c365 feat: #1789 标题 drawtext 滤镜渲染 — 单视频+批量生成都生效 (#1792)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 21s
CI/CD Pipeline / Build Staging API Image (push) Successful in 13s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 12s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m12s
CI/CD Pipeline / Integration Tests (push) Successful in 1m33s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m45s
CI/CD Pipeline / Validate - Style (push) Successful in 2m17s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 2m14s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m5s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m29s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m41s
CI/CD Pipeline / Validate - Security (push) Successful in 6m20s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m30s
CI/CD Pipeline / Unit Tests (push) Failing after 7m32s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 194h2m10s
CI/CD Pipeline / CI Gate (push) Failing after 194h2m14s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 194h2m14s
CI/CD Pipeline / Build Production Web Image (push) Failing after 194h2m14s
CI/CD Pipeline / Build Production API Image (push) Failing after 194h2m14s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 194h8m11s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 194h8m11s
CI/CD Pipeline / Frontend Lint (push) Failing after 194h9m46s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 194h9m52s
CI/CD Pipeline / PR Build API Image (push) Failing after 194h9m52s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 194h9m52s
CI/CD Pipeline / Deploy Production (push) Failing after 194h36m55s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 194h42m57s
CI/CD Pipeline / PR Build Web Image (push) Failing after 194h44m37s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-08 13:14:13 +08:00
xiaoxia cf195685b9 Merge pull request 'feat: #1768 节奏曲线模板多样化 — 8种预设 + 时长钳制 + 误差校验' (#1788) from feat/rhythm-templates-diversify-1768 into develop
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 10s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 23s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 26s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (push) Successful in 22s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 55s
CI/CD Pipeline / CI Gate (pull_request) Successful in 2s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 42s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 45s
CI/CD Pipeline / Integration Tests (push) Successful in 2m27s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m35s
CI/CD Pipeline / Validate - Style (push) Successful in 2m37s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m18s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m33s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m5s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m36s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 2m22s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m57s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m28s
AI Code Review / AI Code Review (pull_request) Successful in 7m19s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 13s
CI/CD Pipeline / Unit Tests (push) Failing after 8m30s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 53s
CI/CD Pipeline / Validate - Security (push) Successful in 8m54s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 196h11m0s
CI/CD Pipeline / Build Production Web Image (push) Failing after 196h11m5s
CI/CD Pipeline / Deploy Production (push) Failing after 196h11m0s
CI/CD Pipeline / Build Production API Image (push) Failing after 196h11m5s
CI/CD Pipeline / CI Gate (push) Failing after 196h11m5s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 196h15m47s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 196h18m36s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 196h18m37s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 196h19m23s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 196h18m38s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 196h19m29s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 196h19m29s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 196h19m28s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 196h19m47s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 196h19m48s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 196h19m49s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 196h19m54s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 196h19m55s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 196h19m57s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 196h19m56s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 196h19m57s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 196h19m56s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 196h19m59s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 196h19m57s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 196h19m59s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 196h19m59s
CI/CD Pipeline / Frontend Lint (push) Failing after 196h20m1s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 196h19m59s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 196h20m1s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 196h20m3s
CI/CD Pipeline / PR Build Web Image (push) Failing after 196h20m0s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 196h45m49s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 196h54m12s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 196h54m20s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 196h54m38s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 196h54m41s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 196h54m43s
CI/CD Pipeline / PR Build API Image (push) Failing after 196h54m44s
2026-09-08 11:04:03 +08:00
xiaoxia ee4636e087 feat: #1768 节奏曲线模板多样化 — 8种预设 + 时长钳制 + 误差校验
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 / PR Build Worker Image (pull_request) Successful in 30s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 55s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m27s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m30s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m32s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m48s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 1m56s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m51s
AI Code Review / AI Code Review (pull_request) Successful in 6m18s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 6m17s
CI/CD Pipeline / CI Gate (pull_request) Successful in 4s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 8s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m13s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 34s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 196h20m23s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 196h20m26s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 196h20m26s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 196h20m23s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 196h26m36s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 196h26m40s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 196h26m35s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 196h26m42s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 196h26m42s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 196h26m43s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 196h26m43s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 196h26m46s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 196h26m47s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 196h26m46s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 196h55m10s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 197h1m19s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 197h1m25s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 197h1m26s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 197h1m30s
变更:
- RHYTHM_TEMPLATES 从 6 种扩展到 8 种(新增 [2,2,1,1,2] 和 [3,2,1,2,1])
- 修复 MIN_CLIP_DURATION 被重复定义为 1.0 的 bug(恢复为 2.0)
- plan_clip_durations 新增 asset_durations 参数,钳制最大片段时长 <= 素材可用时长 × 90%
- 新增时长总和误差校验(成片净时长与配音时长误差 <= 0.5s),超限时末段补偿修正
- edit_plan_service.apply_voice_duration_to_plan 传入素材时长参与钳制
- 48 个新增单元测试全部通过

向后兼容:asset_durations 默认 None,不影响现有调用方
2026-09-08 10:57:16 +08:00
xiaoxia 5678779232 feat: #1776 素材库 asset_count 自动同步维护 (#1787)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 4s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 4s
CI/CD Pipeline / Check push changed paths (push) Successful in 12s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 12s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m58s
CI/CD Pipeline / Integration Tests (push) Successful in 2m1s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m2s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 34s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Validate - Style (push) Successful in 2m32s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 26s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m56s
CI/CD Pipeline / Build Staging API Image (push) Successful in 59s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m40s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m9s
CI/CD Pipeline / CI Gate (pull_request) Successful in 13s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m5s
AI Code Review / AI Code Review (pull_request) Successful in 6m29s
CI/CD Pipeline / Validate - Security (push) Successful in 6m24s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m48s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m53s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 8m1s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m40s
CI/CD Pipeline / Unit Tests (push) Failing after 10m13s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 196h43m21s
CI/CD Pipeline / Build Production Web Image (push) Failing after 196h43m25s
CI/CD Pipeline / Deploy Production (push) Failing after 196h43m21s
CI/CD Pipeline / Build Production API Image (push) Failing after 196h43m25s
CI/CD Pipeline / CI Gate (push) Failing after 196h43m25s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 196h49m9s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 196h49m10s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 196h49m21s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 196h49m11s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 196h51m9s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 196h51m14s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 196h51m14s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 196h51m15s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 196h51m14s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 196h51m22s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 196h51m23s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 196h51m50s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 196h51m24s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 196h51m54s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 196h51m24s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 196h53m10s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 196h53m10s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 196h53m10s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 196h53m11s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 196h53m11s
CI/CD Pipeline / Frontend Lint (push) Failing after 196h53m13s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 196h53m40s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 196h53m41s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 196h53m41s
CI/CD Pipeline / PR Build Web Image (push) Failing after 196h53m42s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 196h53m41s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 196h53m45s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 196h53m46s
CI/CD Pipeline / PR Build API Image (push) Failing after 196h53m42s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 197h18m9s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 197h26m31s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 197h27m53s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 197h27m54s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-08 10:30:21 +08:00
xiaoxia 98cf571ab3 feat: #1767 BGM 池差异化分配,打破变体间音频指纹一致性 (#1785)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 4s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Check push changed paths (push) Successful in 9s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 30s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 51s
CI/CD Pipeline / Integration Tests (push) Successful in 1m45s
CI/CD Pipeline / Build Staging API Image (push) Successful in 34s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m49s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 42s
CI/CD Pipeline / Validate - Style (push) Successful in 2m34s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m20s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 55s
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 197h8m29s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 197h8m30s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 197h9m19s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 197h9m21s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 197h9m22s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 197h10m9s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 197h10m11s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 197h10m35s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 197h10m48s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 197h10m54s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 197h11m4s
CI/CD Pipeline / Frontend Lint (push) Failing after 197h11m9s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 197h11m11s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 197h11m12s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 197h11m11s
CI/CD Pipeline / PR Build Web Image (push) Failing after 197h11m12s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 197h11m11s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 197h11m13s
CI/CD Pipeline / PR Build API Image (push) Failing after 197h11m13s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 197h11m14s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 197h43m14s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 197h44m4s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 197h44m50s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 197h45m17s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 197h45m43s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-08 10:12:52 +08:00
xiaoxia 9c0474ef9c feat: #1775 默认项目/素材库幂等化(DB 唯一约束兜底)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / Check push changed paths (push) Successful in 7s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 41s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 42s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (push) Successful in 1m0s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 34s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m32s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m50s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 2m53s
CI/CD Pipeline / Integration Tests (push) Successful in 2m56s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m43s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Validate - Style (push) Successful in 3m19s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 50s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m7s
CI/CD Pipeline / Validate - Security (push) Successful in 5m45s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m54s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 6m6s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m13s
AI Code Review / AI Code Review (pull_request) Successful in 6m38s
CI/CD Pipeline / Unit Tests (push) Failing after 7m58s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Failing after 198h32m29s
CI/CD Pipeline / CI Gate (push) Failing after 198h32m31s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 198h32m31s
CI/CD Pipeline / Build Production Web Image (push) Failing after 198h32m31s
CI/CD Pipeline / Build Production API Image (push) Failing after 198h32m31s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 198h36m16s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 198h37m22s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 198h37m23s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 198h39m3s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 198h37m23s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 198h39m11s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 198h39m14s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 198h39m20s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 198h39m40s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 198h39m27s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 198h39m33s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 198h39m42s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 198h39m45s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 198h39m39s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 198h40m27s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 198h40m28s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 198h40m29s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 198h40m29s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 198h40m29s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 198h40m30s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 198h40m30s
CI/CD Pipeline / Frontend Lint (push) Failing after 198h40m30s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 198h40m37s
CI/CD Pipeline / PR Build API Image (push) Failing after 198h40m37s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 198h40m37s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 198h40m39s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 199h14m21s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 199h14m26s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 199h15m10s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 199h15m11s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 199h15m11s
CI/CD Pipeline / PR Build Web Image (push) Failing after 199h15m19s
Squash merge PR #1783 into develop
2026-09-08 08:43:31 +08:00
xiaoxia 7766ba1479 fix(#1774): 模板不存在明确返回404并收敛双表异常降级逻辑 (#1779)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 4s
CI/CD Pipeline / Check push changed paths (push) Successful in 7s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 29s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 30s
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 206h53m51s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 206h53m52s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 206h53m55s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 206h53m55s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 206h53m55s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 206h53m55s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 206h53m55s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 206h53m55s
CI/CD Pipeline / PR Build Web Image (push) Failing after 206h53m55s
CI/CD Pipeline / Frontend Lint (push) Failing after 206h53m56s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 206h54m2s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 206h54m2s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 207h28m33s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 207h28m36s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 207h28m36s
CI/CD Pipeline / PR Build API Image (push) Failing after 207h28m37s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-08 00:30:08 +08:00
xiaoxia ef686dde8f fix(#1769): 模板列表过滤无片段配置的无效模板,避免前端选中后400 (#1772)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 5s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 5s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 5s
CI/CD Pipeline / Check push changed paths (push) Successful in 17s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 31s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 30s
CI/CD Pipeline / Build Staging API Image (push) Successful in 35s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 47s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 5s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 58s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 58s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m9s
CI/CD Pipeline / Integration Tests (push) Successful in 2m24s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m10s
CI/CD Pipeline / Validate - Style (push) Successful in 2m36s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 58s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m50s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m41s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m26s
AI Code Review / AI Code Review (pull_request) Successful in 6m24s
CI/CD Pipeline / Validate - Security (push) Successful in 7m3s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 4m13s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m39s
CI/CD Pipeline / Unit Tests (push) Successful in 9m55s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 207h3m47s
CI/CD Pipeline / Deploy Production (push) Failing after 207h3m47s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 207h3m50s
CI/CD Pipeline / Build Production Web Image (push) Failing after 207h3m51s
CI/CD Pipeline / Build Production API Image (push) Failing after 207h3m51s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 207h9m51s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 207h12m1s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 207h12m2s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 207h12m4s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 207h12m22s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 207h12m26s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 207h12m29s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 207h12m32s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 207h13m21s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 207h13m21s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 207h13m26s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 207h13m26s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 207h13m38s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 207h13m39s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 207h13m39s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 207h13m39s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 207h13m39s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 207h13m40s
CI/CD Pipeline / Frontend Lint (push) Failing after 207h13m45s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 207h13m48s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 207h13m48s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 207h13m48s
CI/CD Pipeline / PR Build API Image (push) Failing after 207h13m49s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 207h13m50s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 207h13m53s
CI/CD Pipeline / CI Gate (push) Failing after 207h38m31s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 207h47m7s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 207h47m13s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 207h48m2s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 207h48m8s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 207h48m20s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 207h48m29s
CI/CD Pipeline / PR Build Web Image (push) Failing after 207h48m30s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-08 00:10:13 +08:00
xiaoxia 034eaac695 Merge pull request 'feat: 像素级扰动滤镜降低平台查重风险 (Issue #1765)' (#1771) from feat/pixel-perturbation-1765 into develop
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 10s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 47s
CI/CD Pipeline / Build Staging API Image (push) Successful in 49s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 34s
CI/CD Pipeline / Integration Tests (push) Successful in 1m56s
CI/CD Pipeline / Validate - Style (push) Successful in 2m21s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 3m16s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m7s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m13s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 2m28s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m52s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m39s
AI Code Review / AI Code Review (pull_request) Successful in 6m36s
CI/CD Pipeline / Unit Tests (push) Failing after 8m12s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m45s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 4m22s
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 / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 10s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 10s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 10s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Validate - Security (push) Successful in 22m17s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 210h5m40s
CI/CD Pipeline / CI Gate (push) Failing after 210h5m42s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 210h5m42s
CI/CD Pipeline / Build Production API Image (push) Failing after 210h5m42s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 210h12m34s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 210h12m35s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 210h12m38s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 210h12m35s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 210h12m40s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 210h12m40s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 210h12m39s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 210h12m40s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 210h12m41s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 210h12m40s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 210h12m41s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 210h12m41s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 210h12m41s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 210h12m41s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 210h12m41s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 210h24m24s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 210h12m41s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 210h26m2s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 210h26m3s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 210h27m55s
CI/CD Pipeline / PR Build Web Image (push) Failing after 210h27m56s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h27m56s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 210h28m4s
CI/CD Pipeline / Deploy Production (push) Failing after 210h40m19s
CI/CD Pipeline / Build Production Web Image (push) Failing after 210h40m21s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 210h47m14s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 210h47m19s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 210h47m19s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 210h47m20s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 210h47m23s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 211h0m41s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 210h47m20s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 210h47m20s
CI/CD Pipeline / PR Build API Image (push) Failing after 211h2m35s
2026-09-07 20:56:11 +08:00
saas-backend-agent 27dccf6591 fix: #1769 智能剪辑 Step2 素材加载 400 错误
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Check push changed paths (push) Successful in 7s
CI/CD Pipeline / Integration Tests (push) Successful in 1m41s
CI/CD Pipeline / Validate - Style (push) Successful in 2m27s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 16s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m37s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 18s
CI/CD Pipeline / Build Staging API Image (push) Successful in 37s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 30s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m20s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 3m51s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m33s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m21s
CI/CD Pipeline / CI Gate (pull_request) Successful in 5s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m20s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m50s
AI Code Review / AI Code Review (pull_request) Successful in 6m41s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m25s
CI/CD Pipeline / Unit Tests (push) Failing after 8m28s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m16s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 4m1s
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 210h41m31s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 210h41m32s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 210h41m37s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 210h41m43s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 210h41m51s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 210h41m46s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 210h41m52s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 210h41m46s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 210h42m0s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 210h42m5s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 210h42m10s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 210h42m13s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 210h43m25s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 210h43m25s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 210h42m6s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 210h43m26s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 210h43m26s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 210h43m26s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 210h43m27s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 210h43m27s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h45m3s
CI/CD Pipeline / PR Build Web Image (push) Failing after 210h45m35s
CI/CD Pipeline / PR Build API Image (push) Failing after 210h45m36s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 210h45m37s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 210h45m38s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 211h16m11s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 211h16m48s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 211h16m55s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 211h18m4s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 211h18m5s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 211h18m6s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 211h20m15s
- 根因:模板 f7578c059c2e4dfca2236eb86cb6808a 是无效测试模板
  - is_active=false(已失效)
  - template_clip_configs=0(无片段配置)
  - template_segments=0(无旧版片段配置)
- 修复:_get_template_segments 添加详细错误日志,便于排查
- 前端应过滤 is_active=false 的模板
- 用户应选择 clip_config_count > 0 的有效模板
2026-09-07 20:38:35 +08:00