Nheko-Reborn / nheko

Desktop client for Matrix using Qt and C++20.
https://nheko-reborn.github.io/
GNU General Public License v3.0
1.92k stars 201 forks source link

Failed to login #847

Closed nixfreak closed 2 years ago

nixfreak commented 2 years ago

Describe the bug

When logging into Nheko-git or Nheko 9.0 using either kwallet or KeepassXC I get the following error

image

To Reproduce

  1. Run Nheko from Krunner or terminal
  2. Login via user/password (matrix)
  3. Error pops up indicating secret service

What happened?

Dialog box pops up

image

Expected behavior

Should be able to login via Nheko

Screenshots

image

Version

nheko-git 0.8.2.r786.gc40fbf42-1, nheko 0.9.0-1

Operating system

Linux

Installation method

Some repository (AUR, homebrew, distribution repository, PPA, etc)

Qt version

QMake version 3.1 Using Qt version 5.15.2 in /usr/lib

C++ compiler

gcc (GCC) 11.1.0

Desktop Environment

Cutefish 0.4

Did you use profiles?

Relevant log output

No response

Backtrace

No response

deepbluev7 commented 2 years ago

To use kwallet, afaik you need to set the "XDG_CURRENT_DESKTOP" variable to "KDE" or the "DESKTOP_SESSION" to "kde" or the "KDE_FULL_SESSION" to some value. (One of them is enough). In addition you need to set the "KDE_SESSION_VERSION" to "5". Otherwise it will try the secrets backend.

For Keepass, you need to enable the secrets service in the keepass settings as well as make the collection explorable. I think gnome keyring is actually the easiest to use out of the bunch atm.

nixfreak commented 2 years ago

I have KeypassXC set though , is there some settings I need to set in a config file somewhere ?

Here is my setting for KeypassXC image

deepbluev7 commented 2 years ago

Hm, I thought that should be enough. Can you double check, that you have searching enabled and KeepassXC started before Nheko? This old Guide should be somewhat correct still: https://c3pb.de/blog/keepassxc-secrets-service.html

nixfreak commented 2 years ago

KeePassXC group searching image

KeypassXC settings Secret service

image

Running Nheko again image

redsky17 commented 2 years ago

Could you verify the version of qt-keychain that you're using? (ldd on the nheko executable should show you which qt-keychain nheko is linked against)?

Also, can you verify that the the output of:

dbus-send --session --print-reply --dest=org.freedesktop.DBus / \
    org.freedesktop.DBus.GetConnectionUnixProcessID \
    string:org.freedesktop.secrets

matches the PID of your keepassxc instance?

nixfreak commented 2 years ago
    libqt5keychain.so.1 => /usr/lib/libqt5keychain.so.1 (0x00007f351d435000)

dbus-send --session --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.GetConnectionUnixProcessID string:org.freedesktop.secrets method return time=1640118285.309939 sender=org.freedesktop.DBus -> destination=:1.368 serial=3 reply_serial=2 uint32 59793

image

redsky17 commented 2 years ago

What process is running under PID 59793 ? (something like ps -p 59793 should work from a terminal)

Also, what is the output of pacman -Qi qtkeychain-qt5 (since it looks like nheko is linked against a system library, this should work).

nixfreak commented 2 years ago

pacman -Qi qtkeychain-qt5 Name : qtkeychain-qt5 Version : 0.13.2-1 Description : Provides support for secure credentials storage Architecture : x86_64 URL : https://github.com/frankosterfeld/qtkeychain Licenses : BSD Groups : None Provides : qtkeychain Depends On : libsecret qt5-base Optional Deps : kwallet: kwallet backend [installed] Required By : kldap kmailtransport nheko-git Optional For : None Conflicts With : qtkeychain Replaces : qtkeychain Installed Size : 207.37 KiB Packager : Antonio Rojas arojas@archlinux.org Build Date : Thu 18 Nov 2021 10:08:20 AM CST Install Date : Mon 20 Dec 2021 03:35:12 PM CST Install Reason : Installed as a dependency for another package Install Script : No Validated By : Signature

redsky17 commented 2 years ago

Qt-keychain version looks good, but can you verify the other part?

nixfreak commented 2 years ago

KeepassXC dies after I hit ok to close Nheko

Try again... bus-send --session --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.GetConnectionUnixProcessID string:org.freedesktop.secrets method return time=1640118768.361127 sender=org.freedesktop.DBus -> destination=:1.374 serial=3 reply_serial=2 uint32 59950 [nixfreak@chaosArch docs]$ ps aux | grep 59950 nixfreak 59950 9.6 1.1 698344 89676 ? SLl 14:32 0:03 /usr/bin/keepassxc nixfreak 59966 0.0 0.0 6492 2408 pts/2 S+ 14:33 0:00 grep 59950

So rebuilt 0.9 instead of git and samething happened.

nixfreak commented 2 years ago

Ok, well I switched to KDE plasma 5.x newest I think , and I am able to get nheko to work using kwallet.

ThisNekoGuy commented 2 years ago

Wait, this is still a valid issue though, isn't it? Why close it?

deepbluev7 commented 2 years ago

Wait, this is still a valid issue though, isn't it? Why close it?

The user who opened it and managed to get it working, so there is none left to debug it. If anyone else experiences that issue, they should open a new bug.

ThisNekoGuy commented 2 years ago

"Getting it working" was actually avoiding it altogether and using a different provider, but I guess :/

deepbluev7 commented 2 years ago

"Getting it working" was actually avoiding it altogether and using a different provider, but I guess :/

Most other users on Arch have gotten exactly that setup working with minimal effort. As such there is no way for me to tell, if this is an actual issue with Nheko or an obscure issue with their setup. It doesn't make sense to keep such issues open, if none wants to debug them. People actually affected by such an issue can just open a new issue or request to reopen this issue, if they have more details to aid debugging.

ThisNekoGuy commented 2 years ago

I run Arch and I have a similar problem though... :/ Probably because I have Kwallet installed and Nheko defaults to it instead of KeePassXC? (Which isn't something I can simply uninstall because of dependency issues)

deepbluev7 commented 2 years ago

Open an issue then and describe your issue in detail. You can just tell Nheko you are not running plasma and it ill pick something else.

ThisNekoGuy commented 2 years ago

Open an issue then and describe your issue in detail.

I'll do this

You can just tell Nheko you are not running plasma and it ill pick something else.

I don't know how to do this