mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-30 00:22:10 -04:00
b03b6b91df
_parse_dt documents that it returns naive datetimes (CalendarEvent.dtstart is naive) and every return path strips tz — except the last-resort dateutil fallback, which returned dateutil's value verbatim. An offset-bearing non-ISO input (e.g. RFC-2822 'Mon, 05 Jan 2026 14:00:00 +0900', which fromisoformat rejects but dateutil parses) leaked a tz-aware datetime into the naive dtstart column via create_event/update_event -> _parse_dt_pair. On read-back, _expand_rrule compares ev.dtstart against naive window bounds and raised 'can't compare offset-naive and offset-aware datetimes' (500 / no events). Normalize the fallback to UTC-naive, mirroring the fromisoformat branch. Naive inputs are unchanged.