calcom / cal.com

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

[CAL-694] Calendar availability is not correct when an "all-day" event is used in iCal #6292

Closed jsolly closed 1 year ago

jsolly commented 1 year ago

Issue Summary

When I add an 'all-day' event in a connected iCal calendar, I still see availability on that day.

Steps to Reproduce

1 - Connect an iCalendar and use it to check for conflicts 2 - Add an 'all-day' event on the iCalendar 3 - Check cal.com availability on the day that the all-day event is occurring You will still see availability on this day.

Example

I am running into this issue on MacOS ical. Today I have an all-all day event, but cal.com is showing me as available after 4PM

cal.com (Screenshot taken at 10:30AM)

image

Screenshot of iCal

('šŸ„Ÿ # 2 work' is an all-day event today on the work/school calendar)

image

Availability

image

Event config

image

Check for Conflicts

image

What is strange is that it seems to block all other time slots. It's just 4PM onward that stays available.

Technical details

Browser: Brave Version 1.46.144 Chromium: 108.0.5359.128 (Official Build) (arm64)

Happy to provide bird eats bug report if needed.

Related issues

https://github.com/calcom/cal.com/issues/2240 (This was a user error with Google Calendar)

Other Details

I see it successfully recognizing conflicts on the calendar for specific events (like 1 hour events)...but it is not recognizing all-day events.

CAL-694

jsolly commented 1 year ago

~This might have worked itself out. I am now seeing 'All booked today' on days with an 'all-day' event in iCal. Feel free to close.~

jsolly commented 1 year ago

Update. It's not working for me. Any ideas what could be going wrong? Here is a video of me reproducing the issue https://app.screencast.com/UY6Wo3o532tGP

I've tried deleting and re-adding the calendars.

It seems like cal.com is not understanding that certain events are daily. It's only picking them up on certain days.

image

PeerRich commented 1 year ago

@alishaz-polymath can you look into this?

NicolaiSchmid commented 1 year ago

It seems to be blocking fine, in my case, if the all-day event spans multiple days (using the hosted version of cal.com)

jsolly commented 1 year ago

I guess IDK what to say. Cal.com is completely unusable for me because it does not detect events from my iCAL: image image

alishaz-polymath commented 1 year ago

Hey @jsolly Apologies for the issue you're facing. Let me take a look at this today and report back with the findings šŸ™

jsolly commented 1 year ago

Happy to jump on a video call. Just DM me and I can send a schedule link.

I worked in QA for 4 years and am now a developer. I am sure we could figure it out.

PeerRich commented 1 year ago

you can join a call with @alishaz-polymath here: https://cal.com/ali/catch-up

alishaz-polymath commented 1 year ago

So @jsolly and I banged our heads over this one and this is weird one. All day events are not blocked off for @jsolly however, they're blocked off just fine for me. We tried Apple Calendar as well as Google Calendar integration, and the result was the same for both the integrations for @jsolly cc: @emrysal Any insights on what might be going on? As this is definitely not a Apple Calendar specific issue šŸ¤”

jsolly commented 1 year ago

Hey. Just pinging this again since it's been 2 weeks. @alishaz-polymath and I were able to reproduce it on my account together.

Happy to provide any additional diagnostics and/or another screen share. This is a show-stopper for me = /

solace commented 1 year ago

Aloha!

To add, I created an all-day busy event in iCal on macos but for a Google calendar. The Google Calendar web interface shows the all-day busy event. It reflects on my phone as well. Calendly, which is still connected correctly shows that whole day as unavailable, but cal.com still shows availability on that day.

Let me know what you need from me. I'm a dev as well so if you need to set debug on my account(s) to increase visibility for you, have at it.

jsolly commented 1 year ago

I tried this out again with the new release.

The Calendar troubleshooter is showing me busy at the right times, but I now have no availability at all in any month (even for a 15 min meeting) image

image

image

alishaz-polymath commented 1 year ago

Hey @jsolly Letā€™s have another session and try again to sort this out Cal.com/ali/debugging

njyo commented 1 year ago

Hi, so for me this issue remains with holiday calendar subscriptions. For example, May 1 is Labour Day (at least in many parts of the world) and the Google Holiday calendar indicates that correctly.

2023-04-28 at 12 55

However, there is no way to set those days as "Busy".

2023-04-28 at 12 57

Which is why, my Cal allows people to schedule on that dayā€¦

2023-04-28 at 12 58

To me, there would be two possible solutions:

  1. Allow in the conflict checker to toggle Block out days with full-day events on
  2. Integrate some public holiday service (Google Calendars, date.nager.at, etc.) and allow pulling in one or more public holiday calendars to block out days.

2023-04-28 at 12 59

Thanks!

Rustymage commented 1 year ago

So I've just signed up for cal.com and found this bug - I use iCloud and 'all day' events aren't showing, but timed ones are.

The 60 minutes is 9-10 and you can see that correctly reflected in web view on the right.

image

As above, happy to assist where possible.

:)

alishaz-polymath commented 1 year ago

Hey @Rustymage I'm currently exploring this bug. All day events don't carry timezone according to the iCalendar 2.0 standard (RFC) and so we need the timezone information from your cal.com account for this. We're currently figuring out the best way to do this that ensures minimum performance impact because of this. This should be sorted very soon!

Rustymage commented 1 year ago

Hey @Rustymage I'm currently exploring this bug. All day events don't carry timezone according to the iCalendar 2.0 standard (RFC) and so we need the timezone information from your cal.com account for this. We're currently figuring out the best way to do this that ensures minimum performance impact because of this. This should be sorted very soon!

I've just realised that the 23rd is booked out all day for me, see above. The event picture is here with the brown calendar:

image

The all day event (purple) is here:

image

Not sure what the difference is. 1 is brown, 2 is purple.

image
Rustymage commented 1 year ago

Duplicating the brown (1) event to the 3rd, means the 3rd is now unavailable for booking. Moving the purple (2) into the brown (1) does not yield the same effect.

I cannot be certain but it's likely the original brown (1) was created on an iOS device, whereas the other on Mac OSX.

Might be useful...

Rustymage commented 1 year ago

All day bookings on iOS are respected by cal.com.

An interim fix for those wondering is to use your iOS device if you have one to create all day bookings.

njyo commented 1 year ago

Thanks @Rustymage.

Sadly, holiday calendar subscriptions are not created on any device but just subscriptions andā€”as saidā€”do not block out time on my cal.com. :$

Rustymage commented 1 year ago

Thanks @Rustymage.

Sadly, holiday calendar subscriptions are not created on any device but just subscriptions andā€”as saidā€”do not block out time on my cal.com. :$

Fair enough. I've found some of my holiday calendars work and some don't. Not sure on the reasons :/

I've actually tried the Fantastical Openings offering and they too have the same all-day issue.

njyo commented 1 year ago

Some working, some not is even more annoying. :$ At least for now adding and removing the holiday calendar did not work for me. :(

Thanks for the tip though.

Rustymage commented 1 year ago

Looks like iCloud calendar may be the issue with it's missing free/busy sections.

https://forums.macrumors.com/threads/free-busy-other-status-options-missing-in-calendar-app.2369504/

njyo commented 1 year ago

My calendars are coming in from Google though (see screenshots above).

alishaz-polymath commented 1 year ago

Multiple issues @njyo thats why.

Rustymage commented 1 year ago

Looks like iCloud calendar may be the issue with it's missing free/busy sections.

https://forums.macrumors.com/threads/free-busy-other-status-options-missing-in-calendar-app.2369504/

If I use Fantastical to create the all day event and select busy, cal.com respects that. If I make it free, cal.com says I'm free as expected.

alishaz-polymath commented 1 year ago

Just FYI, the latest release (https://github.com/calcom/cal.com/releases/tag/v2.8.13) sorts this one out šŸŽ‰ @jsolly Please give it a go and let me know the resultsšŸ™

njyo commented 1 year ago

Doesn't seem to work for me stillā€¦ looking at June 2nd, a holiday here:

2023-05-12 at 10 25

2023-05-12 at 10 26

šŸ˜•

alishaz-polymath commented 1 year ago

Can you confirm you have the same timezone set in your cal.com profile as well, at cal.com/settings/my-account/general?

alishaz-polymath commented 1 year ago

Doesn't seem to work for me stillā€¦ looking at June 2nd, a holiday here:

2023-05-12 at 10 25

2023-05-12 at 10 26

šŸ˜•

Oh wait, it should have the availability as busy to work as well. Please also check this. Holidays don't have busy availability by default, generally speaking.

njyo commented 1 year ago

Hi @alishaz-polymath, thanks, yes, both time zones are the same (Asia/Kuala_Lumpur).

Sorry, I'm not sure what your last statement meansā€¦ what I've raised before is that holidays should be possible to be marked as unavailable by default. As mentioned before, I would see two possible solutions for this:

  1. I can select that all events on a given calendar should be considered as busy (irrespective of the calendar and event type type)
  2. The conflict calendar selection should let me add Holiday calendar subscriptionsā€¦
alishaz-polymath commented 1 year ago

Hi @alishaz-polymath, thanks, yes, both time zones are the same (Asia/Kuala_Lumpur).

Sorry, I'm not sure what your last statement meansā€¦ what I've raised before is that holidays should be possible to be marked as unavailable by default. As mentioned before, I would see two possible solutions for this:

  1. I can select that all events on a given calendar should be considered as busy (irrespective of the calendar and event type type)
  2. The conflict calendar selection should let me add Holiday calendar subscriptionsā€¦

I see. What you're mentioning is a feature request more than an issue to be honest, as it is an additional functionality request and not a bug/issue. Could you please raise a new feature request with the same? šŸ™

jsolly commented 1 year ago

Hi all! This is working perfectly for me. Cal.com respects all-day events made in an Apple calendar as well as events that are not all day. Thanks for the fix!

I am comfortable with this issue being closed @alishaz-polymath

alishaz-polymath commented 1 year ago

Amazing news @jsolly So glad it's finally working for you as you would expect. šŸŽ‰

njyo commented 1 year ago

Hi @alishaz-polymath, thanks, yes, both time zones are the same (Asia/Kuala_Lumpur). Sorry, I'm not sure what your last statement meansā€¦ what I've raised before is that holidays should be possible to be marked as unavailable by default. As mentioned before, I would see two possible solutions for this:

  1. I can select that all events on a given calendar should be considered as busy (irrespective of the calendar and event type type)
  2. The conflict calendar selection should let me add Holiday calendar subscriptionsā€¦

I see. What you're mentioning is a feature request more than an issue to be honest, as it is an additional functionality request and not a bug/issue. Could you please raise a new feature request with the same? šŸ™

Done here #8918. Thanks!

EduNetEurope commented 6 months ago

For us, the problem still exists with multiple-day events that start on, let's say, 4pm on day 1 and go to 10am on day 3.

gatto commented 5 months ago

This is still an issue for me today with iCloud calendar, appointments created with macOS Calendar. Latest macOS 14.5. I'm happy to help debug this if anyone from the dev team wants to look into it. Makes the service fairly unusable for me unfortunately.

gatto commented 5 months ago

Ah by the way I can confirm all-day events created with the stock iOS Calendar app do block the times in cal.com However all-day events created in the stock Calendar app on macOS sometimes do not block the times in cal.com

Rustymage commented 4 months ago

Ah by the way I can confirm all-day events created with the stock iOS Calendar app do block the times in cal.com However all-day events created in the stock Calendar app on macOS sometimes do not block the times in cal.com

Agreed - I have this issue.

natew commented 1 week ago

Actually my issue is that I'd like at least the option to not have it block.

For example - I am traveling and put the hotel information for the next two months as all-day events which is very convenient. But iCal doesn't seem to have a "busy" toggle as far as I can see. I'd not like those to block, but just those events.

natew commented 1 week ago

For now I've just made a new calendar category and unsynced that.