Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid creating duplicate events by respecting the UID field #712

Merged
merged 2 commits into from
Aug 27, 2024

Conversation

dbarnett
Copy link
Collaborator

For events that contain a UID field, use Google Calendar's event import feature instead of insert to avoid creating duplicates.

Note that events with UID populated may still get processed as new/updated events if the SEQUENCE number is also incremented (https://www.kanzaki.com/docs/ical/sequence.html).

Fixes #492 & #583.

For events that contain a UID field, use Google Calendar's event
"import" feature instead of "insert" to avoid creating duplicates.

Note that events with UID populated may still get processed as
new/updated events if the SEQUENCE number is also incremented
(https://www.kanzaki.com/docs/ical/sequence.html).
@dbarnett
Copy link
Collaborator Author

Alright, I figured I may not get feedback on the quality of this until after it's released, so I took another look through the changes with a paranoid eye, caught and fixed a couple issues, and added an opt-out flag --use-legacy-import along with more in-app messaging about it.

With that I'm going to go ahead and merge this in a bit if nobody objects.

Comment on lines +1532 to +1535
if is_skipped_dupe:
# TODO: #492 - Offer to force import dupe anyway?
self.printer.msg(
f'Skipped duplicate event {event_label}.\n')
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

FYI in my testing the API didn't seem to respect the "sequence" number and still considered the events duplicates.

And another confusing corner case: seems like deleted events can still be considered "duplicates" and skipped.

Those could both be helped if we added more explicit detection and prompted users for how to resolve weird cases.

@dbarnett dbarnett merged commit 006c815 into master Aug 27, 2024
16 checks passed
@dbarnett dbarnett deleted the respect_uid branch August 27, 2024 04:29
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.

Import ics duplicates
1 participant