calendar
calendar copied to clipboard
Unable to invite one specific owncloud user; returns 404
Steps to reproduce
- Create a calendar or use an existing calendar
- Create an event and as part of the event creation invite a specific user using autocomplete search
Expected behaviour
Event should be created and an invitation should be emailed to the user
Actual behaviour
Event is not created with no visible error. In the browser, console it shows the server returns 404 even though the autocomplete works. The user in question definitely exists and this behavior persists no matter what I set the user's email to. The user in question is able to invite other users to events, even if they are not able to be invited themselves. This is not happening for all users as far as I can tell, just one specific user. In Chrome, Console error reports:
client.js?v=875e8a992a622d2b56a0a5f4c6b83891:248 PUT [OWNCLOUD_URL]/ownCloud-2HNUFGJTFZ9PAY7RRBEFPQ.ics 404 (Not Found)
request @ client.js?v=875e8a992a622d2b56a0a5f4c6b83891:248
update @ app.js:5889
(anonymous) @ app.js:373
Promise resolved (async)
eventClick @ app.js:371
publiclyTrigger @ vendor.js:32279
publiclyTrigger @ vendor.js:30297
handleSegClick @ vendor.js:26994
(anonymous) @ vendor.js:26984
dispatch @ jquery.js:4435
r.handle @ jquery.js:4121
[OWNCLOUD_URL]/:1 Uncaught (in promise) 404
Promise rejected (async)
(anonymous) @ app.js:373
Promise resolved (async)
eventClick @ app.js:371
publiclyTrigger @ vendor.js:32279
publiclyTrigger @ vendor.js:30297
handleSegClick @ vendor.js:26994
(anonymous) @ vendor.js:26984
dispatch @ jquery.js:4435
r.handle @ jquery.js:4121
When attempting to invite the user via Apple Calendar, Console will return something like:
Task <DE81654F-C2FA-4ADD-B6C6-BBBFC028E81D>.<0> received response, status 404 content K
Server configuration
(Using official owncloud docker image)
Operating system: Debian Jessie
Web server: Apache/2.4.10 (Debian)
Database: MySQL 5.7
PHP version: 7.0.27
ownCloud version: 10.0.4.4
Calendar version: 1.5.4
Updated from an older installed version or fresh install: Most recently updated from 10.0.3
Signing status (ownCloud 9.0 and above):
No errors have been found.
List of activated apps:
- calendar: 1.5.4
- configreport: 0.1.1
- contacts: 1.5.3
- dav: 0.3.2
- federatedfilesharing: 0.3.1
- files: 1.5.1
- files_external: 0.7.1
- files_sharing: 0.10.1
- market: 0.2.3
- provisioning_api: 0.5.0
ownCloud configuration:
{
"system": {
"instanceid": "ocd2a7ebe1d4",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"***REMOVED SENSITIVE VALUE***",
],
"datadirectory": "\/var\/ocdata",
"overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
"version": "10.0.4.4",
"dbtype": "mysql",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbtableprefix": "oc_",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"logtimezone": "America\/Los_Angeles",
"installed": true,
"defaultapp": "calendar",
"enable_previews": false,
"forcessl": true,
"log_type": "owncloud",
"loglevel": 2,
"mail_smtpmode": "php",
"skeletondirectory": "",
"mail_smtpsecure": "ssl",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"maintenance": false
}
}
Are you using external storage, if yes which one: no
Are you using encryption: no
Are you using an external user-backend, if yes which one: no
Client configuration
Browser: Chrome & Firefox
Operating system: macOS
CalDAV-clients: Thunderbird & Apple Calendar
Logs
Web server error log
No relevant errors.
owncloud-app_1 | ***REMOVED SENSITIVE VALUE*** - - [30/Jan/2018:15:33:12 -0800] "PUT /remote.php/dav/calendars/rocket/rocket-test/ownCloud-0PNMGHO0DH0F7HHO572YGXY.ics HTTP/1.1" 404 770 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
Log file (data/owncloud.log)
No relevant errors.
Browser log
Network log:
ownCloud-0PNMGHO0DH0F7HHO572YGXY.ics 404 xhr client.js?v=875e8a9…:248 850 B 411 ms
Console log:
client.js?v=875e8a99…6a0a5f4c6b83891:248 PUT ***REMOVED SENSITIVE VALUE***/remote.php/dav/calendars/rocket/rocket-test/ownCloud-0PNMGHO0DH0F7HHO572YGXY.ics 404 (Not Found)
request @ client.js?v=875e8a99…6a0a5f4c6b83891:248
create @ app.js:5867
R @ app.js:223
(anonymous) @ app.js:352
Promise resolved (async)
(anonymous) @ app.js:351
Promise resolved (async)
select @ app.js:325
publiclyTrigger @ vendor.js:32279
publiclyTrigger @ vendor.js:30297
triggerSelect @ vendor.js:31183
reportSelection @ vendor.js:31183
interactionEnd @ vendor.js:26483
trigger @ vendor.js:25415
handleInteractionEnd @ vendor.js:25299
handleInteractionEnd @ vendor.js:25717
endInteraction @ vendor.js:25291
f @ jquery.js:512
n @ vendor.js:24704
dispatch @ jquery.js:4435
r.handle @ jquery.js:4121
trigger @ jquery.js:4350
a.event.trigger @ jquery-migrate.min.j…b56a0a5f4c6b83891:2
triggerHandler @ jquery.js:4907
trigger @ vendor.js:24781
handleMouseUp @ vendor.js:25920
f @ jquery.js:512
dispatch @ jquery.js:4435
r.handle @ jquery.js:4121
***REMOVED SENSITIVE VALUE***/:1 Uncaught (in promise) 404
Promise rejected (async)
R @ app.js:223
(anonymous) @ app.js:352
Promise resolved (async)
(anonymous) @ app.js:351
Promise resolved (async)
select @ app.js:325
publiclyTrigger @ vendor.js:32279
publiclyTrigger @ vendor.js:30297
triggerSelect @ vendor.js:31183
reportSelection @ vendor.js:31183
interactionEnd @ vendor.js:26483
trigger @ vendor.js:25415
handleInteractionEnd @ vendor.js:25299
handleInteractionEnd @ vendor.js:25717
endInteraction @ vendor.js:25291
f @ jquery.js:512
n @ vendor.js:24704
dispatch @ jquery.js:4435
r.handle @ jquery.js:4121
trigger @ jquery.js:4350
a.event.trigger @ jquery-migrate.min.j…b56a0a5f4c6b83891:2
triggerHandler @ jquery.js:4907
trigger @ vendor.js:24781
handleMouseUp @ vendor.js:25920
f @ jquery.js:512
dispatch @ jquery.js:4435
r.handle @ jquery.js:4121
Hi! I am the new maintainer of owncloud contacts/calendar.... I am a little bit confused because as far as I know it's only possible to invite users via email and the input field's autocomplete is switched off...
Did you use the web ui or apple calendar???
Hi! I'm not sure what you mean by inviting users via email with the input field autocomplete switched off. We are able to successfully invite users to events using both the owncloud calendar web UI, via Thunderbird lightning, and also via the Apple Calendar desktop app.
Our owncloud is configured so that each user has an email address, which is set on the settings/users
page. I don't think we have a specific autocomplete setting enabled. Where would I look for that?
Using the owncloud web UI, for all of my users except one, I'm able to:
- click on an event
- click on the "Attendees" tab
- start typing the name of a user and then their name autocompletes
- click "Create" or "Update" and then the event is created/updated and the invited user receives an email from owncloud with an
.ics
file for the event
But for my one user, this fails badly. If I invite them when creating a new event, the event is never created and they never receive an email. If I invite them to an existing event, the event is never updated and they also never receive an email. The only clue I've been able to locate so far is that 404 error in the browser console logs.
Alright! I will have a look at this
Hi! I have a similar problem. I cannot create invitations for some owncloud users. I see the same error message in the browser.
All users with this problem have one thing in common. They have entered the same mail address in their owncloud user profile. If they remove the mail in the user profile, or enter a different one, everything works.
I hope this helps.
We have one client for who we provide a hosted ownCloud instance.
They are unable to invite a handful of email addresses, all of who are registered on ownCloud as users, via their Apple Calendar.
This request is in the Apache log when I save the event with most email addresses: [19/Mar/2021:08:38:02 +0100] "PUT /owncloud/remote.php/dav/calendars/redacted/redacted/redacted.ics HTTP/1.1" 201 - "-" "Mac+OS+X CalendarAgent" [19/Mar/2021:08:38:02 +0100] "GET /owncloud/remote.php/dav/calendars/redacted/redacted/redacted.ics HTTP/1.1" 200 1082 "-" "Mac+OS+X CalendarAgent"
But if I add a small number of email addresses associated with users registered on this ownCloud instance: [19/Mar/2021:08:39:59 +0100] "PUT /owncloud/remote.php/dav/calendars/redacted/redacted/redacted.ics HTTP/1.1" 401 448 "-" "Mac+OS+X CalendarAgent" [19/Mar/2021:08:39:59 +0100] "PUT /owncloud/remote.php/dav/calendars/redacted/redacted/redacted.ics HTTP/1.1" 404 239 "-" "Mac+OS+X CalendarAgent"
In both cases the client is PUT'ing a VCALENDAR object to the server.
I turned enhanced Apache I/O logging on and this is what is spat out by ownCloud when it succeeds: HTTP/1.1 200 OK and a valid VCALENDAR response.
And when it fails: HTTP/1.1 404 Not Found and an xml response:
\nWhere the above RedactedFirstname and RedactedLastname are the first name and last name of the user for example Joe%20Bloggs, seperated by %20 which is of course an encoded space. For this particular user, I reproduced it on my own Apple Calendar too where this user is NOT stored in Apple Contacts, or anywhere else on the Mac and it is NOT provided by the submitted VCALENDAR to the server so the only place it could pick this first name and last name up from is ownCloud, indicating it is linking it somehow to the ownCloud account, but then failing with a SabreDAV error.
I have spent several hours comparing users that can be invited, and users where it 404s and have not been able to find any noticeable difference yet that I can see.
Some help would be greatly appreciated. In the mean time I will continue to dig and see what I can come up with.
In my efforts to wittle it down, I've got it down to a single curl command to reproduce this every time for this one particular user:
curl -X 'PUT' -u 'user:password' --data-raw $'BEGIN:VCALENDAR\r\nVERSION:2.0\r\nBEGIN:VEVENT\r\nSUMMARY:Test 8\r\nORGANIZER;[email protected]:mailto:[email protected]\r\nATTENDEE;[email protected]:mailto:[email protected]\r\nATTENDEE;[email protected]:mailto:[email protected]\r\nDTSTART;VALUE=DATE:20210420\r\nDTEND;VALUE=DATE:20210421\r\nLAST-MODIFIED:20210405T150219Z\r\nEND:VEVENT\r\nEND:VCALENDAR' 'https://owncloud.redacted.com/owncloud/remote.php/dav/calendars/username_here/personal/redacted.ics'
Every time this request (with the correct data instead of redacted data) returns:
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> <s:exception>Sabre\DAV\Exception\NotFound</s:exception> <s:message>Principal with name Joe%20Bloggs not found</s:message> </d:error>
As you can see the curl request does not provide the first name and last name so it must connect it to the ownCloud user somehow, but fail further along.
This is reproduceable with Apple Calendar, via the web and also via curl.