Skip to content

feat: handle backend failures with retry#143

Open
lidel wants to merge 1 commit into
mainfrom
feat/abort-on-timeout
Open

feat: handle backend failures with retry#143
lidel wants to merge 1 commit into
mainfrom
feat/abort-on-timeout

Conversation

@lidel

@lidel lidel commented Jun 20, 2026

Copy link
Copy Markdown
Member

The web UI used to spin forever when the backend stalled and printed raw text for other errors. Now it aborts a stalled request and surfaces every failure as a clear, styled message with a retry path + hint at self-hosting.

  • web: abort at the chosen timeout plus 5s leniency, then relabel the button to Retry; classify and explain unreachable backends, HTTP errors (4xx vs 5xx), and unreadable or undisplayable responses
  • web: every failure message links to running a self-hosted backend
  • web: escape backend-supplied text before rendering it
  • backend: /check sends liberal CORS headers and answers OPTIONS preflight so any frontend or self-hosted origin can call it
  • docs: README self-hosting section covering CORS and iframe embedding
  • rebuild compiled CSS so the warning boxes render (also fixes the existing stale-records warning, which shipped unstyled)

Demo

Various error states now have meaningful feedback to the user:

1-testing 2-waiting 3-timeout 4-unreachable 5-http-400 6-http-500 7-unreadable 8-render-error 9-success

The web UI used to spin forever when the backend stalled and printed
raw text for other errors. Now it aborts a stalled request and
surfaces every failure as a clear, styled message with a retry path.

- web: abort at the chosen timeout plus 5s leniency, then relabel the
  button to Retry; classify and explain unreachable backends, HTTP
  errors (4xx vs 5xx), and unreadable or undisplayable responses
- web: every failure message links to running a self-hosted backend
- web: escape backend-supplied text before rendering it
- backend: /check sends liberal CORS headers and answers OPTIONS
  preflight so any frontend or self-hosted origin can call it
- docs: README self-hosting section covering CORS and iframe embedding
- rebuild compiled CSS so the warning boxes render (also fixes the
  existing stale-records warning, which shipped unstyled)
@lidel lidel requested a review from a team June 20, 2026 01:12
@github-actions

Copy link
Copy Markdown

🚀 Build Preview on IPFS ready

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant