Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 6, 2025

Fixes #274958

During IME composition (e.g., typing ¨ + uü), the find widget filtered on intermediate characters, hiding content before composition completed.

Changes

FindInput (src/vs/base/browser/ui/findinput/findInput.ts)

  • Gate onInput event with existing imeSessionInProgress flag
  • Event fires after compositionend with final composed text

FindWidget (src/vs/base/browser/ui/tree/abstractTree.ts)

  • Use findInput.onInput instead of findInput.onDidChange
  • onInput respects IME composition boundaries; onDidChange continues firing on every keystroke

Behavior

Before: Input events during composition → premature filtering → content disappears
After: Composition blocks input events → single event on compositionend → correct filtering

Maintains backward compatibility. Consumers needing immediate updates can continue using onDidChange.

Original prompt

This section details on the original issue you should resolve

<issue_title>During composition everything is filtered</issue_title>
<issue_description>Testing #274958

  • open agents sessions view
  • type to filter
  • compose a character, like ¨ and u makes ü
  • while the ¨ is there, everything gets filtered out already
Screen.Recording.2025-11-04.at.16.59.14.mov

(slightly bad sample because the PR doesn't have ü in its title but if so it would be hidden and reappear during composition)

fyi - the input element has composition events for this, compositionend and compositionstart</issue_description>

<agent_instructions>The find widget probably needs to make a change to FindWidget and only fire onDidChangeValue event in the following way:

  this._register(this.findInput.onInput(() => {
  	this._onDidChangeValue.fire(this.findInput.inputBox.value);
  }));

Maybe there is more to this such as checking isImeSessionInProgress</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@dineshc-msft The find functionality simply delegates to the underlying find widget. Handling composition is a good suggestion for the underlying widget.

@benibenj - Johannes mentioned you may be the owner of the underlying widget, so assigning to you. Please feel free to triage / re-assign to the right owner as appropriate.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: benibenj <44439583+benibenj@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix filtering issue during composition in agents sessions view Fix IME composition causing premature filtering in tree find widget Nov 6, 2025
Copilot AI requested a review from benibenj November 6, 2025 17:26
Copilot finished work on behalf of benibenj November 6, 2025 17:26
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.

During composition everything is filtered Test find widget in GH coding agent and chat sessions panes

2 participants