Deleting Chinese IME during composition sends the first character to the Terminal #7131

Open
opened 2026-01-31 00:55:58 +00:00 by claunia · 0 comments
Owner

Originally created by @leonMSFT on GitHub (Mar 24, 2020).

Steps to reproduce

Related to #5054
Start a Chinese IME composition without completing it/selecting the characters e.g. "wei'yuan", then delete the characters.

Expected behavior

There should be no characters left on the screen.

Actual behavior

The letter "w" will appear in the buffer.

Cause

We're receiving a CompositionCompleted event before we receive a TextUpdating event for the final character "w" to be deleted. This causes us to believe that "w" is a completed composition, so we send it to the terminal. We then receive the TextUpdating event right after to tell us to delete the "w", so it disappears from the _inputBuffer.

Originally created by @leonMSFT on GitHub (Mar 24, 2020). # Steps to reproduce Related to #5054 Start a Chinese IME composition without completing it/selecting the characters e.g. "wei'yuan", then delete the characters. # Expected behavior There should be no characters left on the screen. # Actual behavior The letter "w" will appear in the buffer. # Cause We're receiving a `CompositionCompleted` event before we receive a `TextUpdating` event for the final character "w" to be deleted. This causes us to believe that "w" is a completed composition, so we send it to the terminal. We then receive the `TextUpdating` event right after to tell us to delete the "w", so it disappears from the `_inputBuffer`.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#7131