Running lip-sync progress panel with per-page timing and early stop control.
Source: web/frontend/src/components/LipsyncRunPanel.tsx
{
jobId: string
progress: ProgressEvent | null
initialPageTimes?: LipsyncPageTime[]
}
progress.data from lip-sync page events.page_done events.page_progress if page_start was missed.stopJob(jobId); Keep running closes the warning without changing the job.initialPageTimes lets the panel show persisted progress after a browser reload.
| State | Purpose |
|---|---|
pageTimes |
Completed page durations |
currentPage / pageStartRef |
Active-page timer |
showStopConfirm |
Whether the inline confirmation is visible |
stopping |
Prevents duplicate stop requests |
stopError |
User-facing API failure message |
lipsync_progressstopJob()