Skip to content

fix: show the cause of request errors and keep the mode on the pill - #218

Merged
nofuturekid merged 2 commits into
mainfrom
fix/error-cause-and-mode-label
Oct 6, 2026
Merged

nofuturekid merged 2 commits into
mainfrom
fix/error-cause-and-mode-label

Conversation

@nofuturekid

Copy link
Copy Markdown
Owner

Refs #217.

Every tab failed with "Error while reading JSON response" while the connection test passed, and the report could not be narrowed down from the app:

  • Error cause. Apollo wraps any parsing failure in that generic message and keeps the reason only in the cause. Throwable.failureMessage() appends the innermost cause (type + message, capped at 200 chars); used for polling errors, the connection test and response classification.
  • Connection pill. A bare "Offline" hid whether the app was polling the local or the remote address, while the server-sheet test only checks the URL being edited. The pill now reads "Local · Offline" / "Remote · Offline" (connectionLabel(), extracted from TopBar).

Tests: ResponseClassifierTest (+3: root cause shown, cause without message, long cause capped), new ConnectionLabelTest (3). ./scripts/local-ci.sh passed (build, lint, unit tests).

UI change (pill text): needs the on-device acceptance pass before release.

🤖 Generated with Claude Code

nofuturekid and others added 2 commits October 6, 2026 20:38
#217: every tab failed with "Error while reading JSON response" while
the connection test passed. Two things made that undiagnosable:

- Apollo wraps any parsing failure in that generic message and keeps
  the reason only in the cause, which the app dropped. Errors now carry
  the innermost cause ("... (EOFException: End of input ...)"), capped
  at 200 characters.
- The connection pill showed a bare "Offline", hiding whether the app
  was polling the local or the remote address, although the test in the
  server sheet only checks the URL being edited. It now reads
  "Local · Offline" / "Remote · Offline".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nofuturekid
nofuturekid merged commit 7b688a0 into main Oct 6, 2026
8 checks passed
@nofuturekid
nofuturekid deleted the fix/error-cause-and-mode-label branch October 6, 2026 18:52
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