Skip to content

Frontend crashes when backend returns non-JSON or empty responses #244

@SoorejS

Description

@SoorejS

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions