microsoft / vscode

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

Linux: An OS keyring couldn't be identified for storing the encryption related data in your current desktop environment #187338

Open Konglomneshued opened 1 year ago

Konglomneshued commented 1 year ago

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

I referred to https://code.visualstudio.com/docs/editor/settings-sync#_troubleshooting-keychain-issues

This is the error part of my log after running code-insiders --verbose --vmodule="*/components/os_crypt/*=1":

[314774:0707/210405.156953:INFO:CONSOLE(627)] "%cTRACE color: #888 [mainThreadSecretState] Setting password for vscode.github-authentication extension:  github.auth", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210405.157113:INFO:CONSOLE(627)] "%cTRACE color: #888 [NativeSecretStorageService] Notifying user that secrets are not being stored on disk.", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210405.158116:INFO:CONSOLE(627)] "%cTRACE color: #888 DialogService#prompt An OS keyring couldn't be identified for storing the encryption related data in your current desktop environment.", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.420345:INFO:CONSOLE(627)] "%cTRACE color: #888 [secrets] encrypting secret for key: {"extensionId":"vscode.github-authentication","key":"github.auth"}", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[main 2023-07-08T02:04:09.420Z] [EncryptionMainService] Encrypting value.
[main 2023-07-08T02:04:09.422Z] Error: Error while encrypting the text provided to safeStorage.encryptString. Encryption is not available.
    at e.$U2b.encrypt (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:42:11004)
    at Object.call (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:25:4844)
    at R.s (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:23:5128)
    at R.q (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:23:4644)
    at o.value (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:23:4051)
    at y.w (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1906)
    at y.x (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1976)
    at y.fire (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:18:2192)
    at o.value (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:16:38681)
    at y.w (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1906)
    at y.fire (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:18:2123)
    at o.value (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:16:38875)
    at y.w (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:18:1906)
    at y.fire (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:18:2123)
    at se (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:16:41018)
    at IpcMainImpl.f (/opt/visual-studio-code-insiders/resources/app/out/vs/code/electron-main/main.js:19:96358)
    at IpcMainImpl.emit (node:events:513:28)
    at EventEmitter.<anonymous> (node:electron/js2c/browser_init:2:80979)
    at EventEmitter.emit (node:events:513:28)
[314774:0707/210409.425211:INFO:CONSOLE(627)] "%c  ERR color: #f33 Error: Error while encrypting the text provided to safeStorage.encryptString. Encryption is not available.", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.425442:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Getting accounts for github", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.425641:INFO:CONSOLE(627)] "%c INFO color: #33f Settings Sync: Updated current session 8103a56381b60bac", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.425835:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Getting accounts for github", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.426026:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updated accounts for github", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.426214:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Getting accounts for microsoft", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.426428:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updated accounts for github", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.426630:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Getting accounts for microsoft", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.426816:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updated accounts for microsoft", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.426981:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updating the token for the account Android789515", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.427124:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Token updated for the account Android789515", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.427693:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updated accounts for microsoft", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.427861:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Updating the token for the account Android789515", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)
[314774:0707/210409.428010:INFO:CONSOLE(627)] "%cTRACE color: #888 Settings Sync: Token updated for the account Android789515", source: vscode-file://vscode-app/opt/visual-studio-code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (627)

Version: 1.81.0-insider Commit: ad791ef3d26b99963da31636af697afd86575435 Date: 2023-07-07T19:47:36.821Z Electron: 22.3.14 ElectronBuildId: 21893604 Chromium: 108.0.5359.215 Node.js: 16.17.1 V8: 10.8.168.25-electron.0 OS: Linux x64 6.4.1-arch2-1

I have gnome-keyring installed and it's not using it for some reason. Must be the update to 1.80.

Manually configuring the keyring to use results in this:

code-insiders --password-store="gnome"
Warning: 'password-store' is not in the list of known options, but still passed to Electron/Chromium.

It seems to work.

I figured this is a bug since I had gnome-keyring installed, it wasn't being used, and I had to manually configure it.

maplepy commented 1 year ago

mann why do none of those work for me.. what pkg do you have for vs code on arch guys? I use code code-features and code-marketplace

dotfrag commented 1 year ago

mann why do none of those work for me.. what pkg do you have for vs code on arch guys? I use code code-features and code-marketplace

I am using visual-studio-code-bin 1.81.0-1 from AUR and setting:

    "password-store": "gnome"

in argv.json works. Of course, for this to work, you need to install and setup gnome-keyring-daemon. The guide I used.

maplepy commented 1 year ago

Of course, for this to work, you need to install and setup gnome-keyring-daemon. The guide I used.

Alright I will check this out thanks ! I didnt instal gnome-keyring manually since it was a dependency of code-features on AUR but that might be part of the problem

jplatte commented 1 year ago

Why does VSCode even attempt to initialize the keyring integration when one doesn't attempt to use the settings sync feature?

MichaelBergquistSuarez commented 1 year ago

Why does VSCode even attempt to initialize the keyring integration when one doesn't attempt to use the settings sync feature?

It is not only used for the settings sync feature. It also handle secrets (such as auth against Github for example)

MichaelBergquistSuarez commented 1 year ago

For those with NixOS, I spotted that there's now a fix in master while investigating this (Thanks @BlankParticle): https://github.com/NixOS/nixpkgs/commit/ed2f5f18292f238762fde3a2076ee727c029e917

(Also, hint for others can be to check your LD_LIBRARY_PATH, turned out mine was messed up so I had to fix that too)

maplepy commented 1 year ago

check your LD_LIBRARY_PATH, turned out mine was messed up so I had to fix that too

How exactly did you fix that and how is it messed up? mine is just empty

MichaelBergquistSuarez commented 1 year ago

check your LD_LIBRARY_PATH, turned out mine was messed up so I had to fix that too

How exactly did you fix that and how is it messed up? mine is just empty

I had a module that was badly written;

  environment.sessionVariables.LD_LIBRARY_PATH = lib.mkIf config.gpu.nvidia.enableVulkan "${pkgs.vulkan-loader}/lib:${pkgs.wayland}/lib:$LD_LIBRARY_PATH";

Which ended up being LD_LIBRARY_PATH='/some-correct-paths:$LD_LIBRARY_PATH' (literally $LD_LIBRARY_PATH as path instead of expanded, so a bunch of library paths was missing instead of being appended, including libsecret). I just removed it since I don't need it and restarted

I noticed it was incorrect when I manually wanted to start VSCode with libsecret my known existing path (LD_LIBRARY_PATH=/nix/store/2iann9zk6bkm3cdi7vx4wa3hmc49zfmx-libsecret-0.20.5/lib code-insiders)


Oh yeah, some other stuff I investigated while troubleshooting (maybe useful info for some):

kalsan commented 1 year ago

Same on Sway WM. Launching with $ code --password-store="gnome" does not work, but adding "password-store":"gnome" to argv.json works.

For me it's the exact opposite: $ code --password-store="gnome" works, but adding "password-store":"gnome" to argv.json has no effect.

I am using i3wm under Debian 12 with code 1.81.1. Gnome Keyring is set up, unlocked, and works both in terminal and if using the --pasword-store="gnome" argument when starting gnome.

paolomainardi commented 1 year ago

Maybe related https://www.reddit.com/r/archlinux/comments/15sse7i/psa_chromium_dropped_gnomekeyring_support_use/?utm_source=share&utm_medium=ios_app&utm_name=ioscss&utm_content=1&utm_term=1 ?

kalsan commented 1 year ago

Turns out, for VS code to detect the keyring properly, I need two things:

Since the latter isn't possible in the argv.json file, it explains why it didn't work properly for me.

Conclusion: VS code is not detecting the SSH auth socket properly under i3.

dboado commented 1 year ago

Same issue here.

OS: Debian 11.7 DM: LXDE gnome-keyring: installed vscode version:

Version: 1.81.1
Commit: 6c3e3dba23e8fadc360aed75ce363ba185c49794
Date: 2023-08-09T22:18:39.991Z
Electron: 22.3.18
ElectronBuildId: 22689846
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: 10.8.168.25-electron.0
OS: Linux x64 5.10.0-25-amd64
code --verbose --vmodule="*/components/os_crypt/*=1"
[12327:0822/100731.239240:VERBOSE1:key_storage_util_linux.cc(54)] Password storage detected desktop environment: (unknown)
[12327:0822/100731.293536:WARNING:bluez_dbus_manager.cc(247)] Floss manager not present, cannot set Floss enable/disable.
[main 2023-08-22T08:07:31.373Z] [File Watcher (node.js)] Request to start watching: /home/username/.config/Code/User (excludes: <none>, includes: <all>),/home/username/.config/Code/User/settings.json (excludes: <none>, includes: <all>)
[main 2023-08-22T08:07:31.384Z] Sending env to running instance...
[main 2023-08-22T08:07:31.385Z] [File Watcher (node.js)] Started watching: '/home/username/.config/Code/User'
[main 2023-08-22T08:07:31.387Z] [File Watcher (node.js)] Started watching: '/home/username/.config/Code/User/settings.json'
[main 2023-08-22T08:07:31.498Z] Sent env to running instance. Terminating...
[main 2023-08-22T08:07:31.498Z] Lifecycle#kill()
[main 2023-08-22T08:07:31.498Z] Lifecycle#onWillShutdown.fire()

running code --password-store="gnome" works fine:

[...]
[13427:0822/102309.688473:VERBOSE1:key_storage_linux.cc(122)] Selected backend for OSCrypt: GNOME_ANY
[13427:0822/102309.718354:VERBOSE1:key_storage_linux.cc(174)] OSCrypt using Libsecret as backend.
[13427:0822/102309.735978:VERBOSE1:key_storage_libsecret.cc(53)] Libsecret key created: 2023-08-22 07:46:33.000 UTC
[13427:0822/102309.736039:VERBOSE1:key_storage_libsecret.cc(54)] Libsecret key last modified: 2023-08-22 07:46:33.000 UTC
[...]

adding "password-store": "gnome" to ~/.vscode/argv.json also works without errors

HighSec-org commented 1 year ago

This is working in version 1.79.2.23166 and seems to have been broken in version 1.80 The workaround is to install an older version.

DPICODER commented 1 year ago

I had This Issue for a while on the Linux Mint . This worked: you can make the flag permanent by editing the code-flags.conf file in your .config directory. To do this, open your terminal type nano ~/.config/code-flags.conf, and press enter. This will open the file in a text editor. In the file, add a new line with the flag --password-store=“gnome” and save the file by pressing Ctrl+O and then Ctrl+X.

HighSec-org commented 1 year ago

I had This Issue for a while on the Linux Mint . This worked: you can make the flag permanent by editing the code-flags.conf file in your .config directory. To do this, open your terminal type nano ~/.config/code-flags.conf, and press enter. This will open the file in a text editor. In the file, add a new line with the flag --password-store=“gnome” and save the file by pressing Ctrl+O and then Ctrl+X.

That didn't work for me, as well as many people in this thread, if the solution was that simple, I wouldn't have gone through the trouble of trying 20 previous versions until I found a working one.

Frontear commented 1 year ago

As a follow up update, I started to use https://github.com/nullobsi/pass-secrets which is a org.freedesktop.secrets compatible implementation using pass as its backend, which is powered by gpg keys. Needless to say, VSCode will still not work. I'm not sure what's changed between its attempts to use SecretService, but it needs to be changed because these things worked before and don't anymore.

EDIT: To prove I have a compatible and compliant api, I print out all active DBus services in my session, and you can see org.freedesktop.secrets is part of them.

$ dbus-send --print-reply --dest=org.freedesktop.DBus  /org/freedesktop/DBus org.freedesktop.DBus.ListNames
method return time=1693453065.236544 sender=org.freedesktop.DBus -> destination=:1.409 serial=3 reply_serial=2
   array [
      string "org.freedesktop.DBus"
      string "org.freedesktop.impl.portal.desktop.gtk"
      string "org.freedesktop.Notifications"
      string "org.freedesktop.ReserveDevice1.Audio0"
      string ":1.8"
      string "com.github.Aylur.ags"
      string "org.freedesktop.portal.Desktop"
      string ":1.9"
      string ":1.307"
      string ":1.407"
      string ":1.308"
      string "org.a11y.Bus"
      string "org.freedesktop.systemd1"
      string ":1.409"
      string "org.freedesktop.impl.portal.PermissionStore"
      string ":1.10"
      string ":1.22"
      string ":1.0"
      string "org.pulseaudio.Server"
      string ":1.25"
      string ":1.1"
      string ":1.398"
      string ":1.26"
      string ":1.15"
      string "org.freedesktop.secrets"
      string ":1.399"
      string ":1.16"
      string ":1.312"
      string ":1.17"
      string ":1.324"
      string ":1.313"
      string "org.freedesktop.portal.Documents"
      string "org.razer"
      string ":1.325"
      string ":1.19"
      string ":1.6"
   ]
halfacandan commented 1 year ago

Here are the detailed steps that I used to fix this on my raspberry pi:

  1. Open a new terminal in Linux
  2. Use command: nano ~/.vscode/argv.json to edit VSCode's settings
  3. Scroll to the end of the file and add "password-store": "gnome" on a new line, before the closing curly bracket. Be sure to add a comma to the previous line (as shown by the arrow in the screenshot below) image
  4. Use CTRL + X to exit the file and confirm the prompts to update and save your changes
  5. Open VSCode as normal

If it is still not working, check your VSCode logs by opening the latest main.log file in home/pi/.config/Code/logs/ image If you see an error like the one below then you have made a mistake with the syntax when editing VSCode's settings. In my case, I had missed out a comma but you could also have missed out a quotation mark. image

Hope this helps someone :)

Ten0 commented 1 year ago

I closed the window and apparently that took the same action as clicking "Use weaker encryption" (popup doesn't show anymore). I'm not sure where it stored that setting. Anyone has an idea how to revert that? (I would like that the popup keeps showing if this breaks again)

pavanbhat1999 commented 1 year ago

I closed the window and apparently that took the same action as clicking "Use weaker encryption" (popup doesn't show anymore). I'm not sure where it stored that setting. Anyone has an idea how to revert that? (I would like that the popup keeps showing if this breaks again)

@Ten0

press Ctrl + Shift + P --> search configure runtime argument --> then you will see the file

image

Ten0 commented 1 year ago

@pavanbhat1999

Thanks. However I didn't see any extra line in there following the closing of that window. Are you sure this is where configuring to insecure from the pop-up writes?

Lordxan commented 1 year ago

Having the same issue with keepassXC secret service integration turned on. I just curious when do you planing to fixing this issue it sucks to be on 1.79.2 version tbh

aurkaxi commented 1 year ago

same issue: "Property password-store is not allowed." keyring: gnome wm: Awesomewm OS: Archlinux

BlueskyFR commented 1 year ago

Anyone able to make it work on NixOS?

iynaix commented 1 year ago

Anyone able to make it work on NixOS?

home.file.".vscode/argv.json" = {
    force = true;
    text = ''
      {
        // "disable-hardware-acceleration": true,
        "enable-crash-reporter": true,
        // Unique id used for correlating crash reports sent from this instance.
        // Do not edit this value.
        "crash-reporter-id": "YOUR_CRASH_ID_HERE",
        "password-store": "gnome"
      }
    '';
  };

I just write the argv.json and call it a day

jestarray commented 11 months ago

Does this work on .vscode-oss ? I think the arch linux package of vscode is the oss version, so I edit .vscode-oss/argv.json with "password-store": "gnome" and still no luck. I think my problem has to do with gnome-keyring not being initialized in login via PAM

edit: seems to be fixed by setting pam as said above: https://github.com/microsoft/vscode/issues/187338#issuecomment-1629789365

arakis commented 11 months ago

Ask 10 Persons, and you get 15 answers...here we go:

export DESKTOP_SESSION=xfce
code

on i3 will also do the job. Just checked on my Arch Linux i3 Desktop.

jh-devv commented 10 months ago
"password-store": "gnome"

Worked fine on hyprland after installing gnome-keyring. On nixos I had an snippet for gdm to unlock the keyring on start!!

ArtemVakhitov commented 10 months ago

On VS Code 1.83.1 under Mint 21.2 (Victoria), when I try to set "password-store": "basic" in argv.json, VS Code says "Property password-store is not allowed".

jh-devv commented 10 months ago

On VS Code 1.83.1 under Mint 21.2 (Victoria), when I try to set "password-store": "basic" in argv.json, VS Code says "Property password-store is not allowed".

Same, it seems still to work?

cfex commented 10 months ago

Does anyone have this problem on Windows? First time seeing this on Windows 10 Pro

sashap8 commented 8 months ago

I get this issue on Mac when logging into Github - either the Github Actions or Copilot extensions - has anyone run into this on Mac?

TylerLeonhardt commented 8 months ago

@sashap8 can you open a separate issue? It's probably not related to Linux.

When you open it, please follow the troubleshooting steps to make sure that you include the necessary information.

sashap8 commented 8 months ago

@sashap8 can you open a separate issue? It's probably not related to Linux.

When you open it, please follow the troubleshooting steps to make sure that you include the necessary information.

Thanks @TylerLeonhardt, I submitted an issue with system details and reproduction steps. I looked through common troubleshooting cases, but didn't find any that seemed relevant. Feel free to let me know if there's any more context I should be providing though! Thanks again.

Jes015 commented 8 months ago

Solution if you're using a non-popular window manager

  1. install gnome-keyring libsecret. On arch you can run sudo pacman -S gnome-keyring libsecret
  2. open vscode by terminal code --password-store="gnome"
  3. If this solution works for you, you can persist the value of password-store by opening the Command Palette (Ctrl+Shift+P) and running the Preferences: Configure Runtime Arguments command. This will open the argv.json file where you can add the setting "password-store":"gnome" (this step is from https://code.visualstudio.com/docs/editor/settings-sync#_troubleshooting-keychain-issues).
Android789515 commented 7 months ago

Solution if you're using a non-popular window manager

1. install `gnome-keyring libsecret`. On arch you can run `sudo pacman -S gnome-keyring libsecret`

2. open vscode by terminal `code --password-store="gnome"`

3. If this solution works for you, you can persist the value of password-store by opening the Command Palette (Ctrl+Shift+P) and running the Preferences: Configure Runtime Arguments command. This will open the argv.json file where you can add the setting "password-store":"gnome" (this step is from https://code.visualstudio.com/docs/editor/settings-sync#_troubleshooting-keychain-issues).

This is no longer working for me.

My config:

{
    // Use software rendering instead of hardware accelerated rendering.
    // This can help in cases where you see rendering issues in VS Code.
    // "disable-hardware-acceleration": true,
    "password-store": "gnome",
    // Allows to disable crash reporting.
    // Should restart the app if the value is changed.
    "enable-crash-reporter": false,
    // Unique id used for correlating crash reports sent from this instance.
    // Do not edit this value.
    ...
}

What I see: image

pavelxdd commented 7 months ago

Same happening for me on Sway after upgrade to 1.86.0 I have "password-store": "gnome" in argv.json which no longer works.

pavelxdd commented 7 months ago

I've just tried setting "gnome-libsecret" instead of "gnome" and everything works again! @Android789515 can you try it too?

ShyamGadde commented 7 months ago

Hey @pavelxdd, your suggestion worked for me. Thank you!

However, I find it strange that the VS Code docs say this:

gnome: This option will first try the gnome-libsecret option implementation and then if that fails, it will fallback to the gnome-keyring option implementation.

This implies that the default behavior should work, but it doesn’t seem to.

alihardan commented 7 months ago

Same happening for me just after upgrading to 1.86.0. Fixed by setting gnome-libsecret instead of gnome!

JoshElias commented 7 months ago

Fixed by setting password-store to gnome-libsecret instead of gnome here as well on 1.86.0. Thank you!

Android789515 commented 7 months ago

I've just tried setting "gnome-libsecret" instead of "gnome" and everything works again! @Android789515 can you try it too?

This does not work for me.

mathcale commented 7 months ago

I've just tried setting "gnome-libsecret" instead of "gnome" and everything works again! @Android789515 can you try it too?

It worked for me on Arch, thanks!

gipo355 commented 7 months ago

gnome-libsecret worked for me too

gustavklopp commented 7 months ago

Still the same problem (on Manjaro).

error9900 commented 7 months ago

Switching from gnome to gnome-libsecret seems to fix it for me, too:

Version: 1.86.0 Commit: 05047486b6df5eb8d44b2ecd70ea3bdf775fd937 Date: 2024-01-31T10:27:46.147Z Electron: 27.2.3 ElectronBuildId: 26495564 Chromium: 118.0.5993.159 Node.js: 18.17.1 V8: 11.8.172.18-electron.0 OS: Linux x64 6.1.60-08594-g03a802b9a072

deepak1556 commented 7 months ago

If you are in a situation where "password-store": "gnome" in argv.json no longer works, sorry for the breakage there was a behavior change in the runtime that got missed in the runtime update. Both gnome and gnome-keyring values are removed in favor of gnome-libsecret. We will prepare a candidate fix for 1.86.1 release.

Malix-Labs commented 7 months ago

On ChromeOS, I get that error too

Which is weird, because gnome-keyring is installed and "password-store": "gnome" is set in ~/.vscode/argv.json.

Is it due to the behavior change you're talking about @deepak1556?

Update: yes (see https://github.com/microsoft/vscode/issues/187338#issuecomment-1927336923)

~/.vscode/argv.json

// This configuration file allows you to pass permanent command line arguments to VS Code.
// Only a subset of arguments is currently supported to reduce the likelihood of breaking
// the installation.
//
// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT
//
// NOTE: Changing this file requires a restart of VS Code.
{
    // Use software rendering instead of hardware accelerated rendering.
    // This can help in cases where you see rendering issues in VS Code.
    // "disable-hardware-acceleration": true,

    // Allows to disable crash reporting.
    // Should restart the app if the value is changed.
    "enable-crash-reporter": true,

    // Unique id used for correlating crash reports sent from this instance.
    // Do not edit this value.
    "crash-reporter-id": "d3649379-71f0-49b8-8896-22d26592c978",

    "password-store": "gnome",
}
malix@penguin:~$ sudo apt install gnome-keyring
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
gnome-keyring is already the newest version (42.1-1+b2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
malix@penguin:~$ code --verbose --vmodule="*/components/os_crypt/*=1"
[0205/162123.944602:ERROR:file_io_posix.cc(152)] open /home/malix/.config/Code/Crashpad/pending/c863bb7a-4d1c-4761-ac18-81dba03f53a8.lock: File exists (17)
[3708:0205/162124.111662:VERBOSE1:key_storage_util_linux.cc(52)] Password storage detected desktop environment: (unknown)
[3708:0205/162124.161114:WARNING:bluez_dbus_manager.cc(247)] Floss manager not present, cannot set Floss enable/disable.
[main 2024-02-05T15:21:24.331Z] [File Watcher (node.js)] Request to start watching: /home/malix/.config/Code/User (excludes: <none>, includes: <all>, correlationId: <none>),/home/malix/.config/Code/User/settings.json (excludes: <none>, includes: <all>, correlationId: <none>)
[main 2024-02-05T15:21:24.365Z] Sending env to running instance...
[main 2024-02-05T15:21:24.367Z] [File Watcher (node.js)] Started watching: '/home/malix/.config/Code/User'
[main 2024-02-05T15:21:24.370Z] [File Watcher (node.js)] Started watching: '/home/malix/.config/Code/User/settings.json'
[3742:0205/162124.388037:WARNING:sandbox_linux.cc(393)] InitializeSandbox() called with multiple threads in process gpu-process.
[main 2024-02-05T15:21:24.505Z] Sent env to running instance. Terminating...
[main 2024-02-05T15:21:24.505Z] Lifecycle#kill()
[main 2024-02-05T15:21:24.505Z] Lifecycle#onWillShutdown.fire()
malix@penguin:~$ cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

VS Code Version: 1.86.0 - 05047486b6df5eb8d44b2ecd70ea3bdf775fd937 - x64 OS Version: ChromeOS Flex - Version 121.0.6167.155 (Official Build) beta (64-bit)

Malix-Labs commented 7 months ago

Breaking Fix

vscode = 1.86.0 Set "password-store": "gnome-libsecret" in ~/.vscode/argv.json

JoshElias commented 7 months ago

Are there any resources on what other OS keyrings could be used other than gnome-keyring?

EDIT: That would be here: https://code.visualstudio.com/docs/editor/settings-sync#_recommended-configure-the-keyring-to-use-with-vs-code

Konglomneshued commented 7 months ago

Breaking Fix

vscode >= 1.86.0 Set "password-store": "gnome-libsecret" in ~/.vscode/argv.json

gnome-libsecret is not a package I could find. Do you mean libsecret?