diff --git a/frontend/App.tsx b/frontend/App.tsx index c12676d..e44b88e 100755 --- a/frontend/App.tsx +++ b/frontend/App.tsx @@ -347,8 +347,9 @@ const App: React.FC = () => { } }; - const handleRetryAnalysis = async (campaignName: string, tempId: string) => { - const proofToRetry = campaignProofs[campaignName]?.find(proof => proof.tempId === tempId); + const handleRetryAnalysis = async (campaignName: string, proofId: string) => { + const matchProof = (proof: any) => proof.tempId === proofId || proof._id === proofId; + const proofToRetry = campaignProofs[campaignName]?.find(matchProof); if (!proofToRetry) { console.error("Proof to retry not found"); @@ -385,7 +386,7 @@ const App: React.FC = () => { setCampaignProofs(prevProofs => ({ ...prevProofs, [campaignName]: prevProofs[campaignName].map(proof => - proof.tempId === tempId ? { ...proof, status: 'analyzing', analysisProgress: { completed: 0, total: AGENT_NAMES.length + 1 } } : proof + matchProof(proof) ? { ...proof, status: 'analyzing', analysisProgress: { completed: 0, total: AGENT_NAMES.length + 1 } } : proof ) })); @@ -393,7 +394,7 @@ const App: React.FC = () => { setCampaignProofs(prevProofs => { const currentProofs = prevProofs[campaignName] || []; const updatedProofs = currentProofs.map(proof => { - if (proof.tempId === tempId && proof.status === 'analyzing') { + if (matchProof(proof) && proof.status === 'analyzing') { const newCompleted = (proof.analysisProgress?.completed ?? 0) + 1; return { ...proof, analysisProgress: { ...proof.analysisProgress, completed: newCompleted } }; } @@ -423,10 +424,9 @@ const App: React.FC = () => { })); } catch (refreshError) { console.error('Failed to refresh proofs after retry:', refreshError); - // Remove the temp placeholder since analysis succeeded setCampaignProofs(prevProofs => ({ ...prevProofs, - [campaignName]: prevProofs[campaignName].filter(p => p.tempId !== tempId) + [campaignName]: prevProofs[campaignName].filter(p => !matchProof(p)) })); } @@ -447,7 +447,7 @@ const App: React.FC = () => { setCampaignProofs(prevProofs => ({ ...prevProofs, [campaignName]: prevProofs[campaignName].map(proof => - proof.tempId === tempId ? { ...proof, status: 'error' } : proof + matchProof(proof) ? { ...proof, status: 'error' } : proof ) })); } diff --git a/frontend/components/Campaigns.tsx b/frontend/components/Campaigns.tsx index 2ede821..f5d70ae 100755 --- a/frontend/components/Campaigns.tsx +++ b/frontend/components/Campaigns.tsx @@ -1259,7 +1259,7 @@ const CampaignDetail: React.FC<{ Analysis failed.