inovex / CalendarSync

Stateless CLI tool to sync calendars across different calendaring systems.
MIT License
99 stars 13 forks source link

Remove special case to remove events without SyncID #33

Closed MichaelEischer closed 1 year ago

MichaelEischer commented 1 year ago

The synchronization of calendar events current removes events whose metadata contains an empty sourceID. In https://github.com/inovex/CalendarSync/blob/f20ba800ed273ca111930472ef96872637fad848/internal/sync/controller.go#L204-L208

For Outlook calendars the event metadata is only set if a CalendarSync-specific extension exists in the event. For the Google calendar, the metadata exists if any field in the ExtendedProperties of an event is set. The latter could become a problem if other tools create calendar events and also use the ExtendedProperties field. Thus, I think we should just remove the special case for these calendar events.

To prevent potential naming conflicts, it would also be a good idea to prefix our event metadata in the Google calendar events with e.g. inovex.calendarsync.meta. (the field name just has to stay within a 44 characters limit).

MichaelEischer commented 1 year ago

Fixed by https://github.com/inovex/CalendarSync/pull/38