calcom / cal.com

Scheduling infrastructure for absolutely everyone.
https://cal.com
Other
31.77k stars 7.75k forks source link

[CAL-571] When CalDAV server is slow, scheduling a meeting leads to: `unexpected character at line 1 column 1 of the JSON data` #5955

Closed victorpaleologue closed 1 year ago

victorpaleologue commented 1 year ago

Issue Summary

I have setup the CalDAV app, and an event of 1 hour of call via cal.com. People can schedule appointments here: https://cal.com/victor-paleologue/1h. They receive an e-mail notification, but not me, and the form displays an error (sorry for my French):

La réunion n'a pas pu être réservée. unexpected character at line 1 column 1 of the JSON data

image

Steps to Reproduce

  1. Schedule an appointment here: https://cal.com/victor-paleologue/1h
  2. Be very clear that this is a test, please.
  3. See for yourself =)

Technical details

CAL-571

PeerRich commented 1 year ago

@alishaz-polymath can you investigate this?

@victorpaleologue can you confirm that this is only happening with CalDav?

victorpaleologue commented 1 year ago

@PeerRich could you detail a little bit how to check with something else than CalDAV without uninstalling the CalDAV integration ? I did not see a way to specify which calendar to work with for an event type.

PeerRich commented 1 year ago

if possible uninstall it and add another calendar. do you have a Gmail by any chance?

victorpaleologue commented 1 year ago

Actually I can tell cal.com to schedule the meeting on the Google Agenda without uninstalling the CalDAV one.

Here is the setup :

image

It still behaves badly.

If I disable checking the CalDAV, it works fine.

victorpaleologue commented 1 year ago

Note that it takes a loooong time before it fails. The error says the JSON could not be parsed, as if it was replaced with an error message or simply nothing. So I suspect a timeout error.

sashajenner commented 1 year ago

I can't seem to reproduce this error by scheduling an appointment from your webpage https://cal.com/victor-paleologue/1h

victorpaleologue commented 1 year ago

Sorry, I had switched back to using Google Calendar. It's back to not working with CalDAV now =)

victorpaleologue commented 1 year ago

@bopearce, following your update, I have created a new event type called test, and I did not touch any parameter: https://cal.com/victor-paleologue/test It still fails.

bopearce commented 1 year ago

Sounds good. Let me know when you have tried. Thanks!


From: Victor Paléologue @.> Sent: Tuesday, December 20, 2022 7:33 AM To: calcom/cal.com @.> Cc: Bo Pearce @.>; Mention @.> Subject: Re: [calcom/cal.com] [CAL-571] When scheduling a meeting: unexpected character at line 1 column 1 of the JSON data (Issue #5955)

@bopearcehttps://github.com/bopearce, following your updatehttps://app.bountysource.com/issues/114483666-cal-571-when-scheduling-a-meeting-unexpected-character-at-line-1-column-1-of-the-json-data, I can create a new event and see if the error occurs there too.

— Reply to this email directly, view it on GitHubhttps://github.com/calcom/cal.com/issues/5955#issuecomment-1359455767, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAI76BI455JSK5WT4SSNGFTWOG7VDANCNFSM6AAAAAASZLOM3Q. You are receiving this because you were mentioned.Message ID: @.***>

victorpaleologue commented 1 year ago

I have tried, it fails.

bopearce commented 1 year ago

What is the link to the new cal invite? Can you send me a screenshot of the cal invite settings? Do you have any advanced settings set or are they basic settings? Does this happen on every calendar event?

A SS similar to this: [cid:cf3caa32-84b1-4b79-b6f8-2079e246b78e]


From: Victor Paléologue @.> Sent: Tuesday, December 20, 2022 1:56 PM To: calcom/cal.com @.> Cc: Bo Pearce @.>; Mention @.> Subject: Re: [calcom/cal.com] [CAL-571] When scheduling a meeting: unexpected character at line 1 column 1 of the JSON data (Issue #5955)

I have tried, it fails.

— Reply to this email directly, view it on GitHubhttps://github.com/calcom/cal.com/issues/5955#issuecomment-1360227336, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAI76BMIZOC6ZS3E5S65JXLWOIMPXANCNFSM6AAAAAASZLOM3Q. You are receiving this because you were mentioned.Message ID: @.***>

victorpaleologue commented 1 year ago

https://cal.com/victor-paleologue/test It's using the default settings. It happens on every calendar event. What is the SS?

bopearce commented 1 year ago

A screenshot


From: Victor Paléologue @.> Sent: Tuesday, December 20, 2022 2:03 PM To: calcom/cal.com @.> Cc: Bo Pearce @.>; Mention @.> Subject: Re: [calcom/cal.com] [CAL-571] When scheduling a meeting: unexpected character at line 1 column 1 of the JSON data (Issue #5955)

https://cal.com/victor-paleologue/test It's using the default settings. It happens on every calendar event. What is the SS?

— Reply to this email directly, view it on GitHubhttps://github.com/calcom/cal.com/issues/5955#issuecomment-1360240040, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAI76BLNTWXC5AUHFZUTWJDWOINLJANCNFSM6AAAAAASZLOM3Q. You are receiving this because you were mentioned.Message ID: @.***>

bopearce commented 1 year ago

I see the problem, but it is very bizarre. I'm not sure what exactly is causing it. The issue is apparent here when the request is made to create the calendar invite:

https://user-images.githubusercontent.com/1179397/208777739-658b0c50-601b-4529-b4a9-6a1c5f8ad1d9.png

The Response in the above screenshot returns 502 bad gateway. The request should return a JSON blob, it isn't returned and then the javascript on the site fails with the error "Could not book the meeting. unexpected character at line 1 column 1 of the JSON data" because it is expecting a response with JSON not some random HTML content.

This led me to think that it was maybe an issue with the Event, but obviously not. Which makes me think it must be an error with your account.

Can you please create a new test account and see if you encounter the same issue? Thanks.

edit - sorry, did not realize the screenshots were not showing up.

PeerRich commented 1 year ago

@alishaz-polymath can you investigate this?

victorpaleologue commented 1 year ago

With a test account, using a test account on the nextcloud instance, it works : https://cal.com/testvictorpaleologue/15min

victorpaleologue commented 1 year ago

With the same cal.com test account, if I try to tie it to my actual nextcloud instance, it failed. I tried again twice, and then it worked. It seems related to that specific nextcloud account. I hardly can configure the cal.com account now. Anyways, there is an issue when reporting the error. The HTTP code is clearly not a 200, so it should not be blindly parsing the JSON, and it should report what really happened : the nextcloud account has an issue.

victorpaleologue commented 1 year ago

I mean, more precisely : please let this error message be transparent of the error code of the remote calendar.

victorpaleologue commented 1 year ago

Can you re-open the issue, or should I write another issue to get the error message fixed?

emrysal commented 1 year ago

@victorpaleologue Probably closed on accident, no need to be rude about it 👎

victorpaleologue commented 1 year ago

Sorry, I did not take well seeing the issue closed so fast, but indeed it's no excuse for being rude.

PeerRich commented 1 year ago

wops, yea by accident

victorpaleologue commented 1 year ago

Good morning, it appears the error message changed today. It is now: La réunion n'a pas pu être réservée. No available users found.

alishaz-polymath commented 1 year ago

Good Morning @victorpaleologue That's strange. From the initial assessment it appeared as though the server was timing out, but this response suggests there's a failure of availability for the user in contention. I still wonder if server timeout is actually throwing this error (which is inaccurate, obviously) 🤔

victorpaleologue commented 1 year ago

I have just updated my Nextcloud instance just in case, I get the same issues.

alishaz-polymath commented 1 year ago

But you do confirm that this doesn't happen when attempted with the test account on the same nextcloud instance?

victorpaleologue commented 1 year ago

Yes, with the Nextcloud test account on the same Nextcloud instance, it works. The biggest difference I can think of between the two Nextcloud accounts is the size of the agenda and tasks. Seen from cal.com, is it still giving a 502 error?

victorpaleologue commented 1 year ago

After figuring out ways to optimize the nextcloud instance, scheduling an event works. However if the event is in an extended slot from a "date override", I get the No available users found. error. That one is therefore another issue. Shall I open it?

victorpaleologue commented 1 year ago

I can confirm that if I extend the schedule instead of using a date override, I can schedule the meeting.

victorpaleologue commented 1 year ago

Well in the end, I had it working again. So let's say @bopearce has solved it and get on with it. I'll write another issue about the poor error message, and another one about "No available users found.".

victorpaleologue commented 1 year ago

@bopearce reminder to go reclaim the bounty.