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
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:
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user