AOSSIE-Org / AOSSIE-Org/DebateAI

Frontend crashes when backend returns non-JSON or empty responses

未关闭
#244 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
TypeScript
星标
84
派生
198
平均合并
2 天 19 小时
30 天内合并 PR
30

描述

### **_Problem_**
The frontend assumes that all API responses are valid JSON and directly calls `response.json()` without validation.

When the backend returns an empty response body or a non-JSON response (for example during authentication failures or server-side errors), the frontend crashes with the following error:

### **_Expected Behavior_**

The frontend should handle error responses gracefully and avoid crashing when the response body is empty or not valid JSON.
Instead, it should:

- Safely parse responses
- Display a user-friendly error message
- Allow the application to continue running

### **_Actual Behavior_**

The frontend crashes immediately when response.json() is called on an empty or invalid response body, making the application unusable.

### **_Impact:_**

Poor user experience

Application crashes instead of showing meaningful errors

Backend issues are masked by frontend runtime errors

New users and contributors cannot proceed when an API error occurs

### **_Steps to Reproduce:_**

Run the backend and frontend locally

Trigger an API error (e.g. auth failure or backend returning an empty response)

Observe the frontend crash with Unexpected end of JSON input

### **_Suggested Fix_**

Before calling response.json(), the frontend should:

_- Check response.ok_
_- Gracefully fall back to response.text() when JSON parsing fails_
_- Handle empty responses safely_
_- This would make the frontend more robust even when backend errors occur.__

Related Issues

This issue is exposed by backend auth failures (see issue #243), but frontend error handling should be improved independently to prevent crashes.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。