fix(tui): handle hidden app git directives#21946
Open
fcoury-oai wants to merge 1 commit intomainfrom
Open
Conversation
c869ec7 to
ea5565d
Compare
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
The desktop App treats
::git-*directives as hidden control messages: it keeps them out of the visible transcript while still using them to react to successful git actions. When the TUI replays App-authored sessions today, it treats those directives as ordinary assistant markdown instead, which both leaks internal control text to the user and leaves the two clients with different handling for the same assistant output.What changed
git-create-branchdirectives, re-read the actual workspace branch through the existing workspace-command path before syncing stored thread metadata, so local and remote sessions both use workspace state as the source of truth.How to Test
::git-push{...}.::git-*line.git-create-branchdirective, verify the stored thread branch follows the branch actually checked out in the workspace, without adding any visible transcript text.Targeted tests:
cargo test -p codex-tui git_action --no-fail-fast