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

Test: Seamless terminal relaunch #119108

Closed
4 tasks done
Tyriar opened this issue Mar 16, 2021 · 0 comments
Closed
4 tasks done

Test: Seamless terminal relaunch #119108

Tyriar opened this issue Mar 16, 2021 · 0 comments

Comments

@Tyriar
Copy link
Member

Tyriar commented Mar 16, 2021

Refs: #118066

Complexity: 3

Create Issue


The terminal has a feature that relaunches terminals that have not been interacted with when an extension wants to change the terminal environment, this relaunch will happen automatically already but will cause a flicker, clearing the terminal and launching the new terminal. If the user has interacted with it, there will be a ⚠icon in the top right corner of the terminal.

Seamless terminal relaunch is a new feature that relaunches the terminals (mostly*) without the user even knowing. To test:

  • Build and symlink the terminal-sample ext to your insiders extension folder (you might be able to just debug the extension)
  • Enable trace logging and open devtools
  • Launch a terminal
  • Run the Terminal API: Update environment command (or Terminal API: Clear Environment)
  • The seamless relaunch should happen ~5+ seconds later, the best way to verify it works is to watch the trace log in the devtools console and look for "relaunch"/"seamless relaunch" trace logs.
  • You can also check the environment variable is the correct value (eg. echo $blah, $env:blah), enabling "terminal.integrated.environmentChangesIndicator": "on" will tell you what environment variables should be present

Things to watch out for:

  • PowerShell may on launch print how long the profile took to run, it's expected that only this number would update on a seamless relaunch (in a single frame)
  • Clicking in the terminal (as well as typing anything) may be considered interacting with the terminal since it can send mouse data to the process
  • If you reload the window, the terminal will reconnect to previous processes. These reconnected processes will not work with seamless relaunch.
@Tyriar Tyriar added this to the March 2021 milestone Mar 16, 2021
@chrmarti chrmarti removed their assignment Mar 23, 2021
@connor4312 connor4312 removed their assignment Mar 23, 2021
@mjbvz mjbvz removed their assignment Mar 23, 2021
@devinvalenciano devinvalenciano removed their assignment Mar 24, 2021
@github-actions github-actions bot locked and limited conversation to collaborators May 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants