-
Notifications
You must be signed in to change notification settings - Fork 29.5k
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 our usage of Electron safeStorage APIs and review docs #186239
Comments
@alexr00 can you attach the logs generated in the terminal from |
@TylerLeonhardt the logs from @alexr00 looks good,
|
The check here looks incorrect vscode/src/vs/workbench/services/secrets/electron-sandbox/secretStorageService.ts Line 69 in ac34ea3
provider === KnownStorageProvider.basicText ?
|
Marking my testing as complete as Scenario 2 worked as expected. Please @ mention me in the bug for #186239 (comment) and I will verify it! |
@deepak1556 os right. It should be basic text... I forgot to change that back while I was testing on macOS |
PR out here: #186346 Once this goes in I'll fire off another Insiders so this TPI can be tested |
New insiders released. |
Suggestion: because the verbose flag causes there to be a lot of output, would it make sense to suggest storing that info into a file? I was able to get the "locked collection" string, though 👍
|
@rzhao271 thanks for the feedback, you can use |
Since I'd already done part of this I went back and verified Scenario 1 with the fix. |
Refs: #185677
Complexity: 3
Roles: Developer, Engineering Manager
Authors: @TylerLeonhardt, @deepak1556
Create Issue
This iteration we've moved from keytar to using Electron's safeStorage API for encrypting secrets. This test plan item is testing a couple of scenarios that user may run into and trying to make sure they have the tools in mind to troubleshoot.
This TPI will work best with Ubuntu.
Scenario 1: "We couldn't recognize your environment"
Picture this, you're using some obscure desktop environment and we don't detect it because it's not super common. VS Code should do two things:
safeStorage
provides (and this persists)To fake this, download the latest Insiders targz, extract it, and run:
Then turn on settings sync and go through the flow. You should get a modal that tells you about your "unknown" environment. Try both options (note, the docs should go to vnext branch for now).
If you do the docs option, you should be taken to the docs but are still logged in. That's because your secrets are still stored in-memory. If you quit and relaunch VS Code the same way, that log in state should be gone.
When you do the weaker encryption option, make sure it saves
password-store
to the file opened when you runConfigure Runtime Arguments
. This means that if you kill the process and restart it using the same command, it should not show you the modal and instead should "just work" as you expect.Scenario 2: "Ubuntu has a weird issue, open the troubleshooting guide"
Picture this: your system isn't setup properly and your keyring isn't working as expected... but we know you're running in a GNOME-like environment. We can tell you to just go check out the docs for assistance.
This is an easier scenario because what we're gonna do is put the Keyring in a locked state... So, open the Passwords & Keys app (aka seahorse) and click the 🔓 next to the
Login
keyring. That will lock this keyring.Now start VS Code as normal... hitting cancel on the million modals that pop up asking you to unlock the keyring... don't do it!
Sign in to Settings Sync (keep hitting cancel on the OS modal asking you to unlock the keyring) and what you should eventually get is a notification that will bring you to the troubleshooting guide.
Conclusion
Our goal is to have a nice place to start enumerating docs. Linux will undoubtably have more unique ways to be misconfigured, so at least we are starting somewhere...
We're looking to make sure we help when we can and the docs make sense.
The text was updated successfully, but these errors were encountered: