microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.74k stars 29.1k forks source link

Allow safestorage api to detect presence of libsecret or kwallet if the desktop environment is unknown #185212

Open jpenalbae opened 1 year ago

jpenalbae commented 1 year ago

Does this issue occur when all extensions are disabled?: Yes

Steps to Reproduce:

  1. Open vscode
  2. Authenticate on github
  3. Close vscode
  4. Open vscode again

vscode will ask again for authentication.

Description

Latest insiders version seems to have problems handling the github session storage on the keyring, It asks for login every time the application is opened.

I have checked this guide: https://code.visualstudio.com/docs/editor/settings-sync#_troubleshooting-keychain-issues

Everything works fine in the stable version. If I delete the keyring the stable version asks to create a new one, the insiders version does not.

Also have tried wiping all the insiders version config files and start from scratch without any luck.

Logs

Github authentication logs when opening vscode:

2023-06-15 13:02:34.802 [info] Reading sessions from keychain...
2023-06-15 13:02:34.802 [info] Getting sessions for all scopes...
2023-06-15 13:02:34.802 [info] Getting sessions for user:email...
2023-06-15 13:02:34.802 [info] Getting sessions for user:email...
2023-06-15 13:02:34.802 [info] Getting sessions for read:user...
2023-06-15 13:02:34.802 [info] Getting sessions for read:user...
2023-06-15 13:02:34.802 [info] Got 0 sessions for ...
2023-06-15 13:02:34.802 [info] Got 0 sessions for user:email...
2023-06-15 13:02:34.802 [info] Got 0 sessions for user:email...
2023-06-15 13:02:34.802 [info] Got 0 sessions for read:user...
2023-06-15 13:02:34.802 [info] Got 0 sessions for read:user...
2023-06-15 13:02:34.802 [info] Getting sessions for all scopes...
2023-06-15 13:02:34.802 [info] Got 0 sessions for ...
2023-06-15 13:02:34.942 [info] Getting sessions for read:user...
2023-06-15 13:02:34.942 [info] Got 0 sessions for read:user...
2023-06-15 13:02:34.942 [info] Getting sessions for user:email...
2023-06-15 13:02:34.942 [info] Got 0 sessions for user:email...
2023-06-15 13:02:35.011 [info] Getting sessions for all scopes...
2023-06-15 13:02:35.011 [info] Got 0 sessions for ...

After logging in:

2023-06-15 14:05:40.593 [info] Logging in for the following scopes: user:email
2023-06-15 14:05:40.594 [info] Trying without local server... (user:email)
2023-06-15 14:05:41.790 [info] Exchanging code for token...
2023-06-15 14:05:42.145 [info] Token exchange success!
2023-06-15 14:05:42.149 [info] Getting user info...
2023-06-15 14:05:42.481 [info] Got account info!
2023-06-15 14:05:42.482 [info] Storing 1 sessions...
2023-06-15 14:05:42.487 [error] Setting token failed: Error: Error while decrypting the ciphertext provided to safeStorage.decryptString. Encryption is not available.
2023-06-15 14:05:42.487 [info] Stored 1 sessions!
2023-06-15 14:05:42.487 [info] Login success!
2023-06-15 14:05:42.492 [info] Getting sessions for user:email...
2023-06-15 14:05:42.492 [info] Got 1 sessions for user:email...
2023-06-15 14:05:42.493 [info] Getting sessions for user:email...
2023-06-15 14:05:42.493 [info] Got 1 sessions for user:email...
2023-06-15 14:05:42.497 [info] Getting sessions for user:email...
2023-06-15 14:05:42.497 [info] Got 1 sessions for user:email...
2023-06-15 14:05:42.497 [info] Getting sessions for user:email...
2023-06-15 14:05:42.497 [info] Got 1 sessions for user:email...
2023-06-15 14:05:42.513 [info] Getting sessions for user:email...
2023-06-15 14:05:42.513 [info] Got 1 sessions for user:email...
2023-06-15 14:05:42.514 [info] Getting sessions for read:user...
2023-06-15 14:05:42.514 [info] Got 0 sessions for read:user...
2023-06-15 14:05:42.527 [info] Getting sessions for user:email...
2023-06-15 14:05:42.527 [info] Got 1 sessions for user:email...

Never seen this error before:

[error] Setting token failed: Error: Error while decrypting the ciphertext provided to safeStorage.decryptString. Encryption is not available.

jpenalbae commented 1 year ago

Rolled back to version 1.80.0-1686734381 and everything works fine again. So I'm staying in that version meanwhile. If anyone needs the previous version it can be found here: packages.microsoft.com/repos/code/pool/main/c/code-insiders/code-insiders_1.80.0-1686734381_amd64.deb

gjsjohnmurray commented 1 year ago

Maybe caused by https://github.com/microsoft/vscode/pull/185077

TylerLeonhardt commented 1 year ago

@jpenalbae can you tell me what secret store you have available on your machine? Do you have gnome-keyring installed?

deepak1556 commented 1 year ago

@jpenalbae can you launch the application like code-insiders --verbose --vmodule="*/components/os_crypt/*=1" and attach the generated output with performing the auth steps.

jpenalbae commented 1 year ago

Yes I'm using gnome-keyring, and it works fine with previous insiders release and with the stable release.

$ systemctl --user status gnome-keyring-daemon
● gnome-keyring-daemon.service - GNOME Keyring daemon
     Loaded: loaded (/usr/lib/systemd/user/gnome-keyring-daemon.service; enabled; preset: enabled)
     Active: active (running) since Thu 2023-06-15 12:36:32 CEST; 3h 43min ago
TriggeredBy: ● gnome-keyring-daemon.socket
   Main PID: 16317 (gnome-keyring-d)
      Tasks: 4 (limit: 67352)
     Memory: 3.5M
        CPU: 1.067s
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/gnome-keyring-daemon.service
             └─16317 /usr/bin/gnome-keyring-daemon --foreground --components=pkcs11,secrets --control-directory=/run/user/1000/keyring
$ dpkg -l | grep gnome-keyring
ii  gnome-keyring                                               42.1-1+b2                                            amd64        GNOME keyring services (daemon and tools)
ii  gnome-keyring-pkcs11:amd64                                  42.1-1+b2                                            amd64        GNOME keyring module for the PKCS#11 module loading library
ii  libgnome-keyring-common                                     3.12.0-1                                             all          GNOME keyring services library - data files
ii  libgnome-keyring-dev                                        3.12.0-1+b2                                          amd64        Development files for GNOME keyring service
ii  libgnome-keyring0:amd64                                     3.12.0-1+b2                                          amd64        GNOME keyring services library
ii  libpam-gnome-keyring:amd64                                  42.1-1+b2                                            amd64        PAM module to unlock the GNOME keyring upon login
$ dpkg -l | grep libsecret
ii  libsecret-1-0:amd64                                         0.20.5-3                                             amd64        Secret store
ii  libsecret-common                                            0.20.5-3                                             all          Secret store (common files)
$ dpkg -l | grep -i dbus-x11
ii  dbus-x11                                                    1.14.6-1                                             amd64        simple interprocess messaging system (X11 deps)
jpenalbae commented 1 year ago

@jpenalbae can you launch the application like code-insiders --verbose --vmodule="*/components/os_crypt/*=1" and attach the generated output with performing the auth steps.

These are the lines catching my eye:

[96399:0615/162209.301445:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[main 2023-06-15T14:22:09.303Z] resolveShellEnv(): skipped (VSCODE_CLI is set)
[96399:0615/162209.354960:INFO:CONSOLE(627)] "%cTRACE color: #888 ChatService#constructor: Restored 0 persisted sessions", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.365922:VERBOSE1:key_storage_util_linux.cc(54)] Password storage detected desktop environment: (unknown)
[96399:0615/162209.365938:VERBOSE1:key_storage_linux.cc(122)] Selected backend for OSCrypt: BASIC_TEXT
[96399:0615/162209.365958:VERBOSE1:key_storage_linux.cc(142)] OSCrypt did not initialize a backend.
[96399:0615/162209.367014:INFO:CONSOLE(627)] "%cTRACE color: #888 [SecretStorageService] Encryption is not available, falling back to in-memory storage", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.454782:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Initializing accounts", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[main 2023-06-15T14:22:09.454Z] Going to get password from keytar: vscode-insiders.login account
[main 2023-06-15T14:22:09.455Z] Doing get password from keytar: vscode-insiders.login account
[main 2023-06-15T14:22:09.455Z] Did not get a password from keytar for account: account
[96399:0615/162209.480330:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Getting accounts for github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.517036:INFO:CONSOLE(627)] "%cTRACE color: #888 [File Watcher (node.js)] Request to start watching: /home/jaime/.config/Code - Insiders/User/snippets (excludes: <none>, includes: <all>)", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.526871:INFO:CONSOLE(627)] "%cTRACE color: #888 [File Watcher (node.js)] Started watching: '/home/jaime/.config/Code - Insiders/User/snippets'", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.530234:INFO:CONSOLE(627)] "%cDEBUG background: #eee; color: #888 [Registering Log Channel] File does not exist. Waiting for 1s to retry. file:///home/jaime/.config/Code%20-%20Insiders/logs/20230615T162207/editSessions.log", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.713404:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$registerTreeViewDataProvider projectsExplorerFavorites [object Object]", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.714086:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$registerTreeViewDataProvider projectsExplorerVSCode [object Object]", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.714741:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$registerTreeViewDataProvider projectsExplorerGit [object Object]", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.715433:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$registerTreeViewDataProvider projectsExplorerMercurial [object Object]", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.716132:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$registerTreeViewDataProvider projectsExplorerSVN [object Object]", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.716944:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$registerTreeViewDataProvider projectsExplorerAny [object Object]", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.719112:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$registerTreeViewDataProvider projectManagerHelpAndFeedback [object Object]", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.719779:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.721408:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.725080:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.726434:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.727023:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.729249:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.730006:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.730582:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.731080:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$setTitle projectsExplorerFavorites Favorites (30) undefined", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.731453:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$setTitle projectsExplorerFavorites Favorites (30)    ", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.731845:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$setTitle projectsExplorerVSCode VSCode (0) undefined", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.732091:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$setTitle projectsExplorerGit Git (0) undefined", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.732442:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$setTitle projectsExplorerMercurial Mercurial (0) undefined", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.732725:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$setTitle projectsExplorerSVN SVN (0) undefined", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.733027:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$setTitle projectsExplorerAny Any (0) undefined", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.764044:INFO:CONSOLE(627)] "%cDEBUG background: #eee; color: #888 [Registering Log Channel] File does not exist. Waiting for 1s to retry. file:///home/jaime/.config/Code%20-%20Insiders/logs/20230615T162207/window1/exthost/vscode.github/GitHub.log", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.803039:INFO:CONSOLE(627)] "%cTRACE color: #888 MainThreadTreeViews#$registerTreeViewDataProvider cSpellRegExpView [object Object]", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.864730:INFO:CONSOLE(627)] "%cTRACE color: #888 [mainThreadSecretState] Getting password for vscode.github-authentication extension:  github.auth", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.865204:INFO:CONSOLE(627)] "%cTRACE color: #888 [mainThreadSecretState] No password found for:  vscode.github-authentication github.auth", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.865537:INFO:CONSOLE(627)] "%cTRACE color: #888 [mainThreadSecretState] Getting old password for vscode.github-authentication extension:  github.auth", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[main 2023-06-15T14:22:09.865Z] Going to get password from keytar: vscode-insidersvscode.github-authentication github.auth
[main 2023-06-15T14:22:09.865Z] Doing get password from keytar: vscode-insidersvscode.github-authentication github.auth
[main 2023-06-15T14:22:09.866Z] Did not get a password from keytar for account: github.auth
[96399:0615/162209.871693:INFO:CONSOLE(627)] "%cTRACE color: #888 [mainThreadSecretState] No old password found for:  vscode.github-authentication github.auth", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.874343:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updated accounts for github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.874593:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Getting accounts for microsoft", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.952625:INFO:CONSOLE(627)] "%cTRACE color: #888 [mainThreadSecretState] Getting password for vscode.microsoft-authentication extension:  microsoft.login.keylist", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.952886:INFO:CONSOLE(627)] "%cTRACE color: #888 [mainThreadSecretState] No password found for:  vscode.microsoft-authentication microsoft.login.keylist", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.953144:INFO:CONSOLE(627)] "%cTRACE color: #888 [mainThreadSecretState] Getting old password for vscode.microsoft-authentication extension:  microsoft.login.keylist", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[main 2023-06-15T14:22:09.953Z] Going to get password from keytar: vscode-insidersvscode.microsoft-authentication microsoft.login.keylist
[main 2023-06-15T14:22:09.953Z] Doing get password from keytar: vscode-insidersvscode.microsoft-authentication microsoft.login.keylist
[main 2023-06-15T14:22:09.954Z] Did not get a password from keytar for account: microsoft.login.keylist
[main 2023-06-15T14:22:09.954Z] lifecycle (main): phase changed (value: 4)
[96399:0615/162209.955679:INFO:CONSOLE(627)] "%cTRACE color: #888 [mainThreadSecretState] No old password found for:  vscode.microsoft-authentication microsoft.login.keylist", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162209.959753:INFO:CONSOLE(627)] "%cDEBUG background: #eee; color: #888 [Registering Log Channel] File does not exist. Waiting for 1s to retry. file:///home/jaime/.config/Code%20-%20Insiders/logs/20230615T162207/window1/exthost/vscode.microsoft-authentication/Microsoft%20Authentication.log", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162210.068485:INFO:CONSOLE(627)] "%c  ERR color: #f33 [Extension Host] [ERROR] [default] [2023-06-15T14:22:10.066Z] You are not signed in to GitHub. Please sign in to use Copilot.", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162210.068550:INFO:CONSOLE(98)] "%c[Extension Host] %c[ERROR] [default] [2023-06-15T14:22:10.066Z] color: blue color:  You are not signed in to GitHub. Please sign in to use Copilot. (at console.<anonymous> (/usr/share/code-insiders/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:99:151752))", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (98)
[96399:0615/162210.068925:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162210.071705:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updated accounts for microsoft", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162210.167728:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Account status changed from uninitialized to unavailable", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162210.168598:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Accounts are initialized", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162210.587280:INFO:CONSOLE(627)] "%cTRACE color: #888 SearchService#search {"_reason":"startFileSearch","folderQueries":[],"usingSearchPaths":false,"excludePattern":{"**/node_modules/**":true},"includePattern":{"**/package.json":true},"type":1}", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162210.587623:INFO:CONSOLE(627)] "%cTRACE color: #888 SearchService#search: 0ms", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162210.593250:INFO:CONSOLE(98)] "%c[Extension Host] %c[vscode-icons] v12.4.0 activated! %c(at console.<anonymous> (/usr/share/code-insiders/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:99:151752)) color: blue color:  color: grey", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (98)
[96399:0615/162211.389141:INFO:CONSOLE(627)] "%cTRACE color: #888 lifecycle: phase changed (value: 4)", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162211.415374:INFO:CONSOLE(627)] "%cTRACE color: #888 RunAutomaticTasks: Trying to run tasks.", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162211.431730:INFO:CONSOLE(627)] "%cTRACE color: #888 RunAutomaticTasks: Found 1 automatic tasks", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162211.960420:INFO:CONSOLE(627)] "%c INFO color: #33f [perf] Render performance baseline is 42ms", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162212.386395:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand workbench.userData.actions.signin", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162212.395883:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand workbench.getCodeExchangeProxyEndpoints", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162212.547803:INFO:CONSOLE(627)] "%cTRACE color: #888 ChatService#onWillSaveState: Persisting 0 sessions", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)

And these:

[main 2023-06-15T14:22:13.696Z] app#handleProtocolUrl(): vscode-insiders://vscode.github-authentication/did-authenticateXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX {
  originalUrl: 'vscode-insiders://vscode.github-authentication/did-authenticateXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
}
[main 2023-06-15T14:22:13.696Z] app#handleProtocolUrl(): not handled vscode-insiders://vscode.github-authentication/did-authenticateXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX {
  originalUrl: 'vscode-insiders://vscode.github-authentication/did-authenticateXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
}
[main 2023-06-15T14:22:13.696Z] URLHandlerRouter#routeCall() with URI argument vscode-insiders://vscode.github-authentication/did-authenticateXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[main 2023-06-15T14:22:13.697Z] URLHandlerRouter#routeCall(): found windowId query parameter with value "1" vscode-insiders://vscode.github-authentication/did-authenticateXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[main 2023-06-15T14:22:13.697Z] URLHandlerRouter#routeCall(): testing connection window:1
[main 2023-06-15T14:22:13.697Z] URLHandlerRouter#routeCall(): found a connection to route vscode-insiders://vscode.github-authentication/did-authenticateXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[main 2023-06-15T14:22:13.703Z] ExtensionUrlTrustService#isExtensionUrlTrusted There are no configured trusted keys
[96399:0615/162213.713017:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand workbench.getCodeExchangeProxyEndpoints", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162213.713381:INFO:CONSOLE(627)] "%cTRACE color: #888 URLService#handleURL(): handled vscode-insiders://vscode.github-authentication/did-authenticateXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.647334:INFO:CONSOLE(627)] "%cTRACE color: #888 [mainThreadSecretState] Setting password for vscode.github-authentication extension:  github.auth", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.651381:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Getting accounts for github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.652686:INFO:CONSOLE(627)] "%c INFO color: #33f Settings Sync: Updated current session ed58ad8da013efed", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.652869:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Getting accounts for github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.653165:INFO:CONSOLE(627)] "%cTRACE color: #888 onWillActivateByEvent:  onAuthenticationRequest:github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.653615:INFO:CONSOLE(627)] "%cTRACE color: #888 onWillActivateByEvent:  onAuthenticationRequest:github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.654180:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updated accounts for github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.654381:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Getting accounts for microsoft", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.656570:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updated accounts for github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.656761:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Getting accounts for microsoft", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.657913:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updated accounts for microsoft", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.658096:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updating the token for the account jpenalbae", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.658276:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Token updated for the account jpenalbae", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.658659:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updated accounts for microsoft", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.658839:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updating the token for the account jpenalbae", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.659027:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Token updated for the account jpenalbae", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[main 2023-06-15T14:22:14.660Z] resolveShellEnv(): skipped (VSCODE_CLI is set)
[96399:0615/162214.661882:INFO:CONSOLE(627)] "%cTRACE color: #888 onWillActivateByEvent:  onAuthenticationRequest:github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.662237:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Account status changed from unavailable to available", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.662761:INFO:CONSOLE(627)] "%cTRACE color: #888 onWillActivateByEvent:  onAuthenticationRequest:github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162214.666586:INFO:CONSOLE(627)] "%cTRACE color: #888 onWillActivateByEvent:  onAuthenticationRequest:github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[main 2023-06-15T14:22:15.042Z] resolveShellEnv(): skipped (VSCODE_CLI is set)
[96399:0615/162215.096782:INFO:CONSOLE(627)] "%cTRACE color: #888 ChatService#registerProvider: Adding new chat provider", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[main 2023-06-15T14:22:15.100Z] ProfileStorageChangesListenerChannel#registerStorageChangeListeners
[main 2023-06-15T14:22:15.101Z] [File Watcher (node.js)] Request to start watching: /home/jaime/.config/Code - Insiders/User/snippets (excludes: <none>, includes: <all>)
[main 2023-06-15T14:22:15.102Z] resolveShellEnv(): skipped (VSCODE_CLI is set)
[96399:0615/162215.104447:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[main 2023-06-15T14:22:15.104Z] [File Watcher (node.js)] Started watching: '/home/jaime/.config/Code - Insiders/User/snippets'
[96399:0615/162215.162474:INFO:CONSOLE(627)] "%cTRACE color: #888 [text file model] resolve() - enter vscode-userdata:/home/jaime/.config/Code%20-%20Insiders/User/settings.json", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.163356:INFO:CONSOLE(627)] "%cTRACE color: #888 [text file model] resolveFromFile() vscode-userdata:/home/jaime/.config/Code%20-%20Insiders/User/settings.json", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.169720:INFO:CONSOLE(627)] "%cTRACE color: #888 [text file model] resolveFromContent() - enter vscode-userdata:/home/jaime/.config/Code%20-%20Insiders/User/settings.json", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.170041:INFO:CONSOLE(627)] "%cTRACE color: #888 [text file model] doCreateTextModel() vscode-userdata:/home/jaime/.config/Code%20-%20Insiders/User/settings.json", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.175061:INFO:CONSOLE(627)] "%cTRACE color: #888 onWillActivateByEvent:  onLanguage:jsonc", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.175480:INFO:CONSOLE(627)] "%cTRACE color: #888 onWillActivateByEvent:  onLanguage", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.177815:INFO:CONSOLE(627)] "%cTRACE color: #888 [text file model] dispose() vscode-userdata:/home/jaime/.config/Code%20-%20Insiders/User/settings.json", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.179019:INFO:CONSOLE(627)] "%cTRACE color: #888 [backup tracker] discarding backup vscode-userdata:/home/jaime/.config/Code%20-%20Insiders/User/settings.json ", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.199519:INFO:CONSOLE(1851)] "Overwriting grammar scope name to file mapping for scope source.css.
Old grammar file: file:///usr/share/code-insiders/resources/app/extensions/css/syntaxes/css.tmLanguage.json.
New grammar file: file:///home/jaime/.vscode-insiders/extensions/csstools.postcss-1.0.9/syntaxes/source.css.tmLanguage.json", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (1851)
[main 2023-06-15T14:22:15.208Z] resolveShellEnv(): skipped (VSCODE_CLI is set)
[96399:0615/162215.253859:INFO:CONSOLE(627)] "%cTRACE color: #888 [text file model] resolve() - enter vscode-userdata:/home/jaime/.config/Code%20-%20Insiders/User/keybindings.json", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.254031:INFO:CONSOLE(627)] "%cTRACE color: #888 [text file model] resolveFromFile() vscode-userdata:/home/jaime/.config/Code%20-%20Insiders/User/keybindings.json", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.256434:INFO:CONSOLE(627)] "%cTRACE color: #888 [text file model] resolveFromContent() - enter vscode-userdata:/home/jaime/.config/Code%20-%20Insiders/User/keybindings.json", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.256606:INFO:CONSOLE(627)] "%cTRACE color: #888 [text file model] doCreateTextModel() vscode-userdata:/home/jaime/.config/Code%20-%20Insiders/User/keybindings.json", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.258257:INFO:CONSOLE(627)] "%cTRACE color: #888 [text file model] dispose() vscode-userdata:/home/jaime/.config/Code%20-%20Insiders/User/keybindings.json", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162215.258666:INFO:CONSOLE(627)] "%cTRACE color: #888 [backup tracker] discarding backup vscode-userdata:/home/jaime/.config/Code%20-%20Insiders/User/keybindings.json ", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[main 2023-06-15T14:22:15.262Z] resolveShellEnv(): skipped (VSCODE_CLI is set)
[main 2023-06-15T14:22:15.302Z] resolveShellEnv(): skipped (VSCODE_CLI is set)
[main 2023-06-15T14:22:15.353Z] resolveShellEnv(): skipped (VSCODE_CLI is set)
[main 2023-06-15T14:22:15.359Z] resolveShellEnv(): skipped (VSCODE_CLI is set)
[main 2023-06-15T14:22:15.439Z] resolveShellEnv(): skipped (VSCODE_CLI is set)
[main 2023-06-15T14:22:15.610Z] resolveShellEnv(): skipped (VSCODE_CLI is set)
[96399:0615/162217.248478:INFO:CONSOLE(627)] "%cTRACE color: #888 onWillActivateByEvent:  onAuthenticationRequest:github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162217.250107:INFO:CONSOLE(627)] "%cTRACE color: #888 onWillActivateByEvent:  onAuthenticationRequest:github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162217.257062:INFO:CONSOLE(627)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162218.388775:INFO:CONSOLE(627)] "%cTRACE color: #888 onWillActivateByEvent:  onAuthenticationRequest:github", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162218.391610:INFO:CONSOLE(627)] "%cTRACE color: #888 DialogService#confirm The extension 'GitHub Copilot Labs' wants to sign in using GitHub.", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162218.462212:INFO:CONSOLE(627)] "%cTRACE color: #888 ChatService#onWillSaveState: Persisting 0 sessions", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162218.462575:INFO:CONSOLE(627)] "%cTRACE color: #888 ChatService#onWillSaveState: Persisting 2 chars", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162219.827860:INFO:CONSOLE(627)] "%cTRACE color: #888 ChatService#onWillSaveState: Persisting 0 sessions", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[96399:0615/162219.828395:INFO:CONSOLE(627)] "%cTRACE color: #888 ChatService#onWillSaveState: Persisting 2 chars", source: vscode-file://vscode-app/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)

If you need the full log let me know where to send it to you, as it appears to have tokens and other info which I guess could be sensitive and might be better not to publish here...

deepak1556 commented 1 year ago

Thanks for the logs, that narrows down the source of the issue. Additionally can you provide the output of echo $XDG_CURRENT_DESKTOP

jpenalbae commented 1 year ago

It is not set:

$ echo $XDG_CURRENT_DESKTOP

$

I use e16 from here: https://git.enlightenment.org/e16/e16.git/

deepak1556 commented 1 year ago

@TylerLeonhardt this is what's happening, the user has a desktop env that is not in the list of supported environments for the runtime, refs https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:base/nix/xdg_util.cc;l=146-169

In this case, the runtime chooses to use the plain text backend as you can confirm from the above log Selected backend for OSCrypt: BASIC_TEXT and continues to offer support for encryption/decryption.

Now the problem, Electron checks for whether encryption support is available in Chromium before forwarding either EncryptString or DecryptString, refs https://github.com/electron/electron/blob/46fb0d8f5f3a33c5b9bba2329ac5de946cd66a3c/shell/browser/api/electron_api_safe_storage.cc#L43 and this particular API only checks if storage based on non-plain text backend is available, tl:dr, it will return false for BASIC_TEXT backend and hence you see the above error.

I can adjust Electron to allow BASIC_TEXT encryption for safestorage API moving forward, but I think on the VSCode side we are actually doing the right thing by falling back to in-memory version in this case. I think this just needs documentation.

jpenalbae commented 1 year ago

I can confirm that manually setting XDG_CURRENT_DESKTOP does the trick:

XDG_CURRENT_DESKTOP="GNOME" code-insiders

If I can give my opinion, warning the user about BASIC_TEXT and its implications, might be better than forcing to use in memory storage and require authentication on every restart, so the user can choose.

deepak1556 commented 1 year ago

If I can give my opinion, warning the user about BASIC_TEXT and its implications, might be better than forcing to use in memory storage and require authentication on every restart so the user can choose.

@jpenalbae yup we will improve the error scenario with proper user facing warnings.

TylerLeonhardt commented 1 year ago

@jpenalbae thanks for helping us understand your situation better. Really appreciate the speedy replies. We'll get this cleaned up.

jpenalbae commented 1 year ago

Thanks for your support :+1:

TylerLeonhardt commented 1 year ago

@deepak1556 correct me if I'm wrong but:

warning the user about BASIC_TEXT and its implications, might be better than forcing to use in memory storage and require authentication on every restart, so the user can choose.

there would be no way to do this without restarting the process with an additional flag, right? Unless your work to "adjust Electron to allow BASIC_TEXT encryption for safestorage API" would allow us to do that?

deepak1556 commented 1 year ago

Unless your work to "adjust Electron to allow BASIC_TEXT encryption for safestorage API" would allow us to do that?

Yes atleast from reading through the implementation, this will allow the runtime to use the text fallback without any need for restart or user intervention. I will confirm and get back.

henrytill commented 1 year ago

I can confirm that manually setting XDG_CURRENT_DESKTOP does the trick:

XDG_CURRENT_DESKTOP="GNOME" code-insiders

Same problem here on latest insiders, however I do have XDG_CURRENT_DESKTOP set in my environment:

$ echo $XDG_CURRENT_DESKTOP
sway

I use gnome-keyring-daemon, and this all worked fine until the recent code-insiders change.

Currently I get the expected (automatic) login behavior if I do:

$ env XDG_CURRENT_DESKTOP=GNOME code-insiders 

UPDATE: After a little reading here, I realized sway might not be an appropriate setting for this variable.

Krohitkrishna12 commented 1 year ago

i have echo $XDG_CURRENT_DESKTOP as X-Generic and i see the same issue in latest change of vs code insiders. i tried to set it to GNome but no luck. i have Gnome-Keyring installed and stable version work as expected and the insiders version specified in this thread is working as well.

Also, the issue is not specific to github login, its the same behavior where encryption is used.

here is the error i see [info] Reading sessions from secret storage... 2023-06-24 00:59:29.371 [error] Error: Error while decrypting the ciphertext provided to safeStorage.decryptString. Encryption is not available. at e.$H2b.encrypt (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:42:10905) at Object.call (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:25:4843) at R.s (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:23:5128) at R.q (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:23:4644) at o.value (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:23:4051) at v.w (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1906) at v.x (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1976) at v.fire (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:2192) at o.value (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:16:38866) at v.w (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1906) at v.fire (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:2123) at o.value (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:16:39060) at v.w (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1906) at v.fire (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:2123) at se (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:16:41206) at IpcMainImpl.f (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:19:96303) at IpcMainImpl.emit (node:events:513:28) at EventEmitter.<anonymous> (node:electron/js2c/browser_init:2:80979) at EventEmitter.emit (node:events:513:28) 2023-06-24 00:59:29.371 [info] Got 0 stored sessions 2023-06-24 00:59:29.434 [info] Getting sessions for all scopes... 2023-06-24 00:59:29.434 [info] Got 0 sessions for all scopes... 2023-06-24 00:59:29.435 [info] Getting sessions for the following scopes: email offline_access openid profile 2023-06-24 00:59:29.435 [info] Got 0 sessions for scopes: email offline_access openid profile

deepak1556 commented 1 year ago

@Krohitkrishna12 can you provide the output of code-insiders --verbose --vmodule="*/components/os_crypt/*=1" in your case. Additionally, does launching with code-insiders --password-store="gnome" fix the issue ?

marcelo-amorim-mobrj commented 1 year ago

Hi guys, I have the same problem using Mac OS Ventura 13.4.1 on my MacBook Air 2020. Any suggestion?

Some information from VSCode Insider about:

Version: 1.80.0-insider (Universal) Commit: b4952d14a465572e33f0635ef58de089227b8876 Date: 2023-06-26T05:33:50.204Z Electron: 22.3.14 ElectronBuildId: 21893604 Chromium: 108.0.5359.215 Node.js: 16.17.1 V8: 10.8.168.25-electron.0 OS: Darwin arm64 22.5.0

TylerLeonhardt commented 1 year ago

@marcelo-amorim-mobrj how do you know you have the same problem? Are you seeing Error while decrypting the ciphertext provided to safeStorage.decryptString somewhere? If so, where are you seeing that? If you don't see that, you likely have a different issue (one related to macOS) and it'd be helpful for us if you opened a new issue with the contents of:

code-insiders --verbose --vmodule="*/components/os_crypt/*=1"
marcelo-amorim-mobrj commented 1 year ago

Hi @TylerLeonhardt, thank you for your reply. After start VSCode Insider with the parameters --verbose --vmodule="*/components/os_crypt/*=1", when I try to authorize the Github Copilot the message returned at terminal is: ExtensionUrlTrustService#isExtensionUrlTrusted There are no configured trusted keys and the authentication process never ends.

TylerLeonhardt commented 1 year ago

@marcelo-amorim-mobrj that's not the same issue. Let's follow up in https://github.com/microsoft/vscode/issues/186226

Krohitkrishna12 commented 1 year ago

@Krohitkrishna12 can you provide the output of code-insiders --verbose --vmodule="*/components/os_crypt/*=1" in your case. Additionally, does launching with code-insiders --password-store="gnome" fix the issue ?

When i open from icon i see new popup as below in latest version code-insiders (1.80.0-1687879950)

image

and once i try to login to sync settings, I see a new error saying just Encryption is not available at EncryptString

[error] Error: Error while encrypting the text provided to safeStorage.encryptString. Encryption is not available.
    at e.$G2b.encrypt (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:42:11086)
    at Object.call (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:25:4844)
    at R.s (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:23:5128)
    at R.q (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:23:4644)
    at o.value (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:23:4051)
    at v.w (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1906)
    at v.x (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1976)
    at v.fire (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:2192)
    at o.value (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:16:38645)
    at v.w (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1906)
    at v.fire (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:2123)
    at o.value (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:16:38839)
    at v.w (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1906)
    at v.fire (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:2123)
    at se (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:16:40982)
    at IpcMainImpl.f (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:19:96301)
    at IpcMainImpl.emit (node:events:513:28)
    at EventEmitter.<anonymous> (node:electron/js2c/browser_init:2:80979)
    at EventEmitter.emit (node:events:513:28)
2023-06-27 18:14:00.065 [error] Error: Error while encrypting the text provided to safeStorage.encryptString. Encryption is not available.
    at e.$G2b.encrypt (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:42:11086)
    at Object.call (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:25:4844)
    at R.s (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:23:5128)
    at R.q (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:23:4644)
    at o.value (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:23:4051)
    at v.w (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1906)
    at v.x (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1976)
    at v.fire (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:2192)
    at o.value (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:16:38645)
    at v.w (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1906)
    at v.fire (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:2123)
    at o.value (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:16:38839)
    at v.w (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1906)
    at v.fire (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:18:2123)
    at se (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:16:40982)
    at IpcMainImpl.f (/usr/share/code-insiders/resources/app/out/vs/code/electron-main/main.js:19:96301)
    at IpcMainImpl.emit (node:events:513:28)
    at EventEmitter.<anonymous> (node:electron/js2c/browser_init:2:80979)
    at EventEmitter.emit (node:events:513:28)

When i run command to run vscode with the password store i get warning user@penguin:~$ code-insiders --password-store="gnome" Warning: 'password-store' is not in the list of known options, but still passed to Electron/Chromium.

As far as coming to code-insiders --verbose --vmodule="/components/os_crypt/=1" there is ton of output produced and i cant even capture the whole output as its overflowing terminal buffer limit to capture from start. Any suggestions on how to share it? also i read that it has sensitive information at the top of this conversation.

FYI: here are the list of pkgs i have installed image

Update: If i click use weaker encryption everything seems to flow as before. not sure what is making difference or what is my machine lacking to use latest thing vscode implements

TylerLeonhardt commented 1 year ago

@Krohitkrishna12 what desktop environment do you use?

deepak1556 commented 1 year ago

@TylerLeonhardt the desktop env is X-Generic from https://github.com/microsoft/vscode/issues/185212#issuecomment-1605261078

@Krohitkrishna12 the flow you are seeing is expected in your case as the runtime is unable to detect the storage backend, I have kept this issue open to see if it can be addressed on the runtime side.

You have two options as workaround in your scenario,

1) Following the notification for troubleshooting, if you are able to confirm libsecret or gnome-keyring is available which you have already done then you can do

1) Open Insiders and from command palette, run `Configure Runtime Arguments`
2) Set `"password-store": "gnome"`
3) Restart and you should no longer see any error

2) Use the weaker encryption that does not use the OS keyring as storage backend if you would like just get things moving without having to debug your OS information.

Krohitkrishna12 commented 1 year ago

@Krohitkrishna12 what desktop environment do you use?

i use Debian Linux 11 container in Chrome os Stable @TylerLeonhardt. I Currently overwrote the desktop environment variable from X-generic to Gnome to see if it helps. But sadly no. i dont know if reverting it back would gain anything.

Krohitkrishna12 commented 1 year ago

@deepak1556 i can continue using Weaker encryption as long as its okay to use and creds are fairly safe ;-). is there any way to reset or undo using weaker encryption so i can see if future update would fix the issue? Also any way to clear the creds that vsccode currently stores with weaker encryption?

deepak1556 commented 1 year ago

If you had opted to use the weaker encryption, then if you open the runtime settings file via Configure Runtime Arguments there will be an entry "password-store": "basic_text". You can unset this entry when this issue gets closed to get a proper fix.

Also any way to clear the creds that vsccode currently stores with weaker encryption?

If VSCode updates to use a different storage backend then your persisted sessions will be cleared and VSCode will ask you to re-authenticate. So you don't need to do any work to clear them out.

deepak1556 commented 1 year ago

To clarify, before opting to use the weaker encryption. Did you try "password-store": "gnome" option ?

Krohitkrishna12 commented 1 year ago

@deepak1556 no but i did see the password store set to basic_text which i updated to gnome and everything seems to work as before now. Thank you for the help. i will remove and try when i update to see if the issue gets fixed.

MrinmoyHaloi commented 1 week ago

Is there any fix on this? Currently facing the same issue with hyprland