Skip to content

Clicking away from an in-progress pane-group rename discards the edit instead of committing it (macOS inline-rename norm) #14240

Description

@fbartho

Describe the bug

When renaming a pane group in the vertical-tabs sidebar (code-side these are tab groups), the new name only takes effect on Enter. Clicking elsewhere while the rename field is open silently discards the edit. The macOS convention for inline rename (Finder, Xcode's navigator, Notes) is commit-on-blur: clicking away confirms the name; Escape is the cancel gesture.

To reproduce

  1. In the vertical-tabs sidebar, double-click a pane group's header (or choose Rename from its right-click menu)
  2. Type a new name
  3. Click the sidebar background instead of pressing Enter
  4. The name reverts to its previous value

Expected

Click-away commits the new name; Escape remains the way to cancel.

Where the behavior comes from

This looks at least partly intentional, so I'm framing it as a design decision worth revisiting rather than a plain bug:

  • The rename editor itself already commits on blur: handle_tab_group_rename_editor_event maps EditorEvent::Blurred | Enter => finish_tab_group_rename (app/src/workspace/view.rs:1482-1501). That matches the rest of the app — tab rename, pane rename, conversation rename, the host-picker slug editor, and most settings fields handle Blurred | Enter the same way, and the file tree commits on blur via its View::on_blur hook ("matches VS Code").
  • But the vertical-tabs panel background dispatches WorkspaceAction::CancelActiveRename on click (app/src/workspace/view/vertical_tabs.rs:1718-1720), and that action is documented as deliberate: "Cancels any active rename … without committing … Dispatched when clicking on the vtab panel background while a rename editor is open" (app/src/workspace/action.rs:189-192). Its handler cancels all three rename kinds (view.rs:23859-23863); clearing the rename state makes the editor's blur-commit early-return into a no-op (view.rs:1557-1560).

Why I think it's worth changing

  • It's inconsistent with itself: click-away onto the sidebar background discards the edit, while click-away onto a focusable target outside the sidebar blurs the editor and commits.
  • It's inconsistent with the app's own convention — everywhere else, inline editors commit on blur.
  • It's contrary to the macOS norm (Finder, Xcode's navigator, Notes): click-away confirms; Escape is the cancel gesture. A silent discard also loses typed input with no signal, which is the more damaging default.

Individual tab and pane renames are affected the same way, since CancelActiveRename cancels all three.

Suggested fix

If you agree the behavior should change: make the panel-background click finish the active rename instead of cancelling — or drop the CancelActiveRename dispatch entirely and let the editor's own Blurred → finish path run. No test currently covers commit-on-blur or click-away for any of the three rename flows; a regression test on the CancelActiveRename-vs-finish interaction would lock the chosen behavior in.

Related: #10580.

Environment

  • Warp: 0.2026.07.08.17.54.02 (stable)
  • macOS: 27.0 (26A5388g)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:window-tabs-panesWindow, tab, pane, and workspace layout management.bugSomething isn't working.factory-auto-implementQueued for automated implementation by the Warp factoryos:macmacOS-specific behavior, regressions, or requests.ready-to-implementThe issue is ready for implementation work.repro:highThe report includes enough evidence that the issue appears highly reproducible.triagedIssue has received an initial automated triage pass.warp:auto-triage-reviewwarp:trackingWe haven't decided to support this issue, but are tracking for community engagement.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions