Merge pull request 'Improve API error messages: show HTTP status, catch network errors' (#6) from feature/auth-invites into main
CI / build-and-push (push) Successful in 37s

Reviewed-on: #6
This commit was merged in pull request #6.
This commit is contained in:
2026-04-27 20:14:13 -04:00
+5 -2
View File
@@ -86,8 +86,8 @@ async function request<T>(path: string, options: RequestInit & { timeoutMs?: num
}); });
if (!res.ok) { if (!res.ok) {
const body = await res.json().catch(() => ({ error: 'Unknown error' })); const body = await res.json().catch(() => null);
throw new Error(body.error || `HTTP ${res.status}`); throw new Error(body?.error || `HTTP ${res.status} ${res.statusText}`);
} }
return res.json(); return res.json();
@@ -95,6 +95,9 @@ async function request<T>(path: string, options: RequestInit & { timeoutMs?: num
if (e instanceof DOMException && e.name === 'AbortError') { if (e instanceof DOMException && e.name === 'AbortError') {
throw new Error('Request timed out — server may be unreachable'); throw new Error('Request timed out — server may be unreachable');
} }
if (e instanceof TypeError) {
throw new Error('Network error — server may be unreachable');
}
throw e; throw e;
} finally { } finally {
clearTimeout(timeout); clearTimeout(timeout);