atom/apm

apm publish, cannot unlock keyring

allefeld opened this issue · 2 comments

Prerequisites

Description

When I run apm publish ... without setting ATOM_ACCESS_TOKEN, a keyring dialog pops up asking me for a password. Saving the token in a keyring makes sense to me.

The problem is that I don't use this keyring program otherwise.
I don't know that password and I don't remember ever having set up this password.
The dialog itself doesn't allow to create a new one.
And the program doesn't even identify itself, so I don't know where to look for help:

image

I cannot unlock, so I cancel, leading to

Remote error from secret service: org.freedesktop.Secret.Error.IsLocked: Cannot create an item in a locked collection

The keyring program I do use, KDE Wallet Manager, tells me that The 'kdewallet' wallet is currently open, so if that were the relevant program / wallet there should be no problem.

Setting ATOM_ACCESS_TOKEN as a workaround works, but if this token is important enough to save in a keyring, writing it to an environment variable appears suboptimal.

Since apm works with git anyway, would it maybe be possible to save the token via gitcredentials (and obtain GitHub authorization from there, too)?

Steps to Reproduce

  1. Use apm publish ... under the KDE Plasma desktop.
  2. Press enter to lauch the Atom Packages token page and copy the token.
  3. Enter the token. The keyring dialog appears.

Expected behavior:

I am able to unlock the keyring.

Actual behavior:

I am unable to unlock the keyring.

Reproduces how often:

Every time.

Versions

Atom : 1.42.0
Electron: 4.2.7
Chrome : 69.0.3497.128
Node : 10.11.0

apm 2.4.3
npm 6.2.0
node 10.2.1 x64
atom 1.42.0
python 2.7.16
git 2.20.1

Debian GNU/Linux 10.2
KDE Frameworks 5.54.0
KDE Wallet Manager 18.04.1

Judging by this similar issue on an unrelated repository, this might be due to relying on the libsecret library.

Alright, Atom seems to be really abandoned by its developers. Or maybe there are no developers anymore?

Anyway, to whom it may concern, I finally figured it out. Apparently apm password storage uses gnome-keyring. If you are in the same position as me, you never used gnome-keyring for anything else – i.e. nothing of value is stored there – then you can fix this problem this way:

  • Install seahorse, the GUI administration application of gnome-keyring.

  • Start seahorse. In the menu, it should appear as "Passwords and Keys".

  • Under "Passwords", select "Default", right-click, "Delete".

  • Click the "+" button, select "Password Keyring", and give it the name "Default". You will be prompted to select a password for this keyring.