Skip to content

Scheduling work#646

Merged
tobixen merged 6 commits intomasterfrom
scheduling-testing
Apr 5, 2026
Merged

Scheduling work#646
tobixen merged 6 commits intomasterfrom
scheduling-testing

Conversation

@tobixen
Copy link
Copy Markdown
Member

@tobixen tobixen commented Mar 21, 2026

Now that we have lots of docker containers supporting the scheduling RFC, we should get the test framework doing some real testing on it

Edit: I'm continuing work in the same draft pull request on outstanding scheduling issues.

@tobixen tobixen force-pushed the scheduling-testing branch from e257d0a to 54a45fb Compare March 22, 2026 09:30
This was referenced Mar 29, 2026
@tobixen tobixen changed the title Scheduling testing Scheduling work Mar 30, 2026
@tobixen tobixen added this to the v3.x-scheduling milestone Mar 30, 2026
@tobixen tobixen mentioned this pull request Mar 30, 2026
3 tasks
@tobixen tobixen force-pushed the scheduling-testing branch 3 times, most recently from 5e3cca2 to d2ca9bf Compare April 4, 2026 20:51
tobixen and others added 6 commits April 5, 2026 21:40
Add scheduling support to FeatureSet compatibility hints:
- New 'scheduling' feature and sub-features (scheduling.mailbox,
  scheduling.calendar-user-address-set)
- Migrate legacy no_scheduling old flags to the new feature system
- Add scheduling_users defaults for Nextcloud, DAViCal, and Zimbra

Add RFC6638 scheduling test infrastructure:
- Enable multi-user scheduling tests via docker server setups
- Pre-populate scheduling_users in Cyrus and Baikal server classes
- Fix test collection and server config merging for scheduling_users
Implement testInviteAndRespond integration test covering invite/accept
workflows (RFC6638), with support for both auto-scheduling and
inbox-delivery modes, and per-server fixes for all supported servers:
- Handle auto-scheduling servers (Cyrus, Nextcloud) that deliver to
  the calendar directly without requiring inbox delivery
- Restructure test to properly handle both scheduling modes
- Cyrus: fix virtdomains config for cross-user scheduling
- Nextcloud, DAViCal, Baikal, Zimbra, SOGo, Davis, CCS, Stalwart: fixes
- Add scheduling.mailbox.inbox-delivery compatibility hints per server
- Rename scheduling.inbox-delivery → scheduling.mailbox.inbox-delivery
- Fix wrong RFC6638 section references in compatibility hints
- Pass scheduling_users as extra_clients in testCheckCompatibility
…loses #544)

- Add examples/calendar_owner_examples.py demonstrating how to get the
  owner of a calendar via DAV:owner and look up their calendar-user
  address via Principal.get_vcal_address()
- Improve testFindCalendarOwner to actually exercise the owner→principal
  →get_vcal_address() chain when the server supports both properties
- Add test_calendar_owner_examples to tests/test_examples.py
- Fix FeatureSet collapse regression: add explicit default to
  scheduling.mailbox in FEATURES so that _derive_from_subfeatures()
  does not roll the child quirk status up to the parent when
  CheckSchedulingDetails has not run

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…-address-set is unavailable

When the server does not expose the calendar-user-address-set property
(RFC6638 §2.4.1), accept_invite() (and decline_invite(),
tentatively_accept_invite()) now fall back to the client username as
the attendee email address. A NotFoundError with a descriptive message
is raised when the username is also not an email address.

Fixes #399
@tobixen tobixen force-pushed the scheduling-testing branch from d2ca9bf to a015b19 Compare April 5, 2026 19:46
@tobixen tobixen marked this pull request as ready for review April 5, 2026 20:13
@tobixen tobixen merged commit 9515bae into master Apr 5, 2026
9 checks passed
@tobixen tobixen deleted the scheduling-testing branch April 5, 2026 20:14
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.

1 participant