Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calendar dav sync iCal with Google stopped to work after the NextCloud and Calendar update #6323

Open
PeopleInside opened this issue Sep 5, 2024 · 18 comments
Labels
0. to triage Pending approval or rejection bug

Comments

@PeopleInside
Copy link

Steps to reproduce

  1. Open Calendar (version 4.7.16 Nextcloud version [Hub 8] (29.0.6))
  2. Add a new calendar and insert the iCal Google url
  3. 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

nextcloud/server#47544

@PeopleInside PeopleInside added 0. to triage Pending approval or rejection bug labels Sep 5, 2024
@miaulalala
Copy link
Contributor

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?

@PeopleInside
Copy link
Author

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

@miaulalala
Copy link
Contributor

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:

image

Chrome:

image

You should be able to see a PUT request if I'm not mistaken.

@PeopleInside
Copy link
Author

PeopleInside commented Sep 5, 2024

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
Screenshot 2024-09-05 201426

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.

@miaulalala
Copy link
Contributor

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 Screenshot 2024-09-05 201426

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?

@PeopleInside
Copy link
Author

This one?

immagine

@miaulalala
Copy link
Contributor

there should be a tab called "response": this is what it looks like for me:
image

There you should see some XML or an error. Please copy the whole thing 🙏

@PeopleInside
Copy link
Author

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>

@miaulalala
Copy link
Contributor

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?

@PeopleInside
Copy link
Author

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.

@miaulalala
Copy link
Contributor

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

@PeopleInside
Copy link
Author

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.

@miaulalala
Copy link
Contributor

You could also export the calendar from google, and then try to import it manually in Nextcloud via the the calendar settings here:

image

It will tell you which event fails in the network tab.

@PeopleInside
Copy link
Author

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.

@PeopleInside
Copy link
Author

PeopleInside commented Sep 5, 2024

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:

Screenshot 2024-09-05 230114

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

Screenshot 2024-09-05 231012

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.

@PeopleInside
Copy link
Author

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 🦋🎉🌻.

@gthbusrr
Copy link

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

  1. don't fail subscription if one of the event didn't produce a valid instance
  2. 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

@gthbusrr
Copy link

@miaulalala Do you need anymore logs on this issue? Issue persists in NextCloud 30. Thanks :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. to triage Pending approval or rejection bug
Projects
None yet
Development

No branches or pull requests

3 participants