thunderbird / appointment

Invite others to grab times on your calendar. Choose a date. Make appointments as easy as it gets.
https://appointment.day
Mozilla Public License 2.0
163 stars 4 forks source link

All day events bleed into the next day #580

Open kewisch opened 1 month ago

kewisch commented 1 month ago

Describe the bug All day events bleed into the next day

To Reproduce Steps to reproduce the behavior:

  1. Create an all day event on Friday in your calendar (in my case it was an all day OOO event on gcal)
  2. Go to calendar in appointment.day
  3. Observe that the event shows on both Friday and Saturday (depending on timezones)

Expected behavior End dates are exclusive, and date-only events are in floating timezone. Make sure they are displayed as such.

Actual behavior Event appears in multiple days

Screenshots image

System (please complete the following information):

Additional context This happens in a few different calendar views

MelissaAutumn commented 1 month ago

Thanks for the report @kewisch! I can't reproduce it on my end with the PTO calendar. Do you have an ics file for that event? And which timezones did this occur in?

Notes: Originally fixed here: https://github.com/thunderbird/appointment/issues/406

Unsure if it's the same problem. Possibly fixed by https://github.com/thunderbird/appointment/commit/21277f69b0029f478627736ff7a62ff0104bf833

kewisch commented 1 month ago

Sounds like the same issue! This isn't the event on the PTO calendar, but rather a custom "Out of Office" event I set for all day Friday so my calendar is blocked for the rest of Mozilla. I was wrong on this being a date-only event, it appears that Google makes this a midnight to midnight event in your timezone when exporting via ICS (and also via the API).

BEGIN:VEVENT
CREATED:20240603T122629Z
LAST-MODIFIED:20240603T123049Z
DTSTAMP:20240603T123049Z
UID:20t8vd6tshj89ek6tsoohg4h69@google.com
SUMMARY:Wellbeing Friday
STATUS:CONFIRMED
ORGANIZER;CN=Unknown Organizer:mailto:unknownorganizer@calendar.google.com
ATTENDEE;CN=me@thunderbird.net;PARTSTAT=ACCEPTED;CUTYPE=INDIVIDUAL;ROL
 E=REQ-PARTICIPANT;X-NUM-GUESTS=0:mailto:me@thunderbird.net
RRULE:FREQ=WEEKLY;BYDAY=FR;UNTIL=20240809T215959Z;WKST=SU
DTSTART;TZID=Europe/Berlin:20240705T000000
DTEND;TZID=Europe/Berlin:20240706T000000
CLASS:PUBLIC
SEQUENCE:0
TRANSP:OPAQUE
END:VEVENT

If you've fixed timezone conversion, then it should work.

MelissaAutumn commented 1 month ago

Hey there @kewisch!

I haven't had a chance to test this, but I've just pushed up the latest changes to production. Can you give it another try?

Thanks!