AOSSIE-Org / AOSSIE-Org/DebateAI

Frontend crashes when backend returns non-JSON or empty responses

Aperta
#244 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
84
Fork
198
Merge medio
2g 19h
PR unite (30g)
30

Descrizione

### **_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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.