-
released this
2026-08-11 14:27:15 -05:00 | 76 commits to main since this releaseAdding guests to an event and reporting who accepted, behind
INVITES_ENABLED.The first feature here that can do something the user cannot undo. Apple mails every
address the moment the event is written, and an invitation cannot be recalled the way a
wrong event can be deleted. The gate is separate fromWRITABLE_CALENDARSrather than
folded into it, and the tools are registered only when both are set — with either unset
the served tool surface is identical to 0.9.4.Cleared by a probe first
Free-busy sat on the roadmap for weeks before a ten-minute check found iCloud refuses it
outright, so attendees were probed live on 2026-08-11 before any of this was designed.
The implementation follows what that probe found rather than what RFC 6638 says should
happen, because the two disagree:SCHEDULE-AGENT=CLIENTdoes not suppress delivery. There is no quiet mode, so
INVITES_ENABLEDis the entire boundary and no live test of this path can avoid mailing
a disposable alias.- The
ORGANIZERround trip is not stable — written, stored and mailed are three
different values. An organiser iCloud has already canonicalised is left alone. - Delivery outcome lives in
SCHEDULE-STATUS, not in the HTTP status. A201means
stored, not sent. - The organiser address is resolved from the account, never from config. An
ORGANIZERiCloud does not recognise is worse than an error: it keeps theATTENDEE
lines as inert text and mails nobody, which reads as success from every response.
Reply status and delivery status are separate
An attendee can be silent because they are thinking about it or because the invitation
never left the building.NEEDS-ACTIONrenders as "no reply yet" rather than passing
through, because a model summarising the raw token files it next toDECLINEDas though
both were answers.Refused rather than guessed at
Repeating events, a line break in an address (iCalendar is line-based, so that appends a
property of the caller's choosing to an event about to be mailed), and re-adding somebody
already invited.SEQUENCEis not bumped when a guest is added, so the people already
coming are not told the meeting changed when it did not.Verification
533 tests green, up from 477. The new ones run against the exact bytes iCloud returned
during the probe rather than a hand-written fixture, which is what pins the href-organiser
and the server-setSCHEDULE-STATUS.Not yet exercised through the tool layer against the live account. What the probe
verified is iCloud's behaviour, not this code's use of it. The procedure and what it costs
are indocs/operations.md.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads