fix(tui): preserve queued follow-ups after capacity errors - #1
Open
relh wants to merge 1 commit into
Open
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.
What
Keep Tab-queued follow-up inputs pending when an active TUI turn terminalizes with a structured
ServerOverloadederror. Successful turn completion continues to advance the queue normally.Candidate fix for openai#33853, held in the fork pending the maintainer invitation required by upstream's external-contribution policy.
Why
The overload handler currently finalizes the failed turn and immediately calls
maybe_send_next_queued_input(). A dependent follow-up can therefore begin against partial side effects and incomplete conversation state from the failed prerequisite turn.This is intentionally separate from same-turn capacity retry work such as openai#31058: even after a retry budget is exhausted, dependent queued work should not cascade automatically.
How
turn/completednotification.Op::UserTurnis emitted and that the queued text remains available for review.Validation
just test -p codex-tui live_app_server_server_overloaded_error_preserves_queued_follow_upjust test -p codex-tui(3,094 passed; 4 pre-existing skipped)just fix -p codex-tuijust fmt