Enhancement: better tz parsing of ical recurring events (#4749)

pull/4752/head
shamoon 1 week ago committed by GitHub
parent f283b83e6e
commit e46377f461
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -78,7 +78,16 @@ export default function Integration({ config, params, setEvents, hideErrors, tim
const rule = new RRule(recurrenceOptions);
const recurringEvents = rule.between(startDate.toJSDate(), endDate.toJSDate());
recurringEvents.forEach((date, i) => eventToAdd(date, i, "recurring"));
recurringEvents.forEach((date, i) => {
let eventDate = date;
if (event.dtstart?.params?.tzid) {
// date is in UTC but parsed as if it is in current timezone, so we need to adjust it
const dateInUTC = DateTime.fromJSDate(date).setZone("UTC");
const offset = dateInUTC.offset - DateTime.fromJSDate(date, { zone: event.dtstart.params.tzid }).offset;
eventDate = dateInUTC.plus({ minutes: offset }).toJSDate();
}
eventToAdd(eventDate, i, "recurring");
});
return;
} catch (e) {
// eslint-disable-next-line no-console

Loading…
Cancel
Save