diff --git a/frontend/src/components/analysis/ChangeDetectionPanel.tsx b/frontend/src/components/analysis/ChangeDetectionPanel.tsx index b057c41d..c6054876 100644 --- a/frontend/src/components/analysis/ChangeDetectionPanel.tsx +++ b/frontend/src/components/analysis/ChangeDetectionPanel.tsx @@ -136,7 +136,7 @@ export function ChangeDetectionPanel({ ) : null} - {result?.warnings.length ? ( + {result?.warnings?.length ? (
{selectedOperatorProfile?.displayName ?? selectedModelAsset?.display_name ?? 'Lokaal YOLO-model'}
{yoloRuntimeReady ? `${yoloPreflight?.runtime.cuda_available ? 'GPU' : 'CPU'} · lokaal model gevonden` : 'Controleer de modelconfiguratie onder beheer.'}
{capabilitiesError}
Vernieuw de status zodra de backend bereikbaar is.
@@ -157,7 +160,7 @@ export function ProviderPanel({werkblad staat
+} + +describe('WorkspaceErrorBoundary', () => { + afterEach(() => cleanup()) + + it('houdt de schil overeind en biedt een nieuwe poging aan', () => { + // React logt de gevangen fout zelf ook; die ruis hoort niet in de uitvoer. + const stil = vi.spyOn(console, 'error').mockImplementation(() => {}) + + function Proef(): JSX.Element { + const [gooi, setGooi] = useState(true) + return ( ++ De rest van de werkbank blijft bruikbaar. Ga naar een ander werkblad, of probeer dit werkblad + opnieuw te openen. +
+{error.message}
+{report.limitations.join(' ')}
diff --git a/frontend/src/hooks/useDatasetWorkflow.ts b/frontend/src/hooks/useDatasetWorkflow.ts index 6b53a441..838a395e 100644 --- a/frontend/src/hooks/useDatasetWorkflow.ts +++ b/frontend/src/hooks/useDatasetWorkflow.ts @@ -82,6 +82,13 @@ export function useDatasetWorkflow({ setErrorMessage, isVectorDatasetType, }: DatasetWorkflowOptions) { + // De detailgegevens van een bron werden bij een fout stilzwijgend + // overgeslagen; het paneel bleef dan leeg zonder dat iemand wist waarom. + const meldDetailFout = (fout: unknown) => { + setErrorMessage(fout instanceof Error ? fout.message : 'De brondetails konden niet worden geladen') + return null + } + const [selectedDatasetId, setSelectedDatasetId] = useState