Skip to content

Enhance Meetup events sync: add PR trigger, past-events scraping, iCal unescape, and dedupe/merge#15

Merged
carloshvp merged 2 commits intomainfrom
codex/find-workflow-for-updating-events-zah9wv
Apr 3, 2026
Merged

Enhance Meetup events sync: add PR trigger, past-events scraping, iCal unescape, and dedupe/merge#15
carloshvp merged 2 commits intomainfrom
codex/find-workflow-for-updating-events-zah9wv

Conversation

@carloshvp
Copy link
Copy Markdown
Member

Motivation

  • Allow the Meetup sync to run for pull requests and all pushes to main/master in addition to scheduled and manual runs to improve verification and CI feedback.
  • Supplement iCal and events page parsing with recent historical events from the Meetup events/past page to retain recent past events in the site data.
  • Improve robustness of iCal / JSON-LD parsing by unescaping ical text, deduplicating and merging multiple sources, and more reliable URL fetching.

Description

  • Updated workflow /.github/workflows/sync-meetup-events.yml to add pull_request triggers, document that pushes to main/master run, and restrict the commit step to only run on push, schedule, or workflow_dispatch events using if: github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'.
  • Extended README.md to document the new MEETUP_PAST_EVENTS_URL override and the updated workflow triggers and behavior.
  • Enhanced scripts/sync_meetup_events.py with these key changes: added DEFAULT_PAST_EVENTS_URL, implemented unescape_ical_text and applied it to SUMMARY, DESCRIPTION, and LOCATION when parsing iCal, added fetch_url, extract_event_urls_from_html, merge_events, and logic to fetch/supplement past events (including crawling individual event pages when needed), and changed fetch_events to merge iCal and past-event results with a JSON-LD fallback.
  • Improved error messages and logging when sources succeed or fail and ensured deterministic output via write_if_changed unchanged behavior.

Testing

  • No automated tests were run as part of this change.

Codex Task

@carloshvp carloshvp merged commit 2ad983c into main Apr 3, 2026
1 check passed
@chatgpt-codex-connector
Copy link
Copy Markdown

💡 Codex Review

merged_events = merge_events(ical_events, past_events)
if merged_events:
return merged_events

P1 Badge Use events-page fallback when iCal data is missing

Returning immediately when merge_events(ical_events, past_events) is non-empty causes a regression during iCal outages: if the iCal request fails but events/past returns data, this path exits with only past events and never queries MEETUP_EVENTS_URL for upcoming events. In that scenario the site can temporarily show zero upcoming events even though the JSON-LD events page is still available.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant