From c076d1332e0871b16b5881e2cf3ef165bc9f5dd5 Mon Sep 17 00:00:00 2001 From: Guilhem Date: Wed, 16 Jul 2025 19:26:48 +0200 Subject: [PATCH] fix(frontend): add error handler on trigger delete (#6208) --- .../components/triggers/TriggersEditor.svelte | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/frontend/src/lib/components/triggers/TriggersEditor.svelte b/frontend/src/lib/components/triggers/TriggersEditor.svelte index e0b0109d7d..c054bf9adb 100644 --- a/frontend/src/lib/components/triggers/TriggersEditor.svelte +++ b/frontend/src/lib/components/triggers/TriggersEditor.svelte @@ -31,6 +31,7 @@ GcpTriggerService, SqsTriggerService } from '$lib/gen' + import { sendUserToast } from '$lib/toast' interface Props { noEditor: boolean @@ -88,6 +89,7 @@ triggersState.selectedTriggerIndex = triggerIndex } + let deletingTrigger = $state(undefined) async function deleteDeployedTrigger(triggerIndex: number) { const { type: triggerType, path: triggerPath } = triggersState.triggers[triggerIndex] if (!triggerPath) { @@ -107,11 +109,19 @@ } const deleteHandler = deleteHandlers[triggerType as keyof typeof deleteHandlers] - if (deleteHandler) { - await deleteHandler()({ - workspace: $workspaceStore ?? '', - path: triggerPath ?? '' - }) + if (deleteHandler && deletingTrigger !== triggerIndex) { + deletingTrigger = triggerIndex + try { + await deleteHandler()({ + workspace: $workspaceStore ?? '', + path: triggerPath ?? '' + }) + sendUserToast(`Successfully deleted ${triggerType} trigger: ${triggerPath}`) + } catch (error) { + sendUserToast(error.body || error.message, true) + } finally { + deletingTrigger = undefined + } } }