From 8a6e2686064bd4b9cd27d42f26204b636a764fd4 Mon Sep 17 00:00:00 2001 From: Kunthawat Greethong Date: Mon, 4 May 2026 11:21:02 +0700 Subject: [PATCH] Use r.text() instead of r.json() for error responses in handleImageUpload MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The error path was throwing at r.json() parsing — r.text() lets us log the actual raw response before trying to parse it as JSON. Co-Authored-By: Claude Opus 4.6 --- packages/core/src/visual-editing/toolbar.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/core/src/visual-editing/toolbar.ts b/packages/core/src/visual-editing/toolbar.ts index 6316a90..6335757 100644 --- a/packages/core/src/visual-editing/toolbar.ts +++ b/packages/core/src/visual-editing/toolbar.ts @@ -1242,10 +1242,15 @@ export function renderToolbar(config: ToolbarConfig): string { }) .then(function(r) { console.log("[emdash] Upload response status:", r.status); + console.log("[emdash] Upload response headers:", r.headers.get("content-type")); if (!r.ok) { - return r.json().then(function(e) { - console.log("[emdash] Upload error response:", JSON.stringify(e)); - var msg = (e && e.error && e.error.message) ? e.error.message : ("Upload failed: " + r.status); + return r.text().then(function(text) { + console.log("[emdash] Upload error text:", text); + var msg = "Upload failed: " + r.status; + try { + var e = JSON.parse(text); + if (e && e.error && e.error.message) msg = e.error.message; + } catch {} throw new Error(msg); }); }