Commit Graph

364 Commits

Author SHA1 Message Date
xiaoxia 34e8c56584 feat(title): 标题自由位置拖拽后端支持——pos_x/pos_y 注入 \\pos 定位
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
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m3s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m35s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m41s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m31s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 7m0s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m22s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 5m16s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 5m17s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 6m9s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 5m50s
CI/CD Pipeline / CI Gate (pull_request) Successful in 0s
AI Code Review / AI Code Review (pull_request) Successful in 9m52s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 373h49m42s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 373h49m44s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 373h49m45s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 373h49m43s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 373h53m51s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 373h53m51s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 373h49m45s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 373h53m53s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 373h53m57s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 373h53m59s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 373h54m39s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 373h55m18s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 373h54m39s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 373h55m20s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 373h54m41s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 373h59m9s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 374h23m59s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 374h28m5s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 374h28m13s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 374h29m18s
工单 #1405 方案 B:前端支持用户在预览画面自由拖拽标题位置,
后端烧录 ASS 时按坐标定位。只动 Title,Subtitle 逻辑不变。

- title_config 新增可选字段 pos_x、pos_y(PlayRes 像素整数,
  PlayResX/Y = video_width/video_height)
- 两字段同时存在、为 int(bool/float/字符串拒绝)、且落在
  [0,video_width]×[0,video_height] 闭区间内时:
  - TitleStyle Alignment 固定 5(\an5 中对齐,\pos 锚点为文本块中心)
  - Dialogue 文本前注入 {\pos(x,y)} override tag
- 字段缺失/非法/越界一律回退 position → alignment 三档逻辑,
  现有 top/center/bottom 输出一字节不变
- 新增 9 个单测:合法坐标注入、边界值、无坐标回归、越界回退、
  非法类型回退(含 bool/float/None/字符串)、单字段回退、
  三档对齐不变、pos 覆盖 position、subtitle 不受影响
2026-09-01 01:25:25 +08:00
CI Bot 87cca302f4 style: auto-format with black + isort + prettier [skip ci-format-check]
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 0s
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 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 13s
CI/CD Pipeline / Validate - Security (push) Failing after 1s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m54s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m25s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m40s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m56s
CI/CD Pipeline / Build Staging API Image (push) Successful in 2m56s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m40s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 2m23s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 4m44s
AI Code Review / AI Code Review (pull_request) Successful in 11m40s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Validate - Style (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 / 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 / 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 / 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 / Retag skipped Staging Worker Image (push) Failing after 377h43m40s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 377h43m44s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 377h44m9s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 377h44m15s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 377h44m11s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 377h44m17s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 377h44m19s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 377h52m27s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 377h52m31s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 377h52m33s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 377h52m35s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 377h52m36s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 377h52m38s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 377h52m39s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 377h52m40s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 377h52m41s
CI/CD Pipeline / PR Build Web Image (push) Failing after 377h52m42s
CI/CD Pipeline / PR Build API Image (push) Failing after 377h52m43s
CI/CD Pipeline / Frontend Lint (push) Failing after 377h52m44s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 377h57m30s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 377h57m39s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 377h57m43s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 378h17m56s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 378h18m27s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 378h26m43s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 378h26m48s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 378h26m51s
2026-08-31 13:26:58 +00:00
xiaoxia 6e76b45d34 feat: 统一模板 segments 数据源为 template_clip_configs
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 Web Image (pull_request) Failing after 378h39m26s
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 / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
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 / 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 Staging API Image (pull_request) Failing after 379h13m40s
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (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 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 / 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 Staging Worker Image (pull_request) Failing after 378h39m26s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 378h39m28s
- list_segments/list_by_user 优先读 clip_configs,回退 template_segments
- create_segments 写入 clip_configs,material_type 存 config JSON
- copy_template 复用 create_segments,使用 created.id
- delete 复用 delete_segments_by_template 清理两张表
- migration 060: 方言感知(postgresql/mysql)一次性迁移历史数据
- 11 个新测试 + 120 个现有测试全部通过

Closes #1579
2026-08-31 19:58:51 +08:00
xiaoxia afe78fb25f feat: 成片 duplicate_rate 百分比 + 素材高频使用自动排除 (#1573)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
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 4m51s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 5m35s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 5m34s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 6m15s
AI Code Review / AI Code Review (pull_request) Failing after 6m40s
CI/CD Pipeline / Check push changed paths (push) Successful in 7m8s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 8m31s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m54s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m46s
CI/CD Pipeline / Build Staging API Image (push) Successful in 1m46s
CI/CD Pipeline / CI Gate (pull_request) Successful in 30s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m36s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 34s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 10m14s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m14s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 12m59s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m31s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m14s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 6m14s
CI/CD Pipeline / Integration Tests (push) Successful in 5m41s
CI/CD Pipeline / Unit Tests (push) Successful in 19m12s
CI/CD Pipeline / Production Browser E2E (push) Failing after 382h9m8s
CI/CD Pipeline / Deploy Production (push) Failing after 382h9m9s
CI/CD Pipeline / CI Gate (push) Failing after 382h9m10s
CI/CD Pipeline / Build Production API Image (push) Failing after 382h9m10s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 382h9m10s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 382h17m52s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 382h18m18s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 382h17m53s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 382h18m26s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 382h19m12s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 382h18m28s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 382h19m32s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 382h19m46s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 382h19m14s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 382h19m50s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 382h19m16s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 382h20m18s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 382h20m39s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 382h20m45s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 382h20m41s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 382h21m40s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 382h25m18s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 382h25m22s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Failing after 382h25m52s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 382h25m56s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 382h25m58s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 382h26m4s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 382h26m0s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 382h26m2s
CI/CD Pipeline / PR Build Web Image (push) Failing after 382h26m6s
CI/CD Pipeline / Frontend Lint (push) Failing after 382h27m31s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 382h28m27s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 382h28m28s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 382h28m29s
CI/CD Pipeline / Canary Release to Production (push) Failing after 382h43m22s
CI/CD Pipeline / Build Production Web Image (push) Failing after 382h43m22s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 382h54m0s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 382h54m55s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 382h59m32s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Failing after 383h0m6s
CI/CD Pipeline / PR Build API Image (push) Failing after 383h0m20s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-31 16:56:52 +08:00
xiaoxia 61295b9c25 feat(tts): 正式合成支持克隆音色 + 保存到配音库改写 assets 素材体系 + 克隆接口支持 asset_id (#1556)
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 push changed paths (push) Successful in 4m13s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m43s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 5m19s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 5m33s
CI/CD Pipeline / Build Staging API Image (push) Successful in 1m41s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m19s
AI Code Review / AI Code Review (pull_request) Failing after 6m39s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 41s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 7m2s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 7m16s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m6s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m10s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m33s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 8m27s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1m1s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 9m45s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m29s
CI/CD Pipeline / Integration Tests (push) Successful in 2m17s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m0s
CI/CD Pipeline / Unit Tests (push) Successful in 13m47s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 5m58s
CI/CD Pipeline / Production Browser E2E (push) Failing after 404h25m27s
CI/CD Pipeline / Deploy Production (push) Failing after 404h25m28s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 404h25m29s
CI/CD Pipeline / Build Production API Image (push) Failing after 404h25m30s
CI/CD Pipeline / CI Gate (push) Failing after 404h25m30s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 404h32m7s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 404h32m11s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 404h32m13s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 404h32m19s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 404h32m15s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 404h32m19s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 404h32m17s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 404h32m20s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 404h33m16s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 404h38m52s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 404h34m39s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 404h38m56s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 404h38m58s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 404h39m2s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 404h39m4s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Failing after 404h39m8s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 404h39m10s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 404h39m14s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 404h39m16s
CI/CD Pipeline / Frontend Lint (push) Failing after 404h39m18s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 404h39m20s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 404h39m22s
CI/CD Pipeline / PR Build Web Image (push) Failing after 404h39m20s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 404h39m22s
CI/CD Pipeline / PR Build API Image (push) Failing after 404h39m20s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 404h39m24s
CI/CD Pipeline / Canary Release to Production (push) Failing after 404h59m36s
CI/CD Pipeline / Build Production Web Image (push) Failing after 404h59m37s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 405h6m17s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 405h6m27s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 405h6m27s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 405h7m24s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 405h13m2s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 405h13m8s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Failing after 405h13m14s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 405h13m20s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-30 18:46:06 +08:00
CI Bot e33502956c feat(segments): 片段重复率控制(受控复用+15%闸门)与素材余量四字段
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m5s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m35s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 3m38s
AI Code Review / AI Code Review (pull_request) Failing after 3m41s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m44s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 4m6s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m22s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m24s
CI/CD Pipeline / Validate - Code Quality (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 / 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 Approve on CI Green (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 421h11m26s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 421h11m29s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 421h14m19s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 421h14m19s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 421h14m21s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 421h14m27s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 421h14m27s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 421h14m33s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 421h14m33s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 421h14m35s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 421h45m33s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 421h48m24s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 421h48m32s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 421h48m36s
Task G:任意两条成片画面重复率 ≤15%
- MediaKit 智能选片避让历史区间:历史区间并入冲突检查、0.3s 边缘间隙、
  撞历史时放弃推荐保留原起点(不再挪到已用画面)
- 自动轮回改造为受控复用:历史永不自动清空;used_time_ranges 增加
  use_count/last_used_at;100 次随机失败后复用 last_used_at 最老且
  use_count<3 的区间;单条成片复用占比 >15% 时该素材停止分配(分配闸门 +
  复用回调内预判双闸门);全部素材超限返回 400「素材可切区间不足,请补充新素材」
- 复用回调返回 None 时 calc 直接返回 None(删除末尾/0.0 重叠降级),
  from-assets 轮询内 calc 失败切换下一素材
- 批量 N 条视频片段独立:count>1 时克隆独立 plan,禁止共用
  source_edit_plan_id/clips(合并 Issue #1282);预览同样克隆独立变体
- 常量:REUSE_RATIO_LIMIT=0.15 / SEGMENT_EDGE_GAP=0.3 / MAX_RANGE_USE_COUNT=3

Task H:素材余量透出与已用尽素材排除
- GET /assets 列表与详情响应附加 used_duration/available_duration/
  used_ratio/usable 四字段(非视频/无时长/异常时 None + usable=True,零影响)
- usable=false:零重复可切区间已耗尽(扩边后无 ≥3s 空闲段)且所有历史
  区间 use_count 均达上限
- smart-match 结果层过滤 usable=false 素材(评分逻辑不动)
- from-assets 对已用尽素材天然兜底:calc 返回 None → 轮询跳过 →
  全部素材用尽时 400

测试:新增 test_mediakit_conflicts(10)/test_clone_plan_variant(7)/
test_asset_availability(23),更新 tracker/clips/mediakit 既有用例;
全量 unit 13910 passed
2026-08-30 02:10:06 +08:00
CI Bot 1b83ec9952 fix: AI Code Review 阻塞问题修复
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m10s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 3m45s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m15s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m5s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m10s
AI Code Review / AI Code Review (pull_request) Successful in 5m8s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 5m24s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 9m7s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 10m0s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 18m2s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 21m17s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 19m16s
CI/CD Pipeline / CI Gate (pull_request) Successful in 28s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 4m5s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 4m30s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 426h22m1s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 426h22m2s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 426h22m3s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 426h22m3s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 426h43m20s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 426h43m22s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 426h46m21s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 426h46m19s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 426h46m23s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 426h46m25s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 426h46m21s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 426h46m26s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 426h46m27s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 426h46m31s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 426h46m33s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 426h56m4s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 426h56m6s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 427h17m24s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 427h20m28s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 427h20m32s
1. remove_used_segment 旧数据兼容:记录缺 plan_id(本功能上线前的旧数据)时
   退化为按时间匹配删除,避免旧区间永远删不掉导致素材容量泄漏
2. MediaKit 异步更新事务一致性:clip start_time 更新与 metadata 区间记录
   删旧/写新放入同一事务,metadata 失败时 rollback 本次 clip 更新,
   统一 commit,消除 clip 已提交、metadata 未更新的不一致
3. (建议) on_exhausted 回调异常增加 logger.warning,不再静默吞掉
4. 补充旧数据兼容单测
2026-08-29 20:38:56 +08:00
CI Bot 2174e91c48 feat: 素材片段区间持久化去重 + 区间用尽自动轮回
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2m39s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 3m43s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m8s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m15s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 5m30s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 8m33s
AI Code Review / AI Code Review (pull_request) Successful in 8m50s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 9m35s
CI/CD Pipeline / Validate - Code Quality (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 / 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
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 427h7m30s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 427h7m32s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 427h9m55s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 427h9m57s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 427h9m59s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 427h10m4s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 427h10m7s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 427h10m9s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 427h10m11s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 427h10m13s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 427h41m34s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 427h44m1s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 427h44m9s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 427h44m14s
- 新增 asset_segment_tracker 服务:素材 metadata(used_time_ranges) 持久化片段级已用区间
- from-assets 创建片段时读取历史区间,新片段跨任务/跨调用自动避开
- 片段记录与 replace_all_clips_transactional 同事务,失败整体回滚
- MediaKit 异步移动片段起点后同步更新 metadata 区间记录(失败静默)
- _calc_random_start_time 新增 on_exhausted 回调:100次找不到时清空该素材历史区间再重试,实现轮完一圈自动循环

详见 PR body 的 metadata schema 说明
2026-08-29 20:14:28 +08:00
xiaoxia 608e200c0c fix: 恢复被误回退的后端文件(#1519 #1520)
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m54s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1m35s
CI/CD Pipeline / Build Staging API Image (push) Successful in 3m39s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 4m14s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 4m32s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m50s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 3m2s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m41s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 4m8s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 8m25s
AI Code Review / AI Code Review (pull_request) Failing after 6m41s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m43s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m22s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m11s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m34s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m15s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 2m8s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m16s
CI/CD Pipeline / Integration Tests (push) Successful in 4m59s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 13m50s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 4m12s
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 / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration 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
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 480h7m2s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 480h7m4s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 480h7m6s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 480h7m27s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 480h9m34s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 480h10m4s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 480h10m5s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 480h10m19s
CI/CD Pipeline / Frontend Lint (push) Failing after 480h11m13s
CI/CD Pipeline / PR Build Web Image (push) Failing after 480h10m21s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 480h14m8s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 480h14m11s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 480h14m15s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 480h18m31s
CI/CD Pipeline / PR Build API Image (push) Failing after 480h44m22s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 480h48m12s
2026-08-27 15:06:00 +08:00
xiaoxia b12bb24d08 fix(ui): 模板选择预览条缩短+素材列表改为竖屏9:16卡片网格 (#1521)
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
CI/CD Pipeline / Validate - Code Quality (push) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (push) Has been cancelled
CI/CD Pipeline / Validate - Migration (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 / PR Build API Image (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (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 / 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 / Check if frontend-only change (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Migration (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 / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build 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 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 / 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
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
2026-08-27 15:04:17 +08:00
xiaoxia 24c862c741 fix: 标题换行计算使用原始font_size,与CSS预览一致 (#1519)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m33s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 4m22s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 4m39s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 6m30s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 6m41s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 6m44s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 7m31s
CI/CD Pipeline / Build Staging API Image (push) Successful in 8m19s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m9s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 57s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 9m19s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 5m9s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m8s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m28s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 11m14s
AI Code Review / AI Code Review (pull_request) Failing after 7m33s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 8m32s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m55s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m37s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m0s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m2s
CI/CD Pipeline / Integration Tests (push) Successful in 3m4s
CI/CD Pipeline / Unit Tests (push) Successful in 15m18s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 12m32s
CI/CD Pipeline / CI Gate (pull_request) Successful in 26s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 482h20m39s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 482h20m40s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 482h20m40s
CI/CD Pipeline / Production Browser E2E (push) Failing after 482h21m19s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 482h20m41s
CI/CD Pipeline / Canary Release to Production (push) Failing after 482h21m19s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 482h20m41s
CI/CD Pipeline / Build Production Web Image (push) Failing after 482h21m21s
CI/CD Pipeline / Build Production API Image (push) Failing after 482h21m22s
CI/CD Pipeline / Deploy Production (push) Failing after 482h21m20s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 482h30m47s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 482h30m51s
CI/CD Pipeline / CI Gate (push) Failing after 482h21m22s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 482h31m27s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 482h35m7s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 482h33m3s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 482h35m19s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 482h33m5s
CI/CD Pipeline / PR Build API Image (push) Failing after 482h35m23s
CI/CD Pipeline / Frontend Lint (push) Failing after 482h36m13s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 482h33m16s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 482h36m44s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 482h39m47s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 482h36m46s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 482h36m48s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 482h54m39s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 482h55m20s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 483h4m48s
CI/CD Pipeline / PR Build Web Image (push) Failing after 483h9m20s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-27 12:46:01 +08:00
xiaoxia 9709d5471b fix(ass): Fontsize乘1.35补偿系数对齐CSS预览字号 (#1516)
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 3m56s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 6m37s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 6m30s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 6m55s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m56s
AI Code Review / AI Code Review (pull_request) Failing after 4m14s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 8m39s
CI/CD Pipeline / Build Staging API Image (push) Successful in 8m58s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 5m7s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 9m46s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m56s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m4s
CI/CD Pipeline / Check if frontend-only change (pull_request) Failing after 11m6s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 12m56s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 2m2s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m54s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 13m12s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m38s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m46s
CI/CD Pipeline / Unit Tests (push) Successful in 16m46s
CI/CD Pipeline / Integration Tests (push) Successful in 8m9s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 8m30s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 14m55s
CI/CD Pipeline / CI Gate (pull_request) Successful in 29s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 493h15m21s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 493h15m22s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 493h15m23s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 493h15m23s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 493h15m23s
CI/CD Pipeline / CI Gate (push) Failing after 493h20m24s
CI/CD Pipeline / Canary Release to Production (push) Failing after 493h24m39s
CI/CD Pipeline / Deploy Production (push) Failing after 493h24m39s
CI/CD Pipeline / PR Build Worker Image (pull_request) Failing after 493h30m15s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 493h24m41s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 493h32m50s
CI/CD Pipeline / Build Production Web Image (push) Failing after 493h24m41s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 493h32m52s
CI/CD Pipeline / Build Production API Image (push) Failing after 493h24m42s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 493h32m56s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 493h30m17s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 493h34m54s
CI/CD Pipeline / PR Build API Image (pull_request) Failing after 493h30m19s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 493h37m12s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 493h37m16s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 493h37m29s
CI/CD Pipeline / PR Build Web Image (push) Failing after 493h37m31s
CI/CD Pipeline / Frontend Lint (push) Failing after 493h41m29s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 493h41m31s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 493h49m21s
CI/CD Pipeline / Production Browser E2E (push) Failing after 493h58m36s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 494h4m19s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 494h6m52s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 494h11m12s
CI/CD Pipeline / PR Build API Image (push) Failing after 494h11m31s
2026-08-27 01:44:19 +08:00
xiaoxia d4c8064cdc fix(fonts): FONT_NAME_MAP改为Noto Sans SC适配容器实际字体 (#1514)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 4m39s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 5m50s
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Migration (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 API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build 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 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 / 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
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Successful in 3m36s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m35s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 4m18s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 4m24s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 5m9s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m30s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 8m41s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m15s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m21s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 3m22s
CI/CD Pipeline / Integration Tests (push) Successful in 3m37s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m17s
CI/CD Pipeline / Unit Tests (push) Successful in 13m18s
CI/CD Pipeline / Canary Release to Production (push) Failing after 494h21m29s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 494h21m30s
CI/CD Pipeline / Build Production Web Image (push) Failing after 494h21m31s
CI/CD Pipeline / Production Browser E2E (push) Failing after 494h21m29s
CI/CD Pipeline / CI Gate (push) Failing after 494h21m31s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 494h33m38s
CI/CD Pipeline / PR Build API Image (push) Failing after 494h33m40s
CI/CD Pipeline / Frontend Lint (push) Failing after 494h34m22s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 494h37m57s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 494h43m11s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 494h43m24s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 494h43m26s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 494h45m10s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 494h45m11s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 494h45m16s
CI/CD Pipeline / Deploy Production (push) Failing after 494h55m28s
CI/CD Pipeline / Build Production API Image (push) Failing after 494h55m29s
CI/CD Pipeline / PR Build Web Image (push) Failing after 495h7m38s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 495h19m11s
2026-08-27 00:35:48 +08:00
xiaoxia 57f16364f1 fix: 修复 CI 单测隔离问题 + ruff 代码质量违规
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 57s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m15s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m8s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m25s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m38s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m58s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 4m56s
CI/CD Pipeline / Validate - Code Quality (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 / 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 / Validate - Code Quality (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 API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build 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 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 / 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
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 500h46m9s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 500h46m11s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 500h47m2s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 500h47m45s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 500h47m51s
CI/CD Pipeline / Frontend Lint (push) Failing after 500h48m32s
CI/CD Pipeline / PR Build Web Image (push) Failing after 500h47m47s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 500h49m11s
CI/CD Pipeline / PR Build API Image (push) Failing after 500h47m49s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 500h47m53s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 500h47m55s
- test_generated_video_creation_logic: 添加 teardown_class 恢复 setup_class
  中替换的 sys.modules 条目(video_processing.thumbnail_generator / dedup),
  避免 MagicMock 污染后续测试导致 4 个单测失败
- plan_generator_utils: 循环变量 seg_start 未使用 → _seg_start(B007)
- acr_cleanup: 移除未使用变量 open_pr_shas(F841)
- auto_fix_formatting: 移除未使用变量 head_branch_tmp / fix_mode(F841)
2026-08-26 18:36:37 +08:00
CI Bot 850559505f style: auto-format with black + isort + prettier [skip ci-format-check]
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1m2s
CI/CD Pipeline / Build Staging API Image (push) Successful in 1m4s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m19s
CI/CD Pipeline / Validate - Code Quality (push) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (push) Has been cancelled
CI/CD Pipeline / Validate - Migration (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 Web 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 Worker Image (pull_request) Successful in 52s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 54s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m11s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m14s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m0s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 3m56s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m15s
AI Code Review / AI Code Review (pull_request) Successful in 8m52s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 5m24s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 13m17s
CI/CD Pipeline / CI Gate (pull_request) Failing after 6s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 501h41m32s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 501h41m33s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 501h41m34s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 501h41m34s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 501h41m34s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 501h52m54s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 501h52m58s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 501h54m51s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 501h54m53s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 501h54m53s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 501h55m36s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 501h55m43s
CI/CD Pipeline / PR Build API Image (push) Failing after 501h55m47s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 501h55m49s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 501h55m53s
CI/CD Pipeline / Frontend Lint (push) Failing after 501h55m54s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 501h57m0s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 502h15m29s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 502h26m52s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 502h28m49s
CI/CD Pipeline / PR Build Web Image (push) Failing after 502h29m41s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 502h29m47s
2026-08-26 09:28:53 +00:00
xiaoxia ecbdd49dc1 feat: 素材片段随机起始时间+去重 + MediaKit智能封面抽帧
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1m13s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m14s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m24s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 38s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m55s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m55s
CI/CD Pipeline / Validate - Code Quality (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 API 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
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 54s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m19s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m41s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m21s
CI/CD Pipeline / Validate - Code Quality (push) Failing after 5m1s
CI/CD Pipeline / Build Staging API Image (push) Successful in 4m53s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m12s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 52s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m6s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m23s
CI/CD Pipeline / Integration Tests (push) Successful in 4m2s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m20s
CI/CD Pipeline / Unit Tests (push) Failing after 12m24s
CI/CD Pipeline / Production Browser E2E (push) Failing after 501h41m15s
CI/CD Pipeline / Canary Release to Production (push) Failing after 501h41m15s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 501h41m16s
CI/CD Pipeline / Build Production Web Image (push) Failing after 501h41m17s
CI/CD Pipeline / Build Production API Image (push) Failing after 501h41m17s
CI/CD Pipeline / CI Gate (push) Failing after 501h41m17s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 501h52m48s
CI/CD Pipeline / Frontend Lint (push) Failing after 501h53m40s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 501h54m49s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 501h58m52s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 501h58m56s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 501h58m58s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 502h0m15s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 502h0m17s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 502h1m25s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 502h1m30s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 502h1m32s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 502h1m34s
CI/CD Pipeline / Deploy Production (push) Failing after 502h15m12s
CI/CD Pipeline / PR Build Web Image (push) Failing after 502h26m46s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 502h32m50s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 502h33m35s
CI/CD Pipeline / PR Build API Image (push) Failing after 502h26m48s
## 任务1: 素材片段随机起始时间
- 修改 _calc_random_start_time 增加 used_segments 参数,避开已使用时间段
- 四个分配函数(ONE_TAKE/PIP/VOICE_OVER/VOICE_PIP)各自维护 used_segments
- 同一素材被多个clip使用时,自动记录已用区间,下次随机时避开
- 如果无空间可用,回退到最后已用段之后或缩短时长

## 任务2: MediaKit智能封面抽帧
- 新增 _extract_frames_via_mediakit 函数,上传视频到OSS后调用MediaKit API
- 使用 SceneChange 策略智能选取关键帧
- 失败时自动降级到 ffmpeg 均匀抽帧
- 抽帧后下载帧图、可选叠加标题、上传OSS

## 测试
- 新增 8 个 _calc_random_start_time 单测
- 新增 4 个 distribute_assets 去重逻辑单测
- 新增 4 个 MediaKit 集成单测
- 修复 3 个因字体映射变更的测试断言
2026-08-26 17:22:08 +08:00
xiaoxia 23b6f23bad fix: ASS Fontname 字体名称映射到服务器注册名 (#1508)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 56s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m30s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m42s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 3m1s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m18s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m54s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m8s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m34s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m44s
AI Code Review / AI Code Review (pull_request) Failing after 4m8s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 29s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m0s
CI/CD Pipeline / Build Staging API Image (push) Successful in 7m20s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m49s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 46s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 53s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m14s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 10m17s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 10m19s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m3s
CI/CD Pipeline / Unit Tests (push) Failing after 14m3s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 12m14s
CI/CD Pipeline / Integration Tests (push) Successful in 5m10s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 5m18s
CI/CD Pipeline / CI Gate (pull_request) Failing after 6s
CI/CD Pipeline / CI Gate (push) Failing after 502h14m20s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 502h14m28s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 502h14m32s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 502h14m29s
CI/CD Pipeline / Production Browser E2E (push) Failing after 502h15m42s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 502h14m30s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 502h14m31s
CI/CD Pipeline / Build Production Web Image (push) Failing after 502h15m46s
CI/CD Pipeline / Build Production API Image (push) Failing after 502h15m46s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 502h23m20s
CI/CD Pipeline / Canary Release to Production (push) Failing after 502h15m44s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 502h23m23s
CI/CD Pipeline / Deploy Production (push) Failing after 502h15m44s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 502h23m25s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 502h26m44s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 502h26m46s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 502h26m49s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 502h27m30s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 502h27m34s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 502h28m29s
CI/CD Pipeline / PR Build API Image (push) Failing after 502h28m34s
CI/CD Pipeline / Frontend Lint (push) Failing after 502h29m51s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 502h29m51s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 502h48m27s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 502h49m41s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 502h57m17s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 502h57m30s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 503h1m28s
CI/CD Pipeline / PR Build Web Image (push) Failing after 503h2m27s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-26 16:56:01 +08:00
xiaoxia 32990194d4 fix: 标题顶部边距60→120,标题位置下移 (#1506)
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 44s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1m18s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 3m48s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m50s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m59s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 4m5s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m19s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 40s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m2s
AI Code Review / AI Code Review (pull_request) Failing after 4m45s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 6m32s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m40s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m48s
CI/CD Pipeline / Build Staging API Image (push) Successful in 6m42s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 47s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 56s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m6s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 9m57s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 10m2s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m5s
CI/CD Pipeline / Unit Tests (push) Successful in 14m25s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 11m23s
CI/CD Pipeline / Integration Tests (push) Successful in 5m31s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 5m29s
CI/CD Pipeline / CI Gate (pull_request) Successful in 9s
CI/CD Pipeline / CI Gate (push) Failing after 517h54m22s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 517h54m34s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 517h54m35s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 517h54m36s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 517h54m37s
CI/CD Pipeline / Production Browser E2E (push) Failing after 517h55m22s
CI/CD Pipeline / Deploy Production (push) Failing after 517h55m23s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 517h55m24s
CI/CD Pipeline / Build Production API Image (push) Failing after 517h55m26s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 518h5m36s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 518h5m42s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 518h5m38s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 518h5m48s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 518h6m0s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 518h6m4s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 518h8m30s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 518h9m4s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 518h8m32s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 518h8m34s
CI/CD Pipeline / PR Build Web Image (push) Failing after 518h9m6s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 518h9m54s
CI/CD Pipeline / PR Build API Image (push) Failing after 518h9m8s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 518h28m31s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 518h28m33s
CI/CD Pipeline / Canary Release to Production (push) Failing after 518h29m19s
CI/CD Pipeline / Build Production Web Image (push) Failing after 518h29m22s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 518h39m37s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 518h39m55s
CI/CD Pipeline / Frontend Lint (push) Failing after 518h43m48s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-26 01:16:00 +08:00
xiaoxia ddb1a3544d fix: 混音主视频clip音量滤镜缺失 + 自动换行识别已有\N标记 (#1505)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1m16s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m45s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m20s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m32s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m33s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m32s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 4m2s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m5s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m5s
AI Code Review / AI Code Review (pull_request) Successful in 4m53s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 35s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 6m45s
CI/CD Pipeline / Build Staging API Image (push) Successful in 7m16s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m25s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 50s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 6m56s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 9m8s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m1s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m19s
CI/CD Pipeline / Integration Tests (push) Successful in 3m7s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m14s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m25s
CI/CD Pipeline / Unit Tests (push) Successful in 13m8s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 11m21s
CI/CD Pipeline / CI Gate (pull_request) Successful in 9s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 518h49m27s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 518h49m28s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 518h49m29s
CI/CD Pipeline / Production Browser E2E (push) Failing after 518h50m26s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 518h49m27s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 518h50m28s
CI/CD Pipeline / Build Production Web Image (push) Failing after 518h50m28s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 518h49m29s
CI/CD Pipeline / CI Gate (push) Failing after 518h50m28s
CI/CD Pipeline / Canary Release to Production (push) Failing after 518h50m27s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 518h58m51s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 518h58m55s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 518h58m57s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 519h0m0s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 519h0m2s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 519h2m31s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 519h3m4s
CI/CD Pipeline / PR Build Web Image (push) Failing after 519h3m6s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 519h3m35s
CI/CD Pipeline / PR Build API Image (push) Failing after 519h3m8s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 519h4m55s
CI/CD Pipeline / Frontend Lint (push) Failing after 519h3m35s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 519h3m37s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 519h3m39s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 519h23m24s
CI/CD Pipeline / Deploy Production (push) Failing after 519h24m23s
CI/CD Pipeline / Build Production API Image (push) Failing after 519h24m24s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 519h32m49s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 519h33m10s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-26 00:21:00 +08:00
xiaoxia 323bd2da5e fix: 标题/换行 + TTS replace模式静音原音 + 配音素材库静音原音 (#1504)
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 46s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 56s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m52s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 3m7s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m2s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m4s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 29s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 32s
CI/CD Pipeline / Build Staging API Image (push) Successful in 5m38s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 5m38s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m56s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m13s
AI Code Review / AI Code Review (pull_request) Successful in 5m25s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 55s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m16s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m19s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m9s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 9m47s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m28s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 9m40s
CI/CD Pipeline / Integration Tests (push) Successful in 4m40s
CI/CD Pipeline / Unit Tests (push) Successful in 14m37s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m58s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 12m59s
CI/CD Pipeline / CI Gate (pull_request) Successful in 7s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 520h3m42s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 520h3m43s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 520h3m45s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 520h3m44s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 520h3m45s
CI/CD Pipeline / Production Browser E2E (push) Failing after 520h5m13s
CI/CD Pipeline / Deploy Production (push) Failing after 520h5m15s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 520h5m15s
CI/CD Pipeline / CI Gate (push) Failing after 520h5m16s
CI/CD Pipeline / Build Production API Image (push) Failing after 520h5m16s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 520h14m43s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 520h14m47s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 520h14m49s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 520h15m56s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 520h15m24s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 520h15m57s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 520h16m55s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 520h16m57s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 520h17m0s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 520h17m2s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 520h19m4s
CI/CD Pipeline / PR Build Web Image (push) Failing after 520h19m6s
CI/CD Pipeline / PR Build API Image (push) Failing after 520h19m8s
CI/CD Pipeline / Frontend Lint (push) Failing after 520h19m10s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 520h19m56s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 520h37m39s
CI/CD Pipeline / Canary Release to Production (push) Failing after 520h39m10s
CI/CD Pipeline / Build Production Web Image (push) Failing after 520h39m12s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 520h48m41s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-25 23:06:00 +08:00
xiaoxia 7635a20fdb fix(ass): 字段名归一化(font_size/font_color→size/color) + 移除字号上限36 (#1501)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 47s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m8s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 3m23s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 3m23s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m58s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m4s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m54s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m55s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 39s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m47s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 6m40s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m47s
CI/CD Pipeline / Build Staging API Image (push) Successful in 6m45s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 45s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 51s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m6s
AI Code Review / AI Code Review (pull_request) Failing after 7m46s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m1s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 10m58s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 12m36s
CI/CD Pipeline / Unit Tests (push) Successful in 14m28s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 11m53s
CI/CD Pipeline / Integration Tests (push) Successful in 5m11s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 5m0s
CI/CD Pipeline / CI Gate (pull_request) Successful in 9s
CI/CD Pipeline / CI Gate (push) Failing after 521h13m39s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 521h14m29s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 521h14m31s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 521h14m32s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 521h14m33s
CI/CD Pipeline / Production Browser E2E (push) Failing after 521h15m17s
CI/CD Pipeline / Canary Release to Production (push) Failing after 521h15m19s
CI/CD Pipeline / Build Production Web Image (push) Failing after 521h15m21s
CI/CD Pipeline / Deploy Production (push) Failing after 521h15m19s
CI/CD Pipeline / Build Production API Image (push) Failing after 521h15m21s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 521h23m57s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 521h23m59s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 521h24m3s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 521h24m45s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 521h26m27s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 521h26m30s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 521h28m43s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 521h28m44s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 521h29m47s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 521h28m46s
CI/CD Pipeline / PR Build Web Image (push) Failing after 521h29m49s
CI/CD Pipeline / PR Build API Image (push) Failing after 521h29m51s
CI/CD Pipeline / Frontend Lint (push) Failing after 521h29m51s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 521h29m53s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 521h48m26s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 521h48m29s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 521h49m17s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 521h57m57s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 522h0m21s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-25 21:56:02 +08:00
xiaoxia 7844b65afe feat: create端点兜底复用预览产物 + confirm同步标题 (#1486)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1m16s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m31s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 2m40s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m49s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m35s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m40s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m57s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 45s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m27s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m52s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m19s
CI/CD Pipeline / Build Staging API Image (push) Successful in 7m12s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m14s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 39s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m4s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m9s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 9m47s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 9m45s
AI Code Review / AI Code Review (pull_request) Successful in 8m41s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m16s
CI/CD Pipeline / Integration Tests (push) Successful in 3m38s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m48s
CI/CD Pipeline / Unit Tests (push) Successful in 14m50s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 12m29s
CI/CD Pipeline / CI Gate (pull_request) Successful in 6s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 543h39m38s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 543h39m40s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 543h39m40s
CI/CD Pipeline / Canary Release to Production (push) Failing after 543h40m6s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 543h39m39s
CI/CD Pipeline / Build Production Web Image (push) Failing after 543h40m8s
CI/CD Pipeline / Build Production API Image (push) Failing after 543h40m8s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 543h39m40s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 543h50m56s
CI/CD Pipeline / Production Browser E2E (push) Failing after 543h40m6s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 543h51m2s
CI/CD Pipeline / Deploy Production (push) Failing after 543h40m6s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 543h51m27s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 543h40m7s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 543h51m37s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 543h52m13s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 543h52m15s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 543h50m58s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 543h52m19s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 543h54m14s
CI/CD Pipeline / PR Build Web Image (push) Failing after 543h54m16s
CI/CD Pipeline / PR Build API Image (push) Failing after 543h54m18s
CI/CD Pipeline / Frontend Lint (push) Failing after 543h55m0s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 543h55m1s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 544h13m32s
CI/CD Pipeline / CI Gate (push) Failing after 544h14m1s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 544h24m53s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 544h25m28s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 544h26m10s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-24 23:31:00 +08:00
xiaoxia c873bb635f refactor: 统一渲染链路,预览即所得(-3370行) (#1479)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 55s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m13s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m43s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m46s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m51s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m6s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m59s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m14s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 30s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m53s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m6s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m6s
CI/CD Pipeline / Build Staging API Image (push) Successful in 7m12s
AI Code Review / AI Code Review (pull_request) Failing after 6m19s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 39s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 8m57s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m2s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 8m55s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m9s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m16s
CI/CD Pipeline / Integration Tests (push) Successful in 3m12s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m13s
CI/CD Pipeline / Unit Tests (push) Successful in 14m24s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 12m30s
CI/CD Pipeline / CI Gate (pull_request) Successful in 8s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 552h54m45s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 552h54m47s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 552h54m46s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 552h54m48s
CI/CD Pipeline / Production Browser E2E (push) Failing after 552h55m35s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 552h54m48s
CI/CD Pipeline / Build Production Web Image (push) Failing after 552h55m37s
CI/CD Pipeline / Canary Release to Production (push) Failing after 552h55m36s
CI/CD Pipeline / Build Production API Image (push) Failing after 552h55m37s
CI/CD Pipeline / Deploy Production (push) Failing after 552h55m36s
CI/CD Pipeline / CI Gate (push) Failing after 552h55m37s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 553h3m51s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 553h3m53s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 553h3m55s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 553h3m57s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 553h7m15s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 553h7m17s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 553h7m21s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 553h8m45s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 553h8m47s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 553h9m58s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 553h8m49s
CI/CD Pipeline / PR Build API Image (push) Failing after 553h10m2s
CI/CD Pipeline / Frontend Lint (push) Failing after 553h10m2s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 553h10m4s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 553h28m38s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 553h29m29s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 553h38m21s
CI/CD Pipeline / PR Build Web Image (push) Failing after 553h43m52s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-24 14:16:00 +08:00
xiaoxia 4de4b8dc08 fix(cover): E2兜底封面标题样式透传color/position/font_size (#1467)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 47s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m30s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m5s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m53s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 3m25s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m37s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 22s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 38s
AI Code Review / AI Code Review (pull_request) Successful in 3m23s
CI/CD Pipeline / Build Staging API Image (push) Successful in 5m27s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m14s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 6m28s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m24s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m5s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m18s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m31s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 8m6s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 8m9s
CI/CD Pipeline / Integration Tests (push) Successful in 3m1s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m45s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m28s
CI/CD Pipeline / Unit Tests (push) Successful in 14m12s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 11m29s
CI/CD Pipeline / CI Gate (pull_request) Successful in 9s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 576h14m5s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 576h14m9s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 576h14m7s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 576h14m9s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 576h14m9s
CI/CD Pipeline / Production Browser E2E (push) Failing after 576h14m45s
CI/CD Pipeline / Canary Release to Production (push) Failing after 576h14m47s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 576h14m48s
CI/CD Pipeline / Build Production Web Image (push) Failing after 576h14m49s
CI/CD Pipeline / CI Gate (push) Failing after 576h14m49s
CI/CD Pipeline / Build Production API Image (push) Failing after 576h14m49s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 576h24m5s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 576h24m9s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 576h24m11s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 576h25m38s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 576h24m52s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 576h25m39s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 576h27m8s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 576h27m12s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 576h27m16s
CI/CD Pipeline / Frontend Lint (push) Failing after 576h29m2s
CI/CD Pipeline / PR Build Web Image (push) Failing after 576h27m18s
CI/CD Pipeline / PR Build API Image (push) Failing after 576h27m20s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 576h29m4s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 576h47m55s
CI/CD Pipeline / Deploy Production (push) Failing after 576h48m35s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 576h57m55s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 576h59m24s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 577h0m58s
2026-08-23 14:57:05 +08:00
agent 06f68230af fix(edit-flow): 补全 title_config 数据链路,修复编辑流程断裂
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 32s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 55s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m38s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m58s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m1s
AI Code Review / AI Code Review (pull_request) Failing after 2m15s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m29s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m1s
CI/CD Pipeline / Validate - Code Quality (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 / 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 Approve on CI Green (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 578h12m39s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 578h12m41s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 578h13m7s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 578h13m9s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 578h13m11s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 578h13m13s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 578h13m13s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 578h46m28s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 578h46m57s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 578h47m1s
1. Schema: CreateGenerationTaskRequest 增加 title_config(dict|None=None)
2. DB: generation_tasks 新增 title_config JSON 列 (alembic 057)
3. Domain/ORM/Repo/UseCase 全链路透传 title_config
4. API 创建任务成功后,merge 回写 EditPlan.config
   (generation_task_id + title_config),失败不影响主流程
5. Worker 优先使用 title_config 构建标题图层,custom_title 兜底
6. GenerationTaskResponse 返回 title_config
7. 旧路由 /generate 和 /generation-status 标记 DEPRECATED

所有新字段默认 None/{},不传时行为与现在完全一致。
2026-08-23 13:12:40 +08:00
xiaoxia 5a5c653d2c feat(cleanup): pending 任务自动清理,防止队列占满 (#1463)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1m5s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 1m13s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 2m8s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m17s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m35s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m19s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m41s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m4s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m13s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 31s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m38s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 6m29s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 7m10s
CI/CD Pipeline / Build Staging API Image (push) Successful in 7m18s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 6m46s
CI/CD Pipeline / Integration Tests (push) Successful in 2m51s
AI Code Review / AI Code Review (pull_request) Successful in 8m5s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m5s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 3m9s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m2s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m3s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m12s
CI/CD Pipeline / Unit Tests (push) Successful in 13m12s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 12m19s
CI/CD Pipeline / CI Gate (pull_request) Successful in 6s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 578h15m49s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 578h15m50s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 578h15m51s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 578h15m52s
CI/CD Pipeline / Production Browser E2E (push) Failing after 578h16m9s
CI/CD Pipeline / CI Gate (push) Failing after 578h16m10s
CI/CD Pipeline / Deploy Production (push) Failing after 578h16m10s
CI/CD Pipeline / Build Production Web Image (push) Failing after 578h16m11s
CI/CD Pipeline / Build Production API Image (push) Failing after 578h16m11s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 578h24m49s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 578h24m53s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 578h24m55s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 578h27m54s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 578h27m56s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 578h28m23s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 578h29m10s
CI/CD Pipeline / PR Build API Image (push) Failing after 578h29m13s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 578h29m15s
CI/CD Pipeline / Frontend Lint (push) Failing after 578h29m15s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 578h29m17s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 578h30m32s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 578h29m19s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 578h49m38s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 578h49m39s
CI/CD Pipeline / Canary Release to Production (push) Failing after 578h49m58s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 578h49m59s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 578h58m38s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 578h59m4s
CI/CD Pipeline / PR Build Web Image (push) Failing after 579h2m58s
2026-08-23 12:55:39 +08:00
CI Bot f6b50b49ec fix(cover): worker local ffmpeg cover frames + title overlay for source-asset fallback
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 49s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m53s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m4s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m30s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m29s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m39s
AI Code Review / AI Code Review (pull_request) Successful in 4m45s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 37s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m23s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 5m34s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m39s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 10m23s
CI/CD Pipeline / CI Gate (pull_request) Successful in 15s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 52s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m31s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 580h44m54s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 580h44m54s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 580h44m56s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 580h44m58s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 580h52m34s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 580h52m38s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 580h52m43s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 580h55m3s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 580h55m5s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 580h56m53s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 580h56m55s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 580h56m57s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 581h18m42s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 581h18m44s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 581h26m24s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 581h27m17s
问题:
1. 之前 Worker 用 MediaKit 网络抽帧写 cover_url,因状态字符串 bug(#1461 已修)
   一直失败;且在 API 请求内同步抽帧易超时。
2. 封面从源素材抽取时无标题(源素材未烧录标题)。

修复:
1. Worker 渲染完成后直接复用 RenderAdapter 已用本地 ffmpeg 抽出的 cover_candidates:
   - _render_video 返回值改为 (output_path, render_duration, cover_candidates)
   - 第一帧写入 gen_task.cover_url,完整列表写入 metadata.cover_candidates
   - 删除步骤 4.5 的 MediaKit 抽帧代码(不依赖网络,不阻塞)
2. 标题叠加:
   - 新增 packages/shared/title_overlay.py,Pillow 绘制白色文字+黑色描边/阴影,
     支持 CJK 字体和自动换行(API/Worker 共用)
   - thumbnail_generator.extract_and_upload_cover_frames 的 title_text 参数真正生效
   - render_adapter 从已渲染视频抽帧时传空 title_text(标题已 ASS 烧录,避免重影)
   - 封面 API E2 从源素材抽帧后,从 plan.config.title.text 读取标题并叠加
3. API 基础镜像增加 Pillow 和 fonts-noto-cjk(E2 标题叠加依赖)

测试:新增 test_title_overlay.py(5)、E2 标题透传测试,更新 1294 解包;
相关 51 passed。
2026-08-23 10:28:52 +08:00
CI Bot 39683bda09 fix(mediakit): accept "completed" status in extract_frames polling
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 37s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 49s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m38s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m38s
AI Code Review / AI Code Review (pull_request) Successful in 1m40s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m56s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m43s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m25s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m41s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m53s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m52s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 8m15s
CI/CD Pipeline / CI Gate (pull_request) Successful in 11s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 41s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 43s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 590h25m44s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 590h25m44s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 590h25m46s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 590h25m46s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 590h34m2s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 590h25m46s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 590h34m3s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 590h34m35s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 590h34m35s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 590h34m37s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 590h34m40s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 590h34m41s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 590h34m41s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 590h59m32s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 591h7m48s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 591h8m22s
火山引擎 MediaKit 抽帧 API 完成时返回 status="completed",
但 _poll_task_result_with_error 只判断 "success",
导致任务实际已成功返回帧数据,客户端却继续轮询到超时返回 None,
封面抽帧一直失败。

与同文件 _poll_video_understand_result_with_error 的判断保持一致。
Worker 渲染后抽帧和 API E1/E2 兜底均受此 bug 影响。
2026-08-23 00:51:18 +08:00
xiaoxia 161c1a61b6 fix: HEVC 转码条件解耦 + 缩略图函数补全 + extra_meta 字段 (#1452)
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m11s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m24s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m53s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m7s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 4m35s
CI/CD Pipeline / Build Staging API Image (push) Successful in 4m39s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m20s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 52s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m22s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 3m7s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 10m25s
CI/CD Pipeline / Unit Tests (push) Successful in 12m58s
CI/CD Pipeline / Integration Tests (push) Successful in 4m59s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 36s
AI Code Review / AI Code Review (pull_request) Successful in 38s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 33s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 37s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m43s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m45s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m7s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m12s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m35s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 10m39s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 13m4s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m56s
CI/CD Pipeline / CI Gate (pull_request) Successful in 8s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 639h45m46s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 639h45m47s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 639h45m46s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 639h45m47s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 639h45m48s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 639h58m52s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 639h58m52s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 639h59m24s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 639h59m24s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 639h59m30s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 639h59m30s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 639h59m30s
CI/CD Pipeline / CI Gate (push) Failing after 641h29m51s
CI/CD Pipeline / Canary Release to Production (push) Failing after 641h32m14s
CI/CD Pipeline / Deploy Production (push) Failing after 641h32m14s
CI/CD Pipeline / Build Production API Image (push) Failing after 641h32m17s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 641h32m16s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 641h44m1s
CI/CD Pipeline / PR Build Web Image (push) Failing after 641h44m3s
CI/CD Pipeline / PR Build API Image (push) Failing after 641h44m5s
CI/CD Pipeline / Frontend Lint (push) Failing after 641h45m16s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 641h45m18s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 640h19m33s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 640h32m38s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 640h33m10s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 640h33m12s
CI/CD Pipeline / Production Browser E2E (push) Failing after 642h5m59s
CI/CD Pipeline / Build Production Web Image (push) Failing after 642h6m3s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-20 21:41:01 +08:00
xiaoxia 3c800d3f3f fix(clips): 全面修复 Clips API 响应结构 — 替换 PR #1403 (#1404)
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m25s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m36s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m25s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m56s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 7m5s
CI/CD Pipeline / Integration Tests (push) Successful in 2m28s
CI/CD Pipeline / Unit Tests (push) Failing after 11m34s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 13m57s
CI/CD Pipeline / Build Staging API Image (push) Successful in 29m40s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m17s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 41s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 2m26s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m1s
CI/CD Pipeline / Canary Release to Production (push) Failing after 716h33m39s
CI/CD Pipeline / Deploy Production (push) Failing after 716h56m4s
CI/CD Pipeline / CI Gate (push) Failing after 716h56m5s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 716h56m5s
CI/CD Pipeline / Build Production Web Image (push) Failing after 716h56m6s
CI/CD Pipeline / Build Production API Image (push) Failing after 716h56m6s
CI/CD Pipeline / PR Build API Image (push) Failing after 717h7m39s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 717h7m37s
CI/CD Pipeline / Frontend Lint (push) Failing after 717h7m40s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 717h7m43s
CI/CD Pipeline / Production Browser E2E (push) Failing after 717h29m41s
CI/CD Pipeline / PR Build Web Image (push) Failing after 717h41m16s
2026-08-17 18:18:48 +08:00
xiaoxia 16767f675b fix: 统一前后端标题渲染参数,修复描边/阴影样式丢失 (#1393)
CI/CD Pipeline / Build Staging Web Image (push) Failing after 0s
CI/CD Pipeline / Build Staging Worker Image (push) Failing after 0s
CI/CD Pipeline / Unit Tests (push) Failing after 1s
CI/CD Pipeline / Frontend Unit Tests (push) Failing after 0s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m30s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 1m42s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 5m26s
CI/CD Pipeline / Integration Tests (push) Successful in 1m45s
CI/CD Pipeline / Build Staging API Image (push) Successful in 13m42s
CI/CD Pipeline / Canary Release to Production (push) Failing after 740h11m44s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 740h11m45s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 740h11m45s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 740h11m46s
CI/CD Pipeline / CI Gate (push) Failing after 740h18m18s
CI/CD Pipeline / Production Browser E2E (push) Failing after 740h20m2s
CI/CD Pipeline / Deploy Production (push) Failing after 740h20m3s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 740h20m4s
CI/CD Pipeline / Build Production API Image (push) Failing after 740h20m4s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 740h25m15s
CI/CD Pipeline / Frontend Lint (push) Failing after 740h25m23s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 740h25m32s
CI/CD Pipeline / PR Build Web Image (push) Failing after 740h25m17s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 740h45m20s
CI/CD Pipeline / Build Production Web Image (push) Failing after 740h53m39s
CI/CD Pipeline / PR Build API Image (push) Failing after 740h58m54s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-16 19:01:05 +08:00
xiaoxia d826ae216a fix: 渲染管线 bool 类型配置防护 — 全面修复 'bool' object has no attribute 'get' 崩溃
根因: plan.config 中某 key 的值可能为 bool 而非 dict,
当 .get() 或 from_dict() 被调用时崩溃。
'or {}' 只能防 None/空值,防不了 True/False。

修复策略(双层防护):
1. 治本: 所有 from_dict 方法入口加 isinstance(data, dict) 检查
   - chroma_key_config.py / color_grade_config.py / noise_reduction_config.py
   - watermark_config.py / pip_config.py / intro_outro_config.py
   - reverse_engine.py
2. 治标: 调用方直接 .get() 处加 isinstance 防护
   - unified_render_service.py: tts/bgm/title/subtitle/export/bgm
   - render_adapter.py: bgm/export/title
   - render_audio.py: bgm/audio_tracks
   - generation.py: title/subtitle/bgm/export
   - edit_plan_generation.py: title

共修复 12 个文件,覆盖渲染管线全部 unprotected 调用点
2026-08-16 14:58:30 +08:00
xiaoxia 474d7d77e5 fix(preview): 预览渲染支持标题配置,解决封面标题时序问题 (#1378)
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m8s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m28s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 3m12s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m48s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m55s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 5m48s
CI/CD Pipeline / Integration Tests (push) Successful in 1m41s
CI/CD Pipeline / Unit Tests (push) Successful in 9m21s
CI/CD Pipeline / Build Staging API Image (push) Successful in 19m20s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m3s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 39s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 51s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m48s
CI/CD Pipeline / Canary Release to Production (push) Failing after 765h57m26s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 766h11m17s
CI/CD Pipeline / Production Browser E2E (push) Failing after 766h11m16s
CI/CD Pipeline / Build Production Web Image (push) Failing after 766h11m17s
CI/CD Pipeline / Deploy Production (push) Failing after 766h11m16s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 766h20m38s
CI/CD Pipeline / PR Build Web Image (push) Failing after 766h20m38s
CI/CD Pipeline / PR Build API Image (push) Failing after 766h20m40s
CI/CD Pipeline / Frontend Lint (push) Failing after 766h20m40s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 766h20m42s
CI/CD Pipeline / CI Gate (push) Failing after 766h44m49s
CI/CD Pipeline / Build Production API Image (push) Failing after 766h44m49s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-15 17:06:00 +08:00
xiaoxia 0301370dd8 refactor: 统一封面生成管道 — 从渲染后视频抽帧作为封面 (#1371)
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 1m32s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 1m45s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m20s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m22s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 5m2s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 6m19s
CI/CD Pipeline / Integration Tests (push) Successful in 2m0s
CI/CD Pipeline / Unit Tests (push) Successful in 9m9s
CI/CD Pipeline / Build Staging API Image (push) Successful in 20m32s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m2s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 41s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m53s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m50s
CI/CD Pipeline / Canary Release to Production (push) Failing after 784h46m17s
CI/CD Pipeline / Deploy Production (push) Failing after 785h1m33s
CI/CD Pipeline / CI Gate (push) Failing after 785h1m33s
CI/CD Pipeline / Build Production Web Image (push) Failing after 785h1m34s
CI/CD Pipeline / Build Production API Image (push) Failing after 785h1m34s
CI/CD Pipeline / PR Build Web Image (push) Failing after 785h10m41s
CI/CD Pipeline / PR Build API Image (push) Failing after 785h10m42s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 785h10m44s
CI/CD Pipeline / Production Browser E2E (push) Failing after 785h35m3s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 785h35m5s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 785h44m11s
CI/CD Pipeline / Frontend Lint (push) Failing after 785h44m14s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-14 22:16:00 +08:00
xiaoxia 21e84c71c4 perf: render-time cover frame pre-extraction + FFmpeg fallback, remove MediaKit (#1360)
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m52s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m10s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m23s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 2m29s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 4m35s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 7m2s
CI/CD Pipeline / Unit Tests (push) Successful in 9m47s
CI/CD Pipeline / Build Staging API Image (push) Successful in 13m45s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 43s
CI/CD Pipeline / Integration Tests (push) Successful in 7m28s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 38s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m6s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m50s
CI/CD Pipeline / Canary Release to Production (push) Failing after 810h18m24s
CI/CD Pipeline / Production Browser E2E (push) Failing after 810h25m14s
CI/CD Pipeline / Deploy Production (push) Failing after 810h25m16s
CI/CD Pipeline / Build Production Web Image (push) Failing after 810h25m16s
CI/CD Pipeline / Build Production API Image (push) Failing after 810h25m16s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 810h34m50s
CI/CD Pipeline / PR Build Web Image (push) Failing after 810h34m52s
CI/CD Pipeline / Frontend Lint (push) Failing after 810h35m3s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 810h35m47s
CI/CD Pipeline / CI Gate (push) Failing after 810h54m44s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 810h58m46s
CI/CD Pipeline / PR Build API Image (push) Failing after 811h8m24s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-13 20:51:02 +08:00
xiaoxia 68fa7fd163 fix(cover): 修复 OSS 路径双斜杠导致 MediaKit 404 (#1357)
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m15s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m41s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m53s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m40s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 5m20s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 6m42s
CI/CD Pipeline / Unit Tests (push) Successful in 10m9s
CI/CD Pipeline / Integration Tests (push) Successful in 3m38s
CI/CD Pipeline / Build Staging API Image (push) Successful in 14m40s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 46s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 39s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 2m10s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m50s
CI/CD Pipeline / Canary Release to Production (push) Failing after 813h17m29s
CI/CD Pipeline / CI Gate (push) Failing after 813h25m25s
CI/CD Pipeline / Production Browser E2E (push) Failing after 813h25m35s
CI/CD Pipeline / Deploy Production (push) Failing after 813h25m36s
CI/CD Pipeline / Build Production API Image (push) Failing after 813h25m38s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 813h25m37s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 813h35m45s
CI/CD Pipeline / PR Build Web Image (push) Failing after 813h35m45s
CI/CD Pipeline / Frontend Lint (push) Failing after 813h35m47s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 813h35m49s
CI/CD Pipeline / Build Production Web Image (push) Failing after 813h59m9s
CI/CD Pipeline / PR Build API Image (push) Failing after 814h9m18s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-13 17:51:00 +08:00
xiaoxia 7ba46cb9c0 fix(cover): 封面生成前校验视频URL可达性,避免MediaKit超时120秒 (#1356)
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 1m41s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m14s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m42s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m42s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 4m36s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 6m40s
CI/CD Pipeline / Unit Tests (push) Successful in 10m23s
CI/CD Pipeline / Integration Tests (push) Successful in 4m27s
CI/CD Pipeline / Build Staging API Image (push) Successful in 12m35s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m30s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 38s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m5s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m46s
CI/CD Pipeline / Canary Release to Production (push) Failing after 815h33m54s
CI/CD Pipeline / CI Gate (push) Failing after 815h39m39s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 815h40m23s
CI/CD Pipeline / Build Production Web Image (push) Failing after 815h40m23s
CI/CD Pipeline / Production Browser E2E (push) Failing after 815h40m22s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 815h50m45s
CI/CD Pipeline / PR Build Web Image (push) Failing after 815h50m46s
CI/CD Pipeline / PR Build API Image (push) Failing after 815h50m47s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 815h50m49s
CI/CD Pipeline / Deploy Production (push) Failing after 816h13m54s
CI/CD Pipeline / Build Production API Image (push) Failing after 816h13m55s
CI/CD Pipeline / Frontend Lint (push) Failing after 816h24m19s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-13 15:36:00 +08:00
xiaoxia cd6fde790a perf(#1341): 封面生成改用 TimeInterval 策略(避免 OOM,提高稳定性) (#1351)
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 1m37s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m9s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m13s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m20s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 3m20s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 6m7s
CI/CD Pipeline / Build Staging API Image (push) Successful in 6m19s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 34s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 42s
CI/CD Pipeline / Integration Tests (push) Successful in 2m12s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 2m12s
CI/CD Pipeline / Unit Tests (push) Successful in 9m17s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m52s
CI/CD Pipeline / Canary Release to Production (push) Failing after 830h41m0s
CI/CD Pipeline / CI Gate (push) Failing after 830h41m28s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 830h41m29s
CI/CD Pipeline / Build Production API Image (push) Failing after 830h41m29s
CI/CD Pipeline / Production Browser E2E (push) Failing after 830h41m27s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 830h50m46s
CI/CD Pipeline / PR Build API Image (push) Failing after 830h50m48s
CI/CD Pipeline / Frontend Lint (push) Failing after 830h50m49s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 830h50m52s
CI/CD Pipeline / Deploy Production (push) Failing after 831h14m59s
CI/CD Pipeline / Build Production Web Image (push) Failing after 831h15m0s
CI/CD Pipeline / PR Build Web Image (push) Failing after 831h24m18s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-13 00:36:00 +08:00
xiaoxia 7b9e803603 fix(#1341): 增强封面生成错误日志和前端提示 + ESLint 修复 + prettier 格式化 (#1347)
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m11s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m28s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m58s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 2m3s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 6m17s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 9m21s
CI/CD Pipeline / Unit Tests (push) Failing after 10m23s
CI/CD Pipeline / Integration Tests (push) Successful in 5m40s
CI/CD Pipeline / Build Staging API Image (push) Successful in 15m14s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 46s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 35s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m45s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m48s
CI/CD Pipeline / Canary Release to Production (push) Failing after 832h38m47s
CI/CD Pipeline / Production Browser E2E (push) Failing after 832h45m29s
CI/CD Pipeline / Deploy Production (push) Failing after 832h45m29s
CI/CD Pipeline / Build Production Web Image (push) Failing after 832h45m30s
CI/CD Pipeline / Build Production API Image (push) Failing after 832h45m30s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 832h55m33s
CI/CD Pipeline / PR Build Web Image (push) Failing after 832h55m35s
CI/CD Pipeline / PR Build API Image (push) Failing after 832h55m37s
CI/CD Pipeline / Frontend Lint (push) Failing after 832h55m45s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 832h58m9s
CI/CD Pipeline / CI Gate (push) Failing after 833h16m34s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 833h19m0s
2026-08-12 22:28:38 +08:00
CI Bot 7d6c0cc67e fix: cover.py step3 改用 user+template 查找预览任务;删除 generation.py 冗余 rendered_url
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 1m33s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m36s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m24s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m31s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 5m7s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 6m38s
CI/CD Pipeline / Integration Tests (push) Successful in 1m58s
CI/CD Pipeline / Unit Tests (push) Successful in 9m9s
CI/CD Pipeline / Build Staging API Image (push) Successful in 12m11s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 48s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 36s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 44s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m51s
CI/CD Pipeline / Canary Release to Production (push) Failing after 855h3m55s
CI/CD Pipeline / Deploy Production (push) Failing after 855h10m36s
CI/CD Pipeline / CI Gate (push) Failing after 855h10m36s
CI/CD Pipeline / Build Production Web Image (push) Failing after 855h10m37s
CI/CD Pipeline / Build Production API Image (push) Failing after 855h10m37s
CI/CD Pipeline / PR Build Web Image (push) Failing after 855h19m46s
CI/CD Pipeline / PR Build API Image (push) Failing after 855h19m47s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 855h19m48s
CI/CD Pipeline / Production Browser E2E (push) Failing after 855h44m5s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 855h44m6s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 855h53m15s
CI/CD Pipeline / Frontend Lint (push) Failing after 855h53m16s
P0 修复:预览任务创建时 plan_id 尚未存在,source_edit_plan_id 始终为空,
导致封面生成第三步查找永远匹配不到。改为按 user_id + template_id + is_preview +
status=completed 查找最近预览任务。

技术债:generation.py 复用预览产物分支删除冗余 rendered_url 写入,
统一只写 rendered_storage_key。

新增 repository 方法:list_latest_completed_preview(user_id, template_id)
2026-08-12 00:07:06 +08:00
CI Bot 6c14170b94 style: auto-format with black + isort + prettier [skip ci-format-check]
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m57s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m21s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 2m21s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m8s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 4m12s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 5m39s
CI/CD Pipeline / Integration Tests (push) Successful in 2m22s
CI/CD Pipeline / Unit Tests (push) Failing after 9m19s
CI/CD Pipeline / Build Staging API Image (push) Successful in 11m26s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 49s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 41s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 47s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m49s
CI/CD Pipeline / Canary Release to Production (push) Failing after 860h44m59s
CI/CD Pipeline / Deploy Production (push) Failing after 860h50m46s
CI/CD Pipeline / CI Gate (push) Failing after 860h50m46s
CI/CD Pipeline / Build Production Web Image (push) Failing after 860h50m46s
CI/CD Pipeline / Build Production API Image (push) Failing after 860h50m46s
CI/CD Pipeline / PR Build Web Image (push) Failing after 861h0m4s
CI/CD Pipeline / PR Build API Image (push) Failing after 861h0m4s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 861h0m6s
CI/CD Pipeline / Production Browser E2E (push) Failing after 861h24m13s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 861h24m14s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 861h33m32s
CI/CD Pipeline / Frontend Lint (push) Failing after 861h33m33s
2026-08-11 10:26:49 +00:00
CI Bot 3d5438a3af fix: cover generation full-chain fix — bare URL, remove stub fallback, clean dead code
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m42s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 1m48s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m23s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 2m56s
CI/CD Pipeline / Validate - Code Quality (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 / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build 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 Worker Image (push) Failing after 861h4m24s
CI/CD Pipeline / PR Build Web Image (push) Failing after 861h4m24s
CI/CD Pipeline / Frontend Lint (push) Failing after 861h4m24s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 861h4m27s
CI/CD Pipeline / PR Build API Image (push) Failing after 861h37m53s
- cover.py: use get_url() (bare URL) instead of get_download_url() (signed URL)
  to avoid OSS sign_url encoding / as %2F causing 403
- ai_service.py: remove SVG stub fallback in _call_ai_cover_service(),
  raise RuntimeError with clear error message instead
- cover.py: wrap run_generate_cover() in try/except RuntimeError → HTTPException
- schemas.py: remove unused CoverGenerateResponse class
- Note: rendered/* OSS public read must be configured for bare URL to work
2026-08-11 18:22:23 +08:00
CI Bot 7b534c950b fix(cover): increase MediaKit timeout + use public URL + extend frontend timeout
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m9s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m37s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m5s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m24s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 5m35s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 6m19s
CI/CD Pipeline / Unit Tests (push) Successful in 9m49s
CI/CD Pipeline / Integration Tests (push) Successful in 3m42s
CI/CD Pipeline / Build Staging API Image (push) Successful in 13m48s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 55s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 36s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m39s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m42s
CI/CD Pipeline / Canary Release to Production (push) Failing after 862h59m13s
CI/CD Pipeline / Production Browser E2E (push) Failing after 863h7m48s
CI/CD Pipeline / Deploy Production (push) Failing after 863h7m49s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 863h7m50s
CI/CD Pipeline / Build Production API Image (push) Failing after 863h7m50s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 863h17m39s
CI/CD Pipeline / Frontend Lint (push) Failing after 863h17m40s
CI/CD Pipeline / PR Build Web Image (push) Failing after 863h17m39s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 863h17m42s
CI/CD Pipeline / CI Gate (push) Failing after 863h41m7s
CI/CD Pipeline / Build Production Web Image (push) Failing after 863h41m19s
CI/CD Pipeline / PR Build API Image (push) Failing after 863h51m9s
Three fixes for cover generation:
1. cover.py: get_download_url -> get_url for video URL (OSS public read)
2. ai_service.py: extract_frames poll_interval=3.0, max_poll_attempts=60 (180s)
3. aiFeatures.ts: generateCover axios timeout 10s -> 180s
2026-08-11 16:09:07 +08:00
CI Bot ebd67c1b7d fix: 封面URL回退为裸URL,OSS已开公开读
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m9s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 1m39s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 1m58s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m47s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 5m21s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 5m46s
CI/CD Pipeline / Integration Tests (push) Successful in 2m12s
CI/CD Pipeline / Unit Tests (push) Successful in 8m52s
CI/CD Pipeline / Build Staging API Image (push) Successful in 13m0s
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 / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Failing after 865h44m19s
CI/CD Pipeline / CI Gate (push) Failing after 865h44m19s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 865h44m19s
CI/CD Pipeline / Build Production API Image (push) Failing after 865h44m19s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 865h53m11s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 865h53m15s
CI/CD Pipeline / PR Build Web Image (push) Failing after 865h53m11s
CI/CD Pipeline / PR Build API Image (push) Failing after 865h53m11s
CI/CD Pipeline / Deploy Production (push) Failing after 866h17m47s
CI/CD Pipeline / Build Production Web Image (push) Failing after 866h17m47s
CI/CD Pipeline / Frontend Lint (push) Failing after 866h26m39s
OSS桶 xiaoxia-autocut 已对 covers/ 路径开放公开读权限,
封面URL不再需要签名,回退 storage.get_url(cover_key)。

 revert 3e14a0d4
2026-08-11 13:33:36 +08:00
CI Bot 3e14a0d462 fix: 封面URL改用签名URL,OSS桶非公开读
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m36s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m32s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m38s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m26s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 5m15s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 5m27s
CI/CD Pipeline / Integration Tests (push) Successful in 1m45s
CI/CD Pipeline / Unit Tests (push) Successful in 8m47s
CI/CD Pipeline / Build Staging API Image (push) Successful in 12m16s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 49s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 39s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 48s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m52s
CI/CD Pipeline / Canary Release to Production (push) Failing after 866h0m22s
CI/CD Pipeline / Deploy Production (push) Failing after 866h7m37s
CI/CD Pipeline / CI Gate (push) Failing after 866h7m37s
CI/CD Pipeline / Build Production Web Image (push) Failing after 866h7m37s
CI/CD Pipeline / Build Production API Image (push) Failing after 866h7m37s
CI/CD Pipeline / PR Build Web Image (push) Failing after 866h16m25s
CI/CD Pipeline / PR Build API Image (push) Failing after 866h16m25s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 866h16m27s
CI/CD Pipeline / Production Browser E2E (push) Failing after 866h41m4s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 866h41m5s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 866h49m52s
CI/CD Pipeline / Frontend Lint (push) Failing after 866h49m53s
storage.get_url() 只拼接裸URL,浏览器无法访问。
改用 storage.get_download_url(cover_key, expires_seconds=86400)
生成24小时有效的签名URL。
2026-08-11 13:10:28 +08:00
CI Bot cfea86e25a style: auto-format with black + isort + prettier [skip ci-format-check]
CI/CD Pipeline / Validate - Code Quality (push) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (push) Has been cancelled
CI/CD Pipeline / Validate - Migration (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 / 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 Worker Image (push) Failing after 867h31m33s
CI/CD Pipeline / PR Build Web Image (push) Failing after 867h31m33s
CI/CD Pipeline / Frontend Lint (push) Failing after 867h31m34s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 867h31m36s
CI/CD Pipeline / PR Build API Image (push) Failing after 868h5m1s
2026-08-11 03:55:19 +00:00
CI Bot 759a7e0508 fix: 封面预览 broken image — MediaKit帧图转存OSS返回公开URL
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 2m15s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m30s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 2m33s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m0s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 5m4s
CI/CD Pipeline / Validate - Code Quality (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 / Build Staging API 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 API Image (push) Failing after 867h36m38s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 867h36m38s
CI/CD Pipeline / Frontend Lint (push) Failing after 867h36m38s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 867h36m42s
CI/CD Pipeline / PR Build Web Image (push) Failing after 868h10m6s
根因:MediaKit extract_frames 返回的 image_url 是内部临时 URL,
浏览器无法直接访问,导致封面预览显示 broken image。

修复:新增 _transfer_cover_frame_to_storage(),在 MediaKit 抽帧
成功后下载帧图并重新上传到 OSS,返回公开可访问的 URL。
失败时降级返回原始 URL(不影响流程)。

78个相关单测全部通过。
2026-08-11 11:50:10 +08:00
CI Bot 29994ffcbc feat: 统一预览与确认生成渲染路径 — 预览=正式品质+确认复用
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 30s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m29s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m30s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m30s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m43s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m23s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m22s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m36s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 4m36s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 5m29s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m35s
CI/CD Pipeline / CI Gate (pull_request) Failing after 6s
AI Code Review / AI Code Review (pull_request) Successful in 6m45s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 880h48m4s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 880h48m4s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 880h48m5s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 880h48m5s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 880h53m34s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 880h53m34s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 880h53m34s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 880h54m0s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 880h54m0s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 880h54m4s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 880h54m6s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 880h54m6s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 881h21m32s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 881h21m33s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 881h27m28s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 881h27m34s
## 渲染管线统一
- UnifiedRenderService: 移除 is_preview 参数,统一 CRF 23 + medium preset
- RenderAdapter: 移除 is_preview 参数,统一执行校验和缩略图生成
- Worker generation.py: 移除 480p+1M 码率覆盖逻辑
- generation_preview.py: 删除 PREVIEW_RESOLUTION 常量和 _calc_preview_resolution()

## 确认生成复用预览产物
- Domain: 新增 GenerationTask.mark_confirmed() 方法
- confirm_generation: 预览已完成时直接复用产物(秒出),无需重新渲染
- Editor generate: 检查 plan 关联的预览任务,plan未修改时复用产物
- Schema: CreatePreviewGenerationTaskRequest 新增 source_edit_plan_id 字段

## 测试更新
- test_1280_preview_speedup: 重写为验证统一品质参数
- test_confirm_generation: 重写为验证复用逻辑

## 交付标准
- 预览渲染质量与确认生成一致(1080p, CRF 23, medium)
- 预览后确认生成直接复用产物(秒出)
- Worker 端无任何 is_preview 低质量渲染代码残留
2026-08-10 22:32:35 +08:00
CI Bot e09fdda74c fix: 确认生成兜底增强 — project_id 为空时通过 user_id 查找素材
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 21s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m27s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m51s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m53s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m59s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m15s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m17s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m24s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 3m29s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 6m8s
AI Code Review / AI Code Review (pull_request) Successful in 6m43s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m31s
CI/CD Pipeline / CI Gate (pull_request) Failing after 8s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 883h1m20s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 883h1m21s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 883h1m22s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 883h1m22s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 883h7m7s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 883h7m9s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 883h7m27s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 883h7m27s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 883h7m29s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 883h7m31s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 883h7m31s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 883h34m47s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 883h34m49s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 883h40m36s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 883h40m54s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 883h40m58s
根因:模板编辑器直接创建的草稿 plan 没有 project_id 和 config.asset_ids,
导致 _auto_fallback_auto_material_mode 跳过素材分配,
can_generate 报 "没有可渲染的就绪片段"。

修复:
- asset_repository 新增 find_ready_videos_by_user 方法
- _auto_fallback_auto_material_mode 增加策略2:project_id 为空时
  通过 uploaded_by_user_id 查找用户上传的就绪视频
- generation.py 传递 current_user.user.id 给兜底函数
2026-08-10 20:19:12 +08:00
CI Bot b155db260a fix: 封面生成 stub 返回 SVG data URI 占位图替代不存在的 placeholder API
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 47s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 55s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m1s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m23s
AI Code Review / AI Code Review (pull_request) Failing after 1m37s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m40s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m49s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m49s
CI/CD Pipeline / Validate - Code Quality (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 / 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 Approve on CI Green (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 887h28m41s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 887h28m42s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 887h29m26s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 887h29m26s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 887h29m28s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 887h29m30s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 887h29m30s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 888h2m8s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 888h2m52s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 888h2m56s
根因:_call_ai_cover_service 降级到 stub 时,image_url 返回
/api/v1/assets/placeholder/cover?plan={plan_id},该端点不存在,
浏览器 404 加载失败,显示 broken image。

修复:
- manual 模式和 AI stub 模式的 image_url 改为 SVG data URI
  占位图(1080x1920,深色背景 + 提示文字),前端可直接渲染
- 不依赖任何后端端点,无需网络请求
2026-08-10 15:57:07 +08:00