fix(tui): show execution failures in the viewed session - #46968
Open
kitlangton wants to merge 1 commit into
Open
fix(tui): show execution failures in the viewed session#46968kitlangton wants to merge 1 commit into
kitlangton wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Why
A session can fail before the first model request and before an assistant message exists. The TUI receives
session.execution.failed, but only plays a sound or sends a desktop notification when blurred. A user looking at the focused terminal gets no error explanation.What Changes
The currently viewed session now shows the execution event's error message in a nonblocking Session failed toast. This works without an assistant message and leaves the composer and draft in place.
This uses the existing terminal-event tracking and toast component, with four production lines added. It neither fabricates an assistant message nor infers that the working directory is missing.
Demo
execution-toast-comparison.mp4
Before
efefd90443; aftere790e81dfc. One identical OpenCode Drive script runs the production TUI at 100×30, with an intentionally unavailable fictional model (fixture/unavailable) and an isolated project/server. The real execution fails before any model call; both runs assert zero LLM requests and zero assistant messages. The prompt is submitted through the real API while the visible composer contains a separate draft.The matched, unscaled four-second clips start at the failure checkpoint. Both continue typing
intact; only the changed TUI shows the error. No live service, user configuration, real provider, or real model is involved. Drive 2.0.1 sourcef6a3f55; no acceleration.Scope
This is live presentation for the viewed session, including pre-model failures. All viewed execution failures get the toast, even when another error is already visible in the transcript. The default toast lifetime is unchanged; this does not reconstruct past errors after reopening a session.
Independent of #46967, which adds plugin/operation attribution for deferred skill failures. No dependency on or changes to #46961's location/catalog recovery UI, and no move recommendation or automatic retry.
Verification