diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index b2d6fdd..fa258ce 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -436,7 +436,7 @@ export default function App() { const handleCaptured = useCallback(() => { if (!archiveId) return - Promise.all([ + return Promise.all([ loadEntries(archiveId, searchQuery, tagFilter), fetchRuns(archiveId).then(setRuns), ]) diff --git a/frontend/src/components/CaptureDialog.jsx b/frontend/src/components/CaptureDialog.jsx index 6ec19e3..3878303 100644 --- a/frontend/src/components/CaptureDialog.jsx +++ b/frontend/src/components/CaptureDialog.jsx @@ -206,8 +206,8 @@ export default function CaptureDialog({ open, archiveId, onClose, onCaptured, on if (updated.status === 'completed') { clearInterval(pollIntervals.current.get(jobUid)) pollIntervals.current.delete(jobUid) + await Promise.resolve(onCapturedRef.current?.()) onJobSettledRef.current?.(bgJobId) - onCapturedRef.current() try { const notes = updated.notes_json ? JSON.parse(updated.notes_json) : null if (notes?.ublock_skipped || notes?.cookie_ext_skipped) { diff --git a/frontend/src/components/SkeletonEntryRow.jsx b/frontend/src/components/SkeletonEntryRow.jsx index b25e2d8..7c7f5b9 100644 --- a/frontend/src/components/SkeletonEntryRow.jsx +++ b/frontend/src/components/SkeletonEntryRow.jsx @@ -1,6 +1,7 @@ export default function SkeletonEntryRow() { return (
+