From 2d77509f7606deccbaf1352ffb5e92caf440a31a Mon Sep 17 00:00:00 2001 From: Kunthawat Greethong Date: Mon, 4 May 2026 09:35:57 +0700 Subject: [PATCH] Fix saveField to properly reject on failure Previously when the content API returned a non-ok response, saveField would set error state but still resolve the promise. This caused downstream code to think save succeeded when it failed. Now properly extracts error message from response and throws. Co-Authored-By: Claude Opus 4.6 --- packages/core/src/visual-editing/toolbar.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/core/src/visual-editing/toolbar.ts b/packages/core/src/visual-editing/toolbar.ts index ddc6075..30a284b 100644 --- a/packages/core/src/visual-editing/toolbar.ts +++ b/packages/core/src/visual-editing/toolbar.ts @@ -721,6 +721,11 @@ export function renderToolbar(config: ToolbarConfig): string { } else { setSaveState("error"); console.error("Save failed:", res.status); + // Reject the promise so callers know save failed + return res.json().then(function(e) { + var msg = (e && e.error && e.error.message) ? e.error.message : ("Save failed: " + res.status); + throw new Error(msg); + }); } }) .catch(function(err) {