Skip to content

Conversation

@benibenj
Copy link
Contributor

Copilot Generated Description: Update hover position handling in various chat input components to utilize the specified hover position options.

closes #290995

Copilot AI review requested due to automatic review settings January 28, 2026 16:44
@benibenj benibenj enabled auto-merge January 28, 2026 16:44
@benibenj benibenj self-assigned this Jan 28, 2026
@vs-code-engineering vs-code-engineering bot added this to the January 2026 milestone Jan 28, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adjusts how hovers are positioned for chat input pickers so that model/mode/session tooltips behave more stably (e.g., in the right sidebar), addressing the flickering hover behavior in the model picker.

Changes:

  • Extended the generic action widget hover model (IActionListItemHover) and ActionList hover rendering to accept explicit hover position options.
  • Added an optional hoverPosition to IChatInputPickerOptions and wired it through all chat input picker action items (model, mode, session target, delegation) so they can control hover placement.
  • In ChatInputPart, determined the chat widget’s location (editor, sidebar left/right, panel, including maximized state) via layout/view descriptor services and used that to set a consistent hover position for picker hovers.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.ts Propagates pickerOptions.hoverPosition into session type picker item hovers so their tooltip position follows the configured hover options.
src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.ts Updates the model picker’s action provider to accept IChatInputPickerOptions and applies hoverPosition to both the “Auto” entry and individual model entries.
src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.ts Applies this.pickerOptions.hoverPosition to built-in and custom mode picker hover descriptors to align hover placement with the picker options.
src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.ts Ensures the “New Chat Session” additional action’s hover configuration includes this.pickerOptions.hoverPosition, keeping hover behavior consistent with other picker items.
src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.ts Introduces the optional hoverPosition?: IHoverPositionOptions field on IChatInputPickerOptions so chat input pickers can pass through explicit hover positioning.
src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.ts Computes the chat widget’s location (editor, left/right sidebar, panel) and maximization state using layout and view descriptor services, derives a hoverPosition (left/right, with forcePosition: true), and passes it into all chat input picker options; also reuses this location info for the session target picker’s editor/sidebar flag.
src/vs/platform/actionWidget/browser/actionList.ts Extends IActionListItemHover with an optional position?: IHoverPositionOptions and merges it into the hover options when showing hovers, enabling per-item control of hover placement while preserving existing defaults.

@benibenj benibenj merged commit 6e5d25a into main Jan 28, 2026
27 of 28 checks passed
@benibenj benibenj deleted the benibenj/lost-spider branch January 28, 2026 17:04
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.

Model picker descriptions constantly show and hide

2 participants