Laat een kapot paneel geen kapotte applicatie meer zijn
Er was nergens een error boundary: geen componentDidCatch, geen getDerivedStateFromError. Eén component die gooit nam de hele werkbank mee, inclusief de kaart en de navigatie. Nu blijft de schil staan, ziet de gebruiker welk werkblad het liet afweten, en wist wegnavigeren de fout. Daarnaast een patroon dat op zeven plekken half was toegepast: een optionele keten die te vroeg stopt. report?.items?.filter(...) stond geguard, twintig regels verderop stond report.items.map(...) zonder. Half geguard is de eigenlijke fout, want het wekt zekerheid zonder die te bieden. Waar de lijst op meerdere plekken gebruikt wordt staat nu één normalisatie aan de kop. De brondetails hadden geen enkele afhandeling en werden met .catch(() => null) overgeslagen; die melden nu wel. De overige elf catch-blokken bleken bovenop hooks te staan die de fout al zelf opvangen en tonen, wat ik heb nagemeten door een verzoek te laten mislukken. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -206,9 +206,9 @@ export function DetectionLab({
|
||||
(profile) => profile.modelAssetId === selectedModelAssetId,
|
||||
) ?? null
|
||||
const yoloRuntimeReady = Boolean(
|
||||
yoloPreflight?.checks.enabled &&
|
||||
yoloPreflight.checks.dependencies_available &&
|
||||
yoloPreflight.checks.model_file_exists,
|
||||
yoloPreflight?.checks?.enabled &&
|
||||
yoloPreflight.checks?.dependencies_available &&
|
||||
yoloPreflight.checks?.model_file_exists,
|
||||
)
|
||||
const detectionRequiresTileManifest = selectedDetectionModelId === 'yolo-configured'
|
||||
const detectionHasDataset = selectedDetectionDatasetId.length > 0
|
||||
@@ -308,7 +308,7 @@ export function DetectionLab({
|
||||
<p>{selectedOperatorProfile?.displayName ?? selectedModelAsset?.display_name ?? 'Lokaal YOLO-model'}</p>
|
||||
</div>
|
||||
<div className={yoloRuntimeReady ? 'ai-user-summary-card ai-user-summary-card-ready' : 'ai-user-summary-card'}>
|
||||
<span>PyTorch-runtime</span>
|
||||
<span>Rekenomgeving</span>
|
||||
<strong>{yoloRuntimeReady ? 'Gereed' : loadingDetectionModels ? 'Controleren...' : 'Niet gereed'}</strong>
|
||||
<p>{yoloRuntimeReady ? `${yoloPreflight?.runtime.cuda_available ? 'GPU' : 'CPU'} · lokaal model gevonden` : 'Controleer de modelconfiguratie onder beheer.'}</p>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user