Repository navigation
v1.3.0: Show every occurrence of repeating calendar events
Show every occurrence of repeating calendar events
Google publishes a repeating event as one VEVENT with an RRULE, not as one
VEVENT per occurrence. The parser read only the master, so a weekly or
monthly event appeared once and then vanished from the schedule for good
once its first date had passed — and "Refresh now" couldn't reveal that,
since it reported success unconditionally and discarded refresh()'s result.
- Expand RRULE (DAILY/WEEKLY/MONTHLY/YEARLY, INTERVAL, COUNT, UNTIL, BYDAY)
over a 24-month horizon, honoring EXDATE, RECURRENCE-ID overrides and
STATUS:CANCELLED. Monthly steps are anchored to the series start so a run
on the 31st skips short months instead of sliding onto the 1st. - Report the real refresh outcome: the event count on success, or the
underlying HTTP/parse error, noting that the last saved copy is still live. - Pin all-day events to midnight; they were inheriting the current time and
sorting into the wrong day. - Honor a DTSTART's own TZID rather than assuming the site's timezone.
- Drop the feed cache on version upgrade, so a parser change takes effect on
the next page view instead of up to wcal_cache_hours later.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com