Dismiss Settings overlay when invoking New Thread#56818
Merged
Conversation
Contributor
Author
|
/cherry-pick stable |
Contributor
Author
|
/cherry-pick preview |
Contributor
|
🍒💥 Cherry-pick did not succeed |
Contributor
|
🍒💥 Cherry-pick did not succeed |
1 similar comment
Contributor
|
🍒💥 Cherry-pick did not succeed |
Member
|
/cherry-pick preview |
Contributor
|
🍒💥 Cherry-pick did not succeed |
Member
|
@zed-industries/approved |
This was referenced May 27, 2026
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.
When the Agent Panel had the Settings overlay open on top of the
ephemeral new-draft thread, pressing Cmd-N (or clicking Start New
Thread in Settings) silently did nothing — the action ran, but the
Settings overlay stayed painted on top.
The bug was in
AgentPanel::activate_draft. Every otheractivate_*path goes through
set_base_view, which clears the overlay. Butactivate_drafthas an early return for the case where the base viewalready holds the requested draft, and that early return only refocused
— it never touched
overlay_view. So when the user was already on thedraft and the Settings overlay was on top, "new thread" had nothing
visible to do.
Fix: in that early-return branch, if an overlay is currently open, clear
it (which also handles focusing and emits
ActiveViewChanged).Added a regression test that puts the panel on the draft, sets the
Settings overlay, dispatches
NewThread, and asserts the overlay isgone. The test directly toggles
set_overlay(OverlayView::Configuration, …)rather than callingopen_configuration, because the latter buildsprovider configuration views and panics on the fake LM provider's
unimplemented!()configuration_view— and the bug being exercisedlives entirely in the overlay/base-view bookkeeping.
Closes AI-237
Release Notes: