[SOLVED] On my Gnome desktop I cannot integrate opendesktop's Nextcloud system

I’ve tried using https://my.opendesktop.org and https://cloud.opendesktop.org.
When opening through gnome files (or nautilus) it sends error “HTTP error: address moved permanently”
And then for evolution in the calendar integration it is said cannot connect to said link not a caldav.

EVOLUTION

Currently, summoning OPTIONS /remote.php/webdav/<resource-path> doesn’t reply with the right DAV headers.

WebDAV RFC:

All DAV-compliant resources MUST return the DAV header with compliance-class “1” on all OPTIONS responses. In cases where WebDAV is only supported in part of the server namespace, an OPTIONS request to non-WebDAV resources (including “/”) SHOULD NOT advertise WebDAV support.

And:

Class 1 compliant resources MUST return, at minimum, the value “1” in the DAV header on all responses to the OPTIONS method.

I’ve filed a bug, but it got rejected due to the code being compliant to the RFC spec:

I hope it can be fixed server-side, however, GNOME is the only set of apps that doesn’t want to connect to this cloud, KDE and Etar+Opentasks+DAVx5+NextcloudNotes+Nextcloud(Android) works fine for me.


GNOME Files

The thing is broken, probably due to the same thing as Evolution.
You can use the NextCloud desktop app until it gets fixed, it makes a folder on your home directory and synchronizes it. I don’t know if it mounts it or only synchronizes it :confused:

Thanks for reporting. We’re putting this in the development pipeline and trying to fix it.

Can you please try this again. Nextcloud has been updated recently.

I’ve just tested this. In Evolution I get errors but in Kontact (KDE) I get the calendar and contacts showing.

In Nautilus I have my Nextcloud files showing as I’ve added it in Online Accounts. I’m not sure you can browse them “normally” via a URL.

The latest update bumped the Nextcloud version, but the problem seams to be on nginx.

A quick test can be done typing the following on a term:
$ curl -X OPTIONS https://my.opendesktop.org/remote.php/webdav/ -v 2>&1 | grep "< dav:"
It should show < dav: 1, 3, extended-mkcol on a DAV-compliant server.

KDE’s dav implementation does not stick so strictly to the specs, and thus gets the DAV header along with other requests.

Thanks for the info, I’m looking into it now.

Cuki can you please try now. I’ve made a change and now get:

< allow: OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT, SEARCH
< dav: 1, 3, extended-mkcol, access-control, calendarserver-principal-property-search, nc-calendar-search, nc-enable-birthday-calendar

I’ve also tested Evolution and Nautilus and both now work.

Working flawless :grinning_face_with_smiling_eyes:

It works now, thanks :smiley:

Issue is back, DAVx5 and Evolution can’t detect carddav nor caldav resources as they use OPTIONS to get the DAV server capabilities.

I think a test should be added to the routine maintenance or cron like:
curl -X OPTIONS https://cloud.opendesktop.org/remote.php/dav/ -v 2>&1 | grep "< dav:" >/dev/null || echo FAIL

Interesting, maybe an update of Nextcloud wiped out the fix. I’ll look to see if I documented it from last time.

I haven’t been able to find the solution from last time but I am continuing to search.

In the interim @enygmator has found a workaround that I have confirmed works.

In the field of the base URL, use https://my.opendesktop.org/remote.php/dav/principals/users/<username>/

I’ve been able to sync my calendars as a test.

Is the OPTIONS method passed down to proxy_pass on the nginx config? The OPTIONS on https://cloud.opendesktop.org/remote.php/dav/ and https://cloud.opendesktop.org/apps/ appears identical to me: Diff Online - An online diff tool can compare and find the difference between two text files