Skip to content

feat(ui): start-chat modal and pane close controls, retire the sidebar-swap flow - #418

Merged
yicheng47 merged 2 commits into
gpui-nightlyfrom
feat/start-chat-modal
Aug 18, 2026
Merged

feat(ui): start-chat modal and pane close controls, retire the sidebar-swap flow#418
yicheng47 merged 2 commits into
gpui-nightlyfrom
feat/start-chat-modal

Conversation

@yicheng47

Copy link
Copy Markdown
Owner

The M3-closing UI task (M4 pull-forward): main's Start Chat modal built natively on the M3.5 runtimes backend, plus main's pane close control — the walking-skeleton sidebar-swap new-chat flow is deleted.

What it does

  • start_chat.rs: GPUI modal opened by ⌘T / New tab / empty-pane New chat (preselecting the focused chat's runner, like main): runner and runtime modes with persisted preference, runtime dropdown from the discovery-backed selectable catalog with availability states, model + effort fields per runtime, title auto-derive-until-edited, cwd field with a folder picker — via GPUI's cx.prompt_for_paths (review round 1 caught rfd blocking the main thread inside an entity lease; rfd is fully removed), spawn through the override-aware ops, rename-after-spawn.
  • modal_text_input.rs: reusable IME-capable text field (pulse text_input pattern + text_util), the seed of the M4.2 widget set.
  • Pane close button per main's ChatPaneGroup semantics, including empty panes; layout-tree rebuild ported with tests.
  • The sidebar-swap flow (new_chat_target, begin_pane_chat picker branch) is gone.

Also in this PR

  • docs: M3 re-scoped to backend-only (clean M3/M4 cut, Jason 2026-08-18); M4 restructured as a staged UI rebuild (M4.1 app shell → M4.6), with hidden-titlebar and app-icon details pinned.

Verification

  • make verify exit 0; terminal fixtures 10/10; 36 runner-app tests.
  • Codex-peer review clean after one must-fix round (the rfd main-thread block); reviewer independently re-ran clippy/fmt/tests and confirmed the rfd dependency is fully gone.
  • Human smoke pass to follow post-merge (reviewer's two dynamic checks: Browse… while a chat streams output; dropdown clipping when the modal is scrolled) — it doubles as M3.5's deferred verification.

🤖 Generated with Claude Code

@yicheng47
yicheng47 merged commit 620926a into gpui-nightly Aug 18, 2026
1 check passed
@yicheng47
yicheng47 deleted the feat/start-chat-modal branch August 18, 2026 11:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant