Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Output containing OSC sequences (e.g. shell integration) is not rendered (regression) #17204

Closed
krzysdz opened this issue May 8, 2024 · 5 comments · Fixed by #17212
Closed
Labels
Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Priority-0 Bugs that we consider release-blocking/recall-class (P0) Product-Conpty For console issues specifically related to conpty Severity-Blocking We won't ship a release like this! No-siree.

Comments

@krzysdz
Copy link
Contributor

krzysdz commented May 8, 2024

Windows Terminal version

432dfcc and later

Windows build number

10.0.19045.4291

Other Software

No response

Steps to reproduce

  1. Enable shell integration in oh-my-posh or set your PowerShell prompt to
    function prompt {
        "$([char]0x1b)]133;D`a$([char]0x1b)]133;A`a> $([char]0x1b)]133;B`a"
    }
  2. Open a new pane/window to load the profile
  3. (Optionally) Try pressing Ctrl+C and normal characters

Expected Behavior

No response

Actual Behavior

The prompt (and ^C sometimes too) is not rendered until a printable character is entered from keyboard or the window is resized (resizing doesn't always help).

2024-05-08.02-42-19.mp4
2024-05-08.02-50-05.mp4

This regression was introduced in 432dfcc (#17194)

@krzysdz krzysdz added Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels May 8, 2024
Copy link

github-actions bot commented May 8, 2024

Hi I'm an AI powered bot that finds similar issues based off the issue title.

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you!

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

@krzysdz
Copy link
Contributor Author

krzysdz commented May 8, 2024

@j4james ping

@j4james
Copy link
Collaborator

j4james commented May 8, 2024

I'm very sorry about this. I suspect it might be something else that needs to be reset in XtermEngine::StartPaint when returning early. But if it's not obvious, and we need a quick fix, feel free to revert PR #17194. That bug probably affects far fewer people.

@zadjii-msft
Copy link
Member

Ah yep yeah I can confirm this too. It's... pretty rough, though I honestly don't know how many people have shell integration set up.

@lhecker you wanna take a look at this, see if we can't come up with a more clever fix than just reverting #17194? If we can't, then I'll probably make the argument that we need to revert that later this week.

@zadjii-msft zadjii-msft added Product-Conpty For console issues specifically related to conpty Severity-Blocking We won't ship a release like this! No-siree. Priority-0 Bugs that we consider release-blocking/recall-class (P0) labels May 8, 2024
@zadjii-msft zadjii-msft added this to the Terminal v1.22 milestone May 8, 2024
@zadjii-msft zadjii-msft added this to To Cherry Pick in 1.21 Servicing Pipeline via automation May 8, 2024
@lhecker
Copy link
Member

lhecker commented May 8, 2024

Hmm I wonder if it has to do with the _cursorMoved changes. Since it was always true this always caused a render pass. Restoring the old _cursorMoved = true code does make everything work again.

github-merge-queue bot pushed a commit that referenced this issue May 8, 2024
This simply copies a bit more from `VtEngine::EndPaint`'s
`_noFlushOnEnd` handling which already seems to fix the linked issue.

Closes #17204
@DHowett DHowett removed this from To Cherry Pick in 1.21 Servicing Pipeline May 13, 2024
DHowett pushed a commit that referenced this issue May 13, 2024
This simply copies a bit more from `VtEngine::EndPaint`'s
`_noFlushOnEnd` handling which already seems to fix the linked issue.

Closes #17204

(cherry picked from commit 0b76c51)
Service-Card-Id: 92516193
Service-Version: 1.21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Priority-0 Bugs that we consider release-blocking/recall-class (P0) Product-Conpty For console issues specifically related to conpty Severity-Blocking We won't ship a release like this! No-siree.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants