Fix TUI zero-state onboarding flicker - #14612
Conversation
Co-Authored-By: Warp <agent@warp.dev>
|
I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This PR changes the TUI first-zero-state flow from a boolean into pending/visible/dismissed states so returning users see the standard zero state while account-scoped onboarding markers load. The implementation and updated tests did not surface a line-mappable correctness, security, or spec-drift issue in the attached diff.
Concerns
- This is a user-facing TUI behavior change, but the PR does not attach acceptable TUI visual evidence. The description lists manual tmux verification and frame polling, but repo guidance requires a terminal transcript,
render_to_lines/TuiBuffer::to_linessnapshot diff, or./script/run-tuicapture demonstrating the behavior end to end.
Verdict
Found: 0 critical, 1 important, 0 suggestions
Request changes
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz

Description
Prevent returning Warp Agent CLI users from briefly seeing the first-run “What’s different about Warp” content while account-scoped onboarding markers load.
The session now tracks the first zero state as pending, visible, or dismissed. Pending markers render the standard project context and MCP zero state; the first-run content becomes visible only after the persisted marker confirms it is still available. User interaction while loading also prevents a late first-run reveal.
Linked Issue
Reported directly during TUI testing; no matching Linear or GitHub issue.
Testing
./script/formatcargo clippy --workspace --exclude warp_completer --all-targets --tests -- -D warningscargo clippy -p warp --all-targets --tests -- -D warningscargo clippy -p warp_completer --all-targets --tests -- -D warningsenv -u WARP_API_KEY cargo nextest run -p warp_tui(963 passed)Live
warp-tui-ossstartup verification under tmux with inherited authenticationPolled 80 startup frames at 250 ms intervals: the standard zero state appeared and the first-run copy appeared in zero frames
I have manually tested my changes locally with the Warp TUI
Agent Mode
CHANGELOG-TUI: Fixed first-run onboarding content briefly appearing during startup for returning users.
Co-Authored-By: Warp agent@warp.dev