From eac7ecd5829b15100eca47e1af375a4fa7528600 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 27 Oct 2026 08:42:42 +0000 Subject: [PATCH] API client: a 200 that is not JSON is said plainly instead of failing as 'r is null' Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01BzJLJWVu7RZnbRqm3nYAnX --- app/ui/shell/api.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/ui/shell/api.js b/app/ui/shell/api.js index 199af4e9..fbb6f015 100644 --- a/app/ui/shell/api.js +++ b/app/ui/shell/api.js @@ -16,6 +16,9 @@ export async function call(method, path, body) { }); const payload = await res.json().catch(() => null); if (!res.ok) throw Object.assign(new Error(why(res, payload)), { status: res.status }); // status: a refusal (4xx) is not an outage + // A 200 that is not JSON is not FunUI answering (ComfyUI restarting, a proxy's page, a route this server does not have): + // saying so beats every caller failing on "r is null". + if (payload === null && res.status !== 204) throw Object.assign(new Error(`FunUI did not answer ${path} (ComfyUI may be restarting, or this page is older than the server: reload the page).`), { status: 502 }); return payload; }