mrvladus / Errands

Todo application for those who prefer simplicity.
MIT License
274 stars 65 forks source link

[BUG] Password store sync failure #231

Closed eddsalkield closed 2 months ago

eddsalkield commented 3 months ago

Describe the bug

I'm using the flatpak distribution, but when I update the CalDAV password the Secret.password_store_sync method fails.

To Reproduce Steps to reproduce the behavior:

  1. Set the Sync Provider to CalDAV
  2. Edit the password field

Log

~ $ flatpak run io.github.mrvladus.List

(process:2): Gdk-WARNING **: 11:24:50.219: Failed to read portal settings: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop
[DEBUG] Starting Errands 45.1.8
[DEBUG] Creating actions
[DEBUG] Initialize GSettings
[DEBUG] Task list 293b68fc-a969-4c61-ae61-fa92d9a7021e: Update UI
[INFO] Add task: 31e8c56b-058b-4cc0-9d53-e72c020efe7b
[DEBUG] Task list 8af0274d-489c-4d49-b88b-8f8bc28e0625: Update UI
[DEBUG] Lists: Switch list
[DEBUG] Lists: Update UI...
[DEBUG] Task list 293b68fc-a969-4c61-ae61-fa92d9a7021e: Update UI
[DEBUG] Task list 8af0274d-489c-4d49-b88b-8f8bc28e0625: Update UI
[DEBUG] Lists: Switch list
[INFO] Sync: Initialize sync provider
[INFO] Sync: Initialize 'CalDAV' sync provider
[DEBUG] Sync: Checking credentials
[DEBUG] Sync: Checking URL
[DEBUG] Sync: URL is set to https://cdav.migadu.com
[DEBUG] Sync: Attempting connection
[ERROR] Sync: Can't connect to CalDAV server at 'https://cdav.migadu.com'. The server does not provide any of the currently supported authentication methods: basic, digest, bearer
[INFO] Sync: Initialize sync provider
[INFO] Sync: Initialize 'CalDAV' sync provider
[DEBUG] Sync: Checking credentials
[DEBUG] Sync: Checking URL
[DEBUG] Sync: URL is set to https://cdav.migadu.com/
[DEBUG] Sync: Attempting connection
[ERROR] Sync: Can't connect to CalDAV server at 'https://cdav.migadu.com/'. The server does not provide any of the currently supported authentication methods: basic, digest, bearer
Traceback (most recent call last):
  File "/app/share/errands/errands/widgets/preferences.py", line 226, in on_sync_pass_changed
    GSettings.set_secret(account, self.sync_password.props.text)
  File "/app/share/errands/errands/lib/gsettings.py", line 62, in set_secret
    return Secret.password_store_sync(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
gi.repository.GLib.GError: g-dbus-error-quark: Object does not exist at path “/org/freedesktop/secrets/collection/login” (19)

OS info:

mrvladus commented 3 months ago

It's probably a problem with flatpak or you do not have some libraries installed on your system. In this case, I think it's libsecret and libportal.