diff --git a/src/popup/popup.ts b/src/popup/popup.ts index 6a8a34a..3c62c31 100644 --- a/src/popup/popup.ts +++ b/src/popup/popup.ts @@ -987,10 +987,13 @@ async function handleRefreshAll() { return; } - // Find all documents that have been uploaded and are still visible + // Find all documents that have been uploaded and might change status + // Include erroneous docs - they can be fixed on the server and become shippable const uploadedDocs = pdfQueue.filter(p => p.binectDocumentId && - (p.binectStatus === 'in_basket' || p.binectStatus === 'in_production') + (p.binectStatus === 'in_basket' || + p.binectStatus === 'in_production' || + (p.binectStatus === 'failed' && p.binectStatusCode === 7)) // Erroneous on server ); if (uploadedDocs.length === 0) { @@ -1079,9 +1082,10 @@ async function handleRefreshStatus(id: string) { pdf.binectStatus = newStatus; pdf.binectStatusCode = result.status; pdf.binectStatusText = result.statusText; - if (result.price) pdf.price = result.price; + if (result.price !== undefined) pdf.price = result.price; if (result.recipientAddress) pdf.recipientAddress = result.recipientAddress; - if (result.errorDetails) pdf.errorMessage = result.errorDetails; + // Clear or set error message based on status + pdf.errorMessage = result.errorDetails || undefined; renderPDFList(); } catch (error) { diff --git a/src/utils/pdf-queue.ts b/src/utils/pdf-queue.ts index 319d1e8..8c45690 100644 --- a/src/utils/pdf-queue.ts +++ b/src/utils/pdf-queue.ts @@ -303,6 +303,11 @@ export async function updatePDFStatus( entry.contentHash = meta.contentHash; } + // Clear error message when transitioning to non-erroneous state + if (status !== 'failed' && entry.errorMessage) { + entry.errorMessage = undefined; + } + // Set timestamps based on status if (status === 'in_basket' && !entry.uploadedAt) { entry.uploadedAt = Date.now();