fix(tui): handle JSON parse error on double-escape abort #7959
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #7946
When aborting a session with double-escape (pressing Esc twice), the
session.abort()call races with the in-flightsession.prompt()request. If the server terminates the response mid-stream, the response body is incomplete or empty, causing the SDK's JSON parser to throwSyntaxError: Unexpected end of JSON input.Changes
.catch(() => {})to thesession.abort()call in the TUI prompt component to silently ignore expected errors during abortThis matches the existing pattern used in
routes/session/index.tsx:400andapp/src/pages/session.tsx:577for the same scenario.Test plan
bun run typecheckon the opencode package (passes)🤖 Generated with Claude Code