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.