fix(ai-avatar): 修复配音前置PR的CI错误——test import路径/TS类型/eslint warning
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 30s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 31s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 55s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m4s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m50s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 2m19s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m42s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m12s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 3m51s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m23s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 83h15m2s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 83h15m15s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 83h15m13s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 83h14m44s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 83h14m49s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 83h14m50s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 83h14m51s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 83h14m51s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 83h14m37s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 83h14m37s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 83h14m55s

- test_sentence_timings.py 改为从 packages.domain.sentence_timings 导入(函数已提取)
- AiAvatarPage.tsx payload类型改为Parameters<typeof createLipsyncJob>[0]消除TS2345
- 去掉useCallback中重复的state.ttsPreview.status依赖(state已覆盖)
This commit is contained in:
xiaoxia
2026-09-13 04:06:20 +08:00
parent d12632e32a
commit c2de565e09
2 changed files with 9 additions and 8 deletions
@@ -190,7 +190,7 @@ const AiAvatarPage: React.FC = () => {
if (state.ttsPreview.status === "generating") {
state.resetTtsPreview()
}
}, [_clearTtsProgressTimer, state.ttsPreview.status, state])
}, [_clearTtsProgressTimer, state])
/* ── 上一步(返回步骤1,不会丢失 TTS 预合成结果) ── */
const handlePrevStep = useCallback(() => {
@@ -235,12 +235,13 @@ const AiAvatarPage: React.FC = () => {
return
}
let payload: Record<string, unknown>
type LipsyncPayload = Parameters<typeof createLipsyncJob>[0]
let payload: LipsyncPayload
if (isPreSynth) {
// 预合成模式:传 audio_url + audio_duration + sentence_timings(后端直接提交 MediaKit,~2-3s)
payload = {
video_url: videoUrl,
audio_url: state.ttsPreview.audioUrl,
audio_url: state.ttsPreview.audioUrl!,
audio_duration: state.ttsPreview.duration,
sentence_timings: state.ttsPreview.sentenceTimings,
enable_video_loop: false,
+5 -5
View File
@@ -1,4 +1,4 @@
"""Tests for sentence timing functions in lipsync_tts."""
"""Tests for sentence timing functions (now in packages/domain/sentence_timings.py)."""
import os
import subprocess
@@ -6,10 +6,10 @@ import tempfile
import unittest
from unittest.mock import MagicMock, patch
from apps.api.app.tasks.lipsync_tts import (
_compute_sentence_timings,
_estimate_sentence_timings_by_chars,
_split_script_into_sentences,
from packages.domain.sentence_timings import (
compute_sentence_timings as _compute_sentence_timings,
estimate_sentence_timings_by_chars as _estimate_sentence_timings_by_chars,
split_script_into_sentences as _split_script_into_sentences,
)