Calendar dav sync iCal with Google stopped to work after the NextCloud and Calendar update
Steps to reproduce
- Open Calendar (version 4.7.16 Nextcloud version [Hub 8] (29.0.6))
- Add a new calendar and insert the iCal Google url
- An error message say is not possible add the calendar Server error log:
Error 403 MKCOL
remote.php/dav/calendars/username/calendargooglecom-1 HTTP/1.0
Expected behavior
Calendar should work and be synch with Google.
Actual behaviour
An error occur while adding a Google Calendar iCal, also existing Google Calendar has stopped syncing and all event are disappeared in nextcloud calendar.
Calendar app version
4.7.16
CalDAV-clients used
No response
Browser
Firefox 129.02
Client operating system
Windows 11
Server operating system
Debian/Ubuntu
Web server
Apache
Database engine version
MariaDB
PHP engine version
Other
Nextcloud version
Nextcloud version [Hub 8] (29.0.6)
Updated from an older installed version or fresh install
Updated from an older version
List of activated apps
No response
Nextcloud configuration
No response
Web server error log
No response
Log file
No response
Browser log
No response
Additional info
https://github.com/nextcloud/server/issues/47544
can you please find the complete error message in your nextcloud log and / or check the network tab in the browser inspector and copy the complete server response?
Sure. No error log on data/nextcloud.log
In the browser console:
XHR MKCOL
https://domain.ext/xextcloud/remote.php/dav/calendars/adminuser/calendargooglecom-1
[HTTP/2 403 1203ms]
Error:
A dist.js:2
F dist.js:2
w dist.js:2
onreadystatechange dist.js:2
request dist.js:2
request dist.js:2
mkCol dist.js:2
createCollection dist.js:2
createSubscribedCollection dist.js:2
A caldavService.js:203
appendSubscription calendars.js:764
_ vuex.esm.js:851
dispatch vuex.esm.js:516
dispatch vuex.esm.js:406
createNewSubscription CalendarListNew.vue:313
submit CalendarListNew.vue:1
VueJS 4
onSubmit NcActionInput-XHMzOL_h.mjs:204
submit NcActionInput-XHMzOL_h.mjs:221
VueJS 3
click NcActionInput-XHMzOL_h.mjs:229
VueJS 4
handleTrailingButtonClick NcInputField.mjs:188
VueJS 4
click NcButton.mjs:198
VueJS 33
That's the JS console - can you please check your Network tab as well? You can find it as the fourth tab in the inspector:
Firefox:
Chrome:
You should be able to see a PUT request if I'm not mistaken.
Thanks for your help. I'm using Firefox and yes, I can check also the network tab.
In the network I see 403 error MKCOL
After load the calendar I removed network log and added the calendar and what you see in the screenshot is all I can see. 3 rows.
Thanks for your help. I'm using Firefox and yes, I can check also the network tab.
In the network I see 403 error MKCOL
After load the calendar I removed network log and added the calendar and what you see in the screenshot is all I can see. 3 rows.
Ok, what is in the response when you click on the row with the 403 error?
This one?
there should be a tab called "response": this is what it looks like for me:
There you should see some XML or an error. Please copy the whole thing :pray:
Ohh, sorry and thanks for your patience.
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DAV\Exception\Forbidden</s:exception>
<s:message>This recurrence rule does not generate any valid instances</s:message>
</d:error>
Ohh, sorry and thanks for your patience.
<?xml version="1.0" encoding="utf-8"?> <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> <s:exception>Sabre\DAV\Exception\Forbidden</s:exception> <s:message>This recurrence rule does not generate any valid instances</s:message> </d:error>
Ok nice, that's a step forward. Is this a private calendar that you are trying to subscribe to? Or can you share it?
Hum this is a private calendar that I cannot share. Was working on the nextcloud 28 before the nextcloud 29 update, i don't know if was some update that broken the calendar to work.
I updated and a day after I discovered my calendar was disappeared. Unfortunately I cannot share this calendar.
Hum this is a private calendar that I cannot share. Was working on the nextcloud 28 before the nextcloud 29 update, i don't know if was some update that broken the calendar to work.
I updated and a day after I discovered my calendar was disappeared. Unfortunately I cannot share this calendar.
Ok then you need to check any repeating events and see if one of them creates a wrong instance. Google is more forgiving than our library towards recurrence errors. You can validate the calendar here:
https://icalendar.org/validator.html
Umh I have to upload with URL or text my private calendar in a website to validate it? I cannot do that it's a private calendar.
Also I don't created any repeated event that was not present before when the calendar was working also I use that calendar synced with Thunderbird and another email client where I have no issues.
You could also export the calendar from google, and then try to import it manually in Nextcloud via the the calendar settings here:
It will tell you which event fails in the network tab.
Once found I have to delete it? Seems an old event I have also to understand how I can now find this event in the Google Calendar.
IT gives error on different events not just one and if I search for that events I'm unable to find on the Google Calendar. I see in the network console, after importing from the file in the nextcloud calendar 8 different row with 403 error. In the request tab I can see some details about what I think is the relative event but I try to search a description of that even or even point the calendar to that 2016 old date but I cannot find that events on Google.
I can see 16 errors. An example of one of this line and request:
XHRPUT
[...]31.ics
[HTTP/2 403 570ms]
1
BEGIN:VCALENDAR
2
CALSCALE:GREGORIAN
3
VERSION:2.0
4
PRODID:-//Google Inc//Google Calendar 70.9054//EN
5
BEGIN:VTIMEZONE
6
TZID:Europe/Rome
7
BEGIN:DAYLIGHT
8
TZOFFSETFROM:+0100
9
TZOFFSETTO:+0200
10
TZNAME:CEST
11
DTSTART:19700329T020000
12
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
13
END:DAYLIGHT
14
BEGIN:STANDARD
15
TZOFFSETFROM:+0200
16
TZOFFSETTO:+0100
17
TZNAME:CET
18
DTSTART:19701025T030000
19
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
20
END:STANDARD
21
END:VTIMEZONE
22
BEGIN:VEVENT
23
DTSTART;TZID=Europe/Rome:20160126T191500
24
DTEND;TZID=Europe/Rome:20160126T200000
25
RRULE:FREQ=WEEKLY;BYDAY=TU;UNTIL=20160216T181459Z
26
EXDATE;TZID=Europe/Rome:20160126T191500
27
EXDATE;TZID=Europe/Rome:20160202T191500
28
EXDATE;TZID=Europe/Rome:20160209T191500
29
DTSTAMP:20240905T202203Z
30
UID:fg[...]@google.com
31
CREATED:20160119T112524Z
32
DESCRIPTION:Prima Lezione 12 Gen 2016 - Ultima lezione 22 Marzo 2016
33
LAST-MODIFIED:20160202T190749Z
34
LOCATION:R M\, 10100 R M TO\, Italia
35
SEQUENCE:1
36
STATUS:TENTATIVE
37
SUMMARY:CDM Lezione piano con removed
38
TRANSP:OPAQUE
39
END:VEVENT
40
END:VCALENDAR
I never experienced the calendar issue in the previous version of NextCloud and maybe calendar so I suppose some update create an issue.
Also the event that are not imported I see are not recent events but very old so those events was existing even when the calendar was working on Nextcloud.
To update this topic I resolved by downloading the Google Calendar then editing with Notepad ++ I delete all old events and kept only new. The issue is resolved now let me know if I should close this topic or leave it open as before nextcloud 29 I never had this calendar issue in nextcloud.
Anyway @miaulalala thank you very much Anna for your great and essential to me, support 🦋🎉🌻.
I have the exact same issue. Subscription returns 403, exact same as the screenshot above.
When I download the .ics and import it to nextcloud, it shows that the deleted event (Google "delete" them using EXDATE) failed due to This recurrence rule does not generate any valid instances.
My proposal is to
- don't fail subscription if one of the event didn't produce a valid instance
- if it's from google, and it didn't produce a valid instance, simply skip that event.
example event:
BEGIN:VCALENDAR
CALSCALE:GREGORIAN
VERSION:2.0
PRODID:-//Google Inc//Google Calendar 70.9054//EN
BEGIN:VTIMEZONE
TZID:America/Chicago
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:CDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:CST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=America/Chicago:20240419T100000
DTEND;TZID=America/Chicago:20240419T104500
RRULE:FREQ=MONTHLY;BYDAY=3FR;UNTIL=20240517T045959Z
EXDATE;TZID=America/Chicago:20240419T100000
DTSTAMP:20240910T184643Z
ORGANIZER;CN=<redacted>:mailto:<redacted>
UID:<redacted>@google.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=<redacted>;X-NUM-GUESTS=0:mailto:<redacted>
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=<redacted>;X-NUM-GUESTS=0:mailto:<redacted>
X-GOOGLE-CONFERENCE:<redacted>
CREATED:20221028T145909Z
DESCRIPTION:Join with Google Meet: <redacted>\nOr
dial: (US) +1 712-314-5610 PIN: <redacted>#\nMore phone numbers: https://te
l.meet/<redacted>?pin=<redacted>&hs=7\n\nLearn more about Meet at: htt
ps://support.google.com/a/users/answer/9282720
LAST-MODIFIED:20240702T191228Z
SEQUENCE:2
STATUS:CONFIRMED
SUMMARY:<redacted>
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
@miaulalala Do you need anymore logs on this issue? Issue persists in NextCloud 30. Thanks :)
Any updates here? I am running into this issue on Nextcloud 29 running on Nextcloud AIO
