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

[WIP] Add options remove_details and required_attendee #1106

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

DavidMikeSimon
Copy link

@DavidMikeSimon DavidMikeSimon commented Dec 20, 2023

I added these features for my own self-hosted setup, and was wondering if they're something you would want to merge upstream. If so, I can write some unit tests and clean this up a bit.

New options:

  • required_attendee - Optional email address. If provided, an event must have an ATTENDEE with that email address in an ACCEPTED state, or else it will not be synced. This is useful for me when syncing my work calendar to my home setup, since I am not interested in syncing any events which I declined.
  • remove_details - Optional boolean. If set to true, the event description, attendees, and location fields are all removed before the event is synced. For me, this is useful to avoid copying over sensitive information, such as Zoom links or the email addresses of my co-workers. It also filters out the needless VTIMEZONE sub-components that Google Calendar injects into every event.

@DavidMikeSimon
Copy link
Author

@WhyNotHugo Thoughts on whether these features would be useful to upstream?

@WhyNotHugo
Copy link
Member

I'm not sure that this is something that I'd want inside vdirsyncer. Generally the focus is to synchronise items without any changes. I fear that merging remove_details would lead to other requests to exclude other individual fields and lead to too much feature creep.

To understand your use-case better: do you want two-way sync, or do you just want work items to be synchronised to another calendar one-way?

@DavidMikeSimon
Copy link
Author

@WhyNotHugo My use case is all about one-way sync. I work from home, and my workplace uses Google Calendar. I also have a home calendar system using NextCloud, and I want my family to be able to use that to see what times during each day I will be busy in a meeting. The required_attendee feature is necessary for this, because my work calendar has meetings that I don't attend, but I cannot delete those events because they are shared.

The remove_details feature isn't necessary for functionality, but I like it for safety. I want to avoid the risk of exposing sensitive data from my work if someone were to break into my instance of NextCloud.

@DavidMikeSimon
Copy link
Author

DavidMikeSimon commented Feb 12, 2024

What if remove_details accepted a list of fields/components to remove, rather than having a hard-coded set?

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.

None yet

2 participants