Skip to content

caldav: add support for scheduling (RFC 6638)#202

Open
cheif wants to merge 6 commits intoemersion:masterfrom
cheif:feat-scheduling
Open

caldav: add support for scheduling (RFC 6638)#202
cheif wants to merge 6 commits intoemersion:masterfrom
cheif:feat-scheduling

Conversation

@cheif
Copy link
Copy Markdown
Contributor

@cheif cheif commented Mar 23, 2026

Summary

This adds partial support for RFC 6638, which allows us to deliver "Inbox" events, AKA invitations to events, that the user can reply to.

I elected to implement this as a new interface, with a single requirement:

GetInbox(ctx context.Context) (*Inbox, error)

The returned inbox contains a path to the inbox, e.g. /user/inbox, and a list of the users addresses. When this is implemented the backend will return that it supports scheduling, and the client will then try to fetch the inbox-items the same way that it does other events, through ListCalendarObjects.

For the user to be able to respond to an invite, the calendar-objects returned needs to contain an ical.PropAttendee which should have the address as one of the addresses listed in the inbox.

When the user responds to an invitation, we'll get a PutCalendarEvent, just like a regular edit.

Testing

I've verified this works as expected using the builtin apple calendar on macOS and iOS, but it would be great if someone would like to test this on other platforms as well.

@emersion
Copy link
Copy Markdown
Owner

Please have a look at CONTRIBUTING.md, in particular the LLM section.

@cheif
Copy link
Copy Markdown
Contributor Author

cheif commented Mar 23, 2026

Please have a look at CONTRIBUTING.md, in particular the LLM section.

Yeah, sorry. I asked copilot with help to add some tests, and apparently it went ahead and created a PR as well 😱

I'll rework it and get back to you, sorry for the noise!

@cheif cheif marked this pull request as draft March 23, 2026 19:17
@cheif cheif force-pushed the feat-scheduling branch from 1fdcef6 to 9de30cc Compare March 27, 2026 09:47
@cheif cheif marked this pull request as ready for review March 27, 2026 09:52
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