Skip to content

Unified Event Merging and Recurrence Handling Fixes#1090

Open
stanleyrya wants to merge 4 commits intomainfrom
fix-event-merging-logic-15644121131729488703
Open

Unified Event Merging and Recurrence Handling Fixes#1090
stanleyrya wants to merge 4 commits intomainfrom
fix-event-merging-logic-15644121131729488703

Conversation

@stanleyrya
Copy link
Copy Markdown
Owner

This PR addresses issues with merging events between the web-based event-builder page and the Scriptable bear event scraper. Key improvements include:

  1. Consistency: Moved parseDateWithTimezone to SharedCore.js as a static method used by both the scraper and the parser.
  2. Reliable Merging: The matching engine in SharedCore.js now performs timezone-aware comparisons of startDate and recurrenceId, significantly reducing duplicate events caused by timezone shifts.
  3. Proper Edits: The Event Builder now tracks and increments the SEQUENCE number and preserves the original UID. It also passes the original start time as recurrenceId to allow Scriptable to uniquely identify and update specific recurring instances even if their date/time changes.
  4. Transparency: Added verbose logging to the merging process to provide absolute clarity on why events match or fail to match during processing.

PR created automatically by Jules for task 15644121131729488703 started by @stanleyrya

…criptable

Summary of changes:
- Improved `SharedCore.js` matching logic with timezone-aware date parsing and detailed debug logging.
- Unified `parseDateWithTimezone` into a static method in `SharedCore.js` to ensure consistency.
- Updated `event-builder.html` to preserve `UID`, increment `SEQUENCE`, and correctly handle `RECURRENCE-ID` for overrides.
- Modified `ScriptableUrlParser.js` to extract and respect timezone metadata from the web-to-scriptable payload.
- Added extensive `🔍 MATCH` logging to help debug future merging issues.

Co-authored-by: stanleyrya <8700100+stanleyrya@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

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.

2 participants