Password-manager-service for lbry snap

I’m pushing the latest stable build of lbry (the decentralized & blockchain based content service) to the Snap Store. To sign into the application - and thus track your subscriptions, followers, make comments etc (like YouTube) - you give your email and sign in via a link emailed to you. The desktop app then gets the token and stores it. To do this it requires the password manager service being connected. Without the interface connected, the application completely freezes and is unusable.

Therefore, this is me requesting password-manager-service for lbry.

I very much appreciate the request and the difficulties you are facing, but IME lbry isn’t obviously something that would use the password manager service. Instead, it is choosing to do so and looking at the upstream documentation, I don’t see anything that differentiates this from other applications that request the interface and so I must vote -1 to auto-connect the interface. The user’s voice (under ‘auto-connection request considerations’) is too important to do otherwise.

Please see the manual connection mitigations for steps forward for your snap.

@reviewers - can others please vote?

1 Like

Ok, I’ll withdraw the request and figure something else out. Thanks.

1 Like

Knocked this up using yad in a wrapper. Looks awful, but good for a proof of concept in the meantime.


Here’s the code in case anyone wants to try to implement / improve it.

# See if the password-manager-service is connected, if not, we need to prompt the user to connect it
if snapctl is-connected password-manager-service; then
  echo "Password manager service is connected"
  CONNECTION_TITLE="Unable to use desktop keyring"
  CONNECTION_TEXT="This snap currently requires access to the desktop keyring to store login credentials.\
  Note: the various keyring services do not provide sufficient isolation for snap access to the\\n\
  interface to be auto-connected by default. Not only can the snap see all stored passwords, but\\n \
  all other applications with access to the password services can also see the snap’s passwords.\\n\
  <b>If you wish to connect the interface, in a terminal run the following command:</b>\
  <tt>sudo snap connect lbry:password-manager-service</tt>\\n\
  Then come back here and continue or restart the application completely.\
  If connected, this dialog will no longer appear.\
  Visit the following link for more details:\"

  # Display migration alert
  $SNAP/usr/bin/yad \
    --title="${CONNECTION_TITLE}" \
    --text="${CONNECTION_TEXT}" \
    --center \
    --on-top \