Skip to content

Conversation

@tyler-dane
Copy link
Contributor

Closes #1434

  • Implemented instanceToStandalone method in GcalEventParser to convert recurrence instances into standalone events, enhancing event management capabilities.
  • Updated GcalSyncProcessor to handle the new conversion case in the event processing logic.
  • Added unit tests to validate the functionality of detaching instances into standalone events, ensuring correct behavior and data integrity during synchronization.

This change improves the flexibility of the Google Calendar synchronization process, allowing users to manage their events more effectively.

…vents

- Implemented `instanceToStandalone` method in `GcalEventParser` to convert recurrence instances into standalone events, enhancing event management capabilities.
- Updated `GcalSyncProcessor` to handle the new conversion case in the event processing logic.
- Added unit tests to validate the functionality of detaching instances into standalone events, ensuring correct behavior and data integrity during synchronization.

This change improves the flexibility of the Google Calendar synchronization process, allowing users to manage their events more effectively.
Copilot AI review requested due to automatic review settings February 3, 2026 03:11
@cursor
Copy link

cursor bot commented Feb 3, 2026

You have run out of free Bugbot PR reviews for this billing cycle. This will reset on March 3.

To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a sync logic error when converting a recurrence instance to a standalone event in Google Calendar synchronization. Previously, when a user edited a single instance in Google Calendar to detach it from a recurring series, the sync processor would throw an unhandled transition error.

Changes:

  • Added a new case handler RECURRENCE_INSTANCE->>STANDALONE_CONFIRMED in the GcalSyncProcessor switch statement
  • Implemented instanceToStandalone method in GcalEventParser that removes recurrence properties and updates the event as standalone
  • Added comprehensive unit test validating the detachment functionality and data integrity

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
packages/backend/src/sync/services/sync/gcal.sync.processor.ts Added switch case to handle RECURRENCE_INSTANCE->>STANDALONE_CONFIRMED transition by calling the new instanceToStandalone method
packages/backend/src/event/classes/gcal.event.parser.ts Implemented instanceToStandalone method to convert instance events to standalone by removing recurrence and gRecurringEventId properties
packages/backend/src/sync/services/sync/tests/gcal.sync.processor.upsert.instance.test.ts Added test case verifying correct handling of instance detachment, including proper removal of recurrence properties and correct transition/operation reporting

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

@tyler-dane tyler-dane requested a review from Copilot February 3, 2026 03:19
@tyler-dane tyler-dane merged commit 569ca1a into main Feb 3, 2026
21 checks passed
@tyler-dane tyler-dane deleted the fix/1434-sync-bug branch February 3, 2026 03:21
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

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.

Sync logic error when converting recurrence to standalone instance

1 participant