Description
Visual Studio Package Manager Console handles backspace as a single UTF-16 code unit. For supplementary-plane characters represented by surrogate pairs, backspace can delete only the low surrogate and leave a corrupt unpaired high surrogate in both the console buffer and returned input. This surfaced during VS 2026 GB18030-2022 certification testing with CJK Extension B and supplementary private-use characters.
Proposed fix
- Update
WpfConsole.WriteBackspace to remove a complete trailing surrogate pair.
- Update
NuGetHostUserInterface.ReadLine to remove the same complete pair from its input buffer.
- Add an Apex regression test that echoes a mixed supplementary-plane sample through Package Manager Console.
Tracking
The Agency prototype passed its remote build and test validation.
Description
Visual Studio Package Manager Console handles backspace as a single UTF-16 code unit. For supplementary-plane characters represented by surrogate pairs, backspace can delete only the low surrogate and leave a corrupt unpaired high surrogate in both the console buffer and returned input. This surfaced during VS 2026 GB18030-2022 certification testing with CJK Extension B and supplementary private-use characters.
Proposed fix
WpfConsole.WriteBackspaceto remove a complete trailing surrogate pair.NuGetHostUserInterface.ReadLineto remove the same complete pair from its input buffer.Tracking
The Agency prototype passed its remote build and test validation.