Evolution addressbook and calender sync with nextcloud fails - how to debug?

Dear all,

I’m using Evolution 3.44.4-0ubuntu2 on Ubuntu 22.04.4 with Gnome 42.9 and Wayland (if that is of any importance). I’m using my private nextcloud server for addressbook and calendar. I recently noticed that evolution sync to this server no longer works.

I’m confident the server is working correctly: syncing from other devices (Android phones and tablet) is working flawlessly, as well as nextcloud’s own web frontend.

In Evolution, there is also no sign of a problem. All calendars and addressbooks are shown as ‘online’. However, when I add a new entry to the CardDAV addressbook hosted on the nextcloud server, it’s never synced to that server. (It’s present within Evolution, though.) Likewise, when I add a calendar entry, it’s shown within the Evolution Calendar view, but not synced to the nextcloud server. As I need to be able to access calender and addressbook from my Android phone as well as from the desktop, this is critical to me.

I’ve researched how to debug evolution and found Milan Crha’s wiki site on Debugging · Wiki · GNOME / evolution · GitLab
However, I cannot see how the instructions given there apply to my system. Apparently, I do not have the evolution-addressbook-factory and evolution-calendar-factory daemons: ‘which’ does not find it, and it cannot be started from the command line. When I start evolution from the command line with the _DEBUG environment variables set, evolution remains silent in the logfile (except unconspicuous startup messages) even when I e.g. say ‘refresh addressbook’

I added the nextcloud account via gnome-online-accounts, i. e. via the gnome settings dialog. Also there I find no way of debugging.

What can I do? Where can I find help?

Projects/GnomeOnlineAccounts/Debugging - GNOME Wiki! ; Debugging · Wiki · GNOME / evolution · GitLab

‘which’ only looks in your $PATH and these are buried elsewhere since
they aren’t normally used from the command line:

$ locate evolution-addressbook-factory
/usr/lib/systemd/user/evolution-addressbook-factory.service
/usr/libexec/evolution-addressbook-factory <---------------***
/usr/libexec/evolution-addressbook-factory-subprocess
$ locate evolution-calendar-factory
/usr/lib/systemd/user/evolution-calendar-factory.service
/usr/libexec/evolution-calendar-factory <----------------***
/usr/libexec/evolution-calendar-factory-subprocess

Also, the current version of Evolution is 3.52. 3.44 is around 3-4
years out of date, which may or may not be related to your problem.

poc

Hi,
apart of what Andre and Patrick wrote, try to create the Nextcloud
account directly in the Evolution. The GOA (gnome-online-accounts) used
to use a wrong entry point for the CalDAV/CardDAV in the past.

To create a new account in Evolution, use Edit->Accounts->Add->
Collection account->… If your server has properly configured
.well-known points you might just enter the host name, otherwise use
the DAV Nextcloud address.

Of course, Evolution and evolution-data-server received many fixes
between your version and the current stable version (you compare up-to-
date Android devices with an outdated desktop), thus using the current
stable version is a good idea.

Bye,
Milan

P.S.: I thought the
Debugging · Wiki · GNOME / evolution · GitLab contains the
information about the place of the factories, but it does not. I’ll add
it, thus it’s easier to be found.