-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
remove symlink usage for tsh profile #4347
Conversation
990b480
to
1c87f3d
Compare
@fspmarshall if you can easily make a binary I can try it on my system. |
I tested the binary this morning. I noticed that It wasn't working as I had installed my binary to Windows and my user was picking this file.
I ran across #3012 again, and this would be good to go out with this release for locked down windows environments. Example of working as intended.
|
Just to clarify, this did work on my machine. I was picked an earlier version to start. |
e94d5f5
to
155ca6a
Compare
155ca6a
to
d444876
Compare
What do you think about the following: we continue to write the symlink as well as the new file that has the profile in it. We create a new package specific file to read in the current profile, for example:
Then macOS/Linux can continue to use the symlink and Windows can use the new format. This will reduce the blast radius for regressions to only Windows because the macOS/Linux logic will not change nor any other tooling customers may have developed around the symlink. Once we have some breathing room, we can add test coverage and migrate people over to the new approach across all platforms with a flag that allows them to revert logic to the old symlink like @awly @fspmarshall The main thing that worries me here is regressions in macOS/Linux tsh clients. People upgrade What do you guys think? |
@russjones I think having different profile structure on different platforms will cause problems for Windows users down the line. Any regressions are likely to happen in the migration code (since we'll exercise the new profile structure regularly). Worst case, the user can delete My vote is for keeping this PR as is. |
I agree with @awly. Platform-dependent systems seem likely to create more problems than they solve. |
+1 from me for having consistent behaviour across all platforms too. Our Windows experience is already subpar - I don't think it's a good idea for us to deviate any further from the critical path with mitigations. I agree that the worst-case scenario of deleting the This doesn't cover the case where people might have built automation around the symlink, but I guess we can make sure we add something explicit in the release notes about how |
Changes how
tsh
tracks the currently active profile. Previously, the currently active profile was tracked via a symlink at~/.tsh/profile
which linked directly to the file. Now,tsh
stores the name of the currently active profile in a regular text file at~/.tsh/current-profile
.Fixes #4095
(bug was reproduced and fix was verified on Windows Server 2019)