Skip to content

TUI: Add the first-session zero state - #14580

Merged
moirahuang merged 2 commits into
masterfrom
moira/tui-first-zero-state
Jul 31, 2026
Merged

TUI: Add the first-session zero state#14580
moirahuang merged 2 commits into
masterfrom
moira/tui-first-zero-state

Conversation

@moirahuang

@moirahuang moirahuang commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Description

Add the once-per-account first-session zero state. The first-run variant reuses the existing zero-state layout, animation, starfield, project context, input, and footer while presenting the Figma-aligned "What's different about Warp" guidance.

Design: https://www.figma.com/design/yg5nbPZuGoAszHS3Rhvehu/TUI?node-id=1768-18320&m=dev

Linked Issue

  • The linked issue is labeled ready-to-spec or ready-to-implement.
  • Where appropriate, screenshots or a short video of the implementation are included below (especially for user-visible or UI changes).

Implementation plan: https://staging.warp.dev/drive/notebook/VEDTJkrbVxEnFZIwM5uC3A

Testing

  • ./script/format

  • cargo check -p warp_tui --tests

  • Previously passed focused coverage: first_zero_state_matches_welcome_design_copy and first_zero_state_is_provisional_and_reconciles_without_replacing_the_session.

  • Full test execution and Clippy were skipped as requested.

  • I have manually tested my changes locally with ./script/run

Screenshots / Videos

Manual verification screenshot and discussion:
https://staging.warp.dev/conversation/b543d79e-e3d9-4f48-9516-50c2372eabc8

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

CHANGELOG-TUI: Added first-run guidance to the Warp Agent CLI welcome screen.

Co-Authored-By: Oz oz-agent@warp.dev

@cla-bot cla-bot Bot added the cla-signed label Jul 31, 2026

moirahuang commented Jul 31, 2026

Copy link
Copy Markdown
Contributor Author

@oz-for-oss

oz-for-oss Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

@moirahuang

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 /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@oz-for-oss oz-for-oss Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds a first-run variant of the TUI zero state, wires it to the onboarding marker model, and covers the new copy/state transitions with render-to-lines tests.

Concerns

  • The once-per-account marker is consumed from per-session initialization/ready callbacks before the implementation proves that the consuming session is the focused empty session that will actually show the first-run zero state. Background/restored sessions can therefore spend the marker and leave the user’s visible first session with only the standard zero state.

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

Comment thread crates/warp_tui/src/terminal_session_view.rs Outdated
@harryalbert
harryalbert force-pushed the moira/tui-onboarding-marker-plumbing branch from 5d61f0c to a55f030 Compare July 31, 2026 13:36
@harryalbert
harryalbert force-pushed the moira/tui-first-zero-state branch from 2554759 to 266c62f Compare July 31, 2026 13:36

@harryalbert harryalbert left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice! I pushed a change to make it so that we only subscribe to the marker singleton from sessions that might be involved in onboarding, just for efficiency's sake

@harryalbert
harryalbert force-pushed the moira/tui-onboarding-marker-plumbing branch from a55f030 to 9efa0fb Compare July 31, 2026 14:52
@harryalbert
harryalbert force-pushed the moira/tui-first-zero-state branch from 494e959 to 19ca56e Compare July 31, 2026 14:52
@moirahuang
moirahuang force-pushed the moira/tui-onboarding-marker-plumbing branch 2 times, most recently from c875b90 to 9c2f03a Compare July 31, 2026 16:43
@moirahuang
moirahuang changed the base branch from moira/tui-onboarding-marker-plumbing to graphite-base/14580 July 31, 2026 17:08
@graphite-app
graphite-app Bot changed the base branch from graphite-base/14580 to master July 31, 2026 17:08
@graphite-app

graphite-app Bot commented Jul 31, 2026

Copy link
Copy Markdown

Merge activity

  • Jul 31, 5:13 PM UTC: This pull request can not be added to the Graphite merge queue. Please try rebasing and resubmitting to merge when ready.
  • Jul 31, 5:13 PM UTC: Graphite disabled "merge when ready" on this PR due to: a merge conflict with the target branch; resolve the conflict and try again..

moirahuang and others added 2 commits July 31, 2026 10:32
Co-Authored-By: Oz <oz-agent@warp.dev>
@moirahuang
moirahuang force-pushed the moira/tui-first-zero-state branch from 19ca56e to 429cec8 Compare July 31, 2026 17:41
@moirahuang
moirahuang merged commit 44f112c into master Jul 31, 2026
32 checks passed
@moirahuang
moirahuang deleted the moira/tui-first-zero-state branch July 31, 2026 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants