fix(settings): make trailing slash for caldav/carddav redirects optional #46079
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
#43939 moved the CalDAV/CardDAV redirect checks from the frontend to a new backend API.
Since the backend does not send an authentication header, checking for the expected response code 207 of the DAV endpoint does not work anymore. Hence the URL of the last redirect is checked instead.
This URL is expected to contain a trailing slash, which was not required before, since the DAV endpoint works properly without it (when authenticated).
While a trailing slash in the redirect does no harm, it causes many setups to throw an admin panel warning, while in fact the redirects work properly. Furthermore, the proposed
"/.well-known/carddav" => "/remote.php/dav/"
redirect leads to double slashes, when doing a request to"/.well-known/carddav/"
, which seems more wrong than right.This change makes the trailing slash optional, hence old and adjusted setups won't throw the warning anymore, and the DAV endpoint works well in both cases.
The motivation behind the change is to prevent admins from doing practically unnecessary webserver config changes, after upgrading to Nextcloud 29, to mute the too strict setup warning.
TODO
Checklist