Skip to content

fix(events): make the ICS feed work as a subscription - #1

Merged
gouarin merged 2 commits into
hpc-maths:mainfrom
gouarin:fix/ics-subscription
Nov 4, 2026
Merged

gouarin merged 2 commits into
hpc-maths:mainfrom
gouarin:fix/ics-subscription

Conversation

@gouarin

@gouarin gouarin commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Description

People who subscribe to hpcmaths_seminars.ics may not get new seminars.

  • ics_generator.py let the ics library pick a random UID for each event, so all 76 UIDs changed at every build. Subscribed clients can treat every event as new, or duplicate it. The UID is now the .rst file name plus the site domain, for example 2022-05-05-matalon@hpc-maths.github.io. Event files are also sorted, so the output no longer depends on filesystem order.
  • The calendar header now has X-WR-CALNAME, REFRESH-INTERVAL and X-PUBLISHED-TTL (6 h). Apple Calendar and Outlook honour them, Google ignores them. They sit before the first component, as RFC 5545 requires. Line endings are now CRLF.
  • The events page links to webcal:// and tells readers to subscribe instead of importing the file, with the Google Agenda steps.
  • .github/workflows/pages.yml now triggers on main instead of master, which is the default branch.

Reviewer notes

The first deployment changes every UID once. Existing subscribers may see events duplicated until they resubscribe.

I checked a full build locally: the ICS parses with 76 events and 76 unique UIDs, identical across two builds. I did not test a real calendar client.

Give each event a UID derived from its file name, so subscribed calendars
stop seeing every event as new at each build. Add refresh hints to the
calendar header, switch the page link to webcal:// and explain how to
subscribe.
@gouarin
gouarin merged commit 075876b into hpc-maths:main Nov 4, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant