[PR #13352] [MERGED] Disable the VT color quirk for pwsh and modern inbox powershell #29498

Open
opened 2026-01-31 09:35:16 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/13352
Author: @DHowett
Created: 6/21/2022
Status: Merged
Merged: 6/23/2022
Merged by: @undefined

Base: mainHead: dev/duhowett/noquirk


📝 Commits (6)

  • 32296eb Disable the VT color quirk for pwsh and modern inbox powershell
  • 0fa5ec6 Update src/server/ConsoleShimPolicy.cpp
  • daaaf96 Apply suggestions from code review
  • 0ec4991 Fix up some more stuff
  • 85aff78 YAAASSS
  • e2bc59a deerpf

📊 Changes

3 files changed (+32 additions, -43 deletions)

View changed files

📝 src/server/ConsoleShimPolicy.cpp (+27 -35)
📝 src/server/ConsoleShimPolicy.h (+4 -7)
📝 src/server/ProcessHandle.cpp (+1 -1)

📄 Description

In #6810, we introduced a "quirk" for all known versions of PowerShell
that suppressed their requests for black background/gray foreground.
This was done to avoid an issue in PSReadline where it would paint
black bars all over the screen if the default background color wasn't
the same as the ANSI black color.

Years have passed since that quirk was introduced. The underlying bug
was fixed, and the fix was released broadly long ago. It's time for us
to remove the quirk... almost.

Terminal still runs on versions of Windows that ship a broken version of
PSReadline. We must maintain the quirk there -- the user can't do
anything about it, and we would make their experience worse if we
removed the quirk entirely.

PowerShell 7.0 also ships a broken version of PSReadline. It is still in
support for another 6 months, but updates have been available for some
time. We can encourage users to update.

Therefore, we only need the quirk for Windows PowerShell, and then only
for specific versions of Windows.

Inside Windows, we don't even need that: we're guaranteed to be built
alongside a fixed version of PowerShell!

Closes #6807


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/13352 **Author:** [@DHowett](https://github.com/DHowett) **Created:** 6/21/2022 **Status:** ✅ Merged **Merged:** 6/23/2022 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `dev/duhowett/noquirk` --- ### 📝 Commits (6) - [`32296eb`](https://github.com/microsoft/terminal/commit/32296ebc4677911efbc21134ddd5574d5567bb7e) Disable the VT color quirk for pwsh and modern inbox powershell - [`0fa5ec6`](https://github.com/microsoft/terminal/commit/0fa5ec663766a6b077f608406ca845b6aaa8960b) Update src/server/ConsoleShimPolicy.cpp - [`daaaf96`](https://github.com/microsoft/terminal/commit/daaaf965871038c46defac30f7b8eb4562a752da) Apply suggestions from code review - [`0ec4991`](https://github.com/microsoft/terminal/commit/0ec4991cd7020c35d3c669a449b65dc6c79645de) Fix up some more stuff - [`85aff78`](https://github.com/microsoft/terminal/commit/85aff780054d434f6056d8bef63e5043a998fcfa) YAAASSS - [`e2bc59a`](https://github.com/microsoft/terminal/commit/e2bc59a9e9d2ea08e8fe28a6fba65a31d5dcd0a3) deerpf ### 📊 Changes **3 files changed** (+32 additions, -43 deletions) <details> <summary>View changed files</summary> 📝 `src/server/ConsoleShimPolicy.cpp` (+27 -35) 📝 `src/server/ConsoleShimPolicy.h` (+4 -7) 📝 `src/server/ProcessHandle.cpp` (+1 -1) </details> ### 📄 Description In #6810, we introduced a "quirk" for all known versions of PowerShell that suppressed their requests for black background/gray foreground. This was done to avoid an [issue in PSReadline] where it would paint black bars all over the screen if the default background color wasn't the same as the ANSI black color. Years have passed since that quirk was introduced. The underlying bug was fixed, and the fix was released broadly long ago. It's time for us to remove the quirk... almost. Terminal still runs on versions of Windows that ship a broken version of PSReadline. We must maintain the quirk there -- the user can't do anything about it, and we would make their experience worse if we removed the quirk entirely. PowerShell 7.0 also ships a broken version of PSReadline. It is still in support for another 6 months, but updates have been available for some time. We can encourage users to update. Therefore, we only need the quirk for Windows PowerShell, and then only for specific versions of Windows. _Inside Windows_, we don't even need that: we're guaranteed to be built alongside a fixed version of PowerShell! Closes #6807 [issue in PSReadline]: https://github.com/PowerShell/PSReadLine/issues/830#issuecomment-650508857 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:35:16 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#29498