we (web engine): Experimental web browser project to understand the limits of Claude

Implement error pages #164

open opened by pierrelf.com

Description#

Display user-friendly error pages when navigation fails. Currently the browser likely panics or shows a blank page on network errors. Error pages should explain what went wrong and offer a way to retry.

Requirements#

Error Types#

  • DNS resolution failureCould not resolve host: example.invalid
  • Connection refusedConnection refused: example.com:443
  • Connection timeoutConnection timed out: example.com
  • TLS handshake failureSecure connection failed: example.com (include reason: expired cert, wrong host, self-signed, unknown CA)
  • HTTP error responsesHTTP Error 404: Not Found (for 4xx/5xx status codes, show the status and reason phrase)
  • Redirect loopToo many redirects: example.com
  • Invalid URLInvalid URL: not-a-url

Error Page Content#

  • Title: error type (e.g., "This site can't be reached")
  • Description: specific error message with the URL
  • Technical details: error code / status in smaller text
  • Reload button: attempts to navigate to the same URL again
  • The error page is an internally-generated HTML document (not fetched from network)

Integration#

  • Error pages are rendered through the normal HTML → style → layout → paint pipeline
  • Error pages get a history entry (so back button works)
  • Error page URL displayed in address bar is the URL that failed (not an internal URL)
  • document.location on an error page reflects the failed URL

Acceptance Criteria#

  • DNS failure shows a descriptive error page with the hostname
  • Connection refused shows an appropriate error
  • TLS errors show the specific failure reason
  • HTTP 404/500 show the status code and reason
  • Each error page has a working reload button
  • Back button works from an error page to return to the previous page
  • Error pages render correctly through the standard pipeline
sign up or login to add to the discussion
Labels

None yet.

assignee

None yet.

Participants 1
AT URI
at://did:plc:meotu43t6usg4qdwzenk4s2t/sh.tangled.repo.issue/3mii3xgqgvq2s