fix: timeline disappears after QC re-render

- Set staleTime=0 on useAccessibleVideoEditState so edit-state is
  immediately refetched when invalidated after render completes
- Force prevJobStatusRef='rendering_qc' at render start so the
  pending_qc completion effect always fires, even when fast renders
  complete before the 10s polling interval catches rendering_qc status

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Vadym Samoilenko 2026-03-27 12:31:06 +00:00
parent 6f963ff7c4
commit 05a2fe5101
2 changed files with 6 additions and 2 deletions

View file

@ -1,4 +1,4 @@
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
import { useQuery, useMutation, useQueryClient, keepPreviousData } from '@tanstack/react-query';
import { apiClient } from '../lib/api';
/**
@ -9,8 +9,9 @@ export function useAccessibleVideoEditState(jobId: string, language: string) {
queryKey: ['jobs', jobId, 'accessible-video', language, 'edit-state'],
queryFn: () => apiClient.getAccessibleVideoEditState(jobId, language),
enabled: !!jobId && !!language,
staleTime: 30000, // 30 seconds
staleTime: 0,
refetchOnWindowFocus: false,
placeholderData: keepPreviousData,
});
}

View file

@ -523,6 +523,9 @@ export function QCDetail() {
if (!id) return;
try {
// Force prevJobStatusRef to 'rendering_qc' so the completion effect fires
// even if polling misses the rendering_qc state (fast renders < 10s)
prevJobStatusRef.current = 'rendering_qc';
await rerenderMutation.mutateAsync({
jobId: id,
language: selectedLanguage,