Calendar: added external people (guests) are dropped, no email sent to them #26

Closed
opened 2026-08-25 13:40:19 +00:00 by mbunkus · 1 comment

I'm trying to create an event & add an external person (my work account) as a guest. This works in ihasmail's interface insofar as I can select existing entries from my address book, and I can add addresses that aren't in the address book:

Image Image

However, after saving (creating) the event & editing it again the list of guests is empty, as is the hover popup shown in the calendar view itself:

Image

Furthermore I can confirm from Stalwart's log files that no email with the calendar entry is sent out. The log files don't mention the addresses of the guests I've added at all (log level is set to debug).

The same happens if I add a guest located on the same Stalwart server/with the same domain as the account I'm logged in.

Rebuilt from: session transcript. Description text is incomplete.

I'm trying to create an event & add an external person (my work account) as a guest. This works in ihasmail's interface insofar as I can select existing entries from my address book, and I can add addresses that aren't in the address book: <img width="747" height="514" alt="Image" src="https://github.com/user-attachments/assets/2be3de23-dac2-41d6-8a2f-7c0851c5ee76" /> <img width="747" height="116" alt="Image" src="https://github.com/user-attachments/assets/4e6b61a2-8701-4839-8054-b6bd44fb7966" /> However, after saving (creating) the event & editing it again the list of guests is empty, as is the hover popup shown in the calendar view itself: <img width="748" height="504" alt="Image" src="https://github.com/user-attachments/assets/8052955c-f978-40b7-87b8-2990e7f10b7e" /> Furthermore I can confirm from Stalwart's log files that no email with the calendar entry is sent out. The log files don't mention the addresses of the guests I've added at all (log level is set to `debug`). The same happens if I add a guest located on the same Stalwart server/with the same domain as the account I'm logged in. <sub>Rebuilt from: session transcript. Description text is incomplete.</sub>
Owner

Fixed in #31, which is now in main (it merged via #28, so GitHub did not close this automatically).

The cause was not the guest list itself but the property name it travels under. Stalwart 0.16 keeps a participant's address in calendarAddress; ihasmail was sending RFC 8984's sendTo/email. Given those, CalendarEvent/set stores the event, discards the whole participant map, and reports success — which is why the guests disappeared, no invitation went out, and the log never mentioned the addresses. Six shapes were tried against a live 0.16.19, down to sendTo and roles alone; all six were dropped. The organizer had the same problem (organizerCalendarAddress, not replyTo).

Verified end to end on 0.16.19: an invitation to an external Gmail address arrived as an invite card, the decline came back, and the event updated to declined. Cancelling notified the guest too.

Thank you for the report — the detail about the log not naming the addresses is what ruled out the client-side guard early and pointed at the server accepting and discarding.

While tracking it down, the same mismatch turned out to break recurring events entirely on 0.16, filed as #30 and fixed in the same PR.

Fixed in #31, which is now in main (it merged via #28, so GitHub did not close this automatically). The cause was not the guest list itself but the property name it travels under. Stalwart 0.16 keeps a participant's address in `calendarAddress`; ihasmail was sending RFC 8984's `sendTo`/`email`. Given those, `CalendarEvent/set` stores the event, discards the whole participant map, and reports success — which is why the guests disappeared, no invitation went out, and the log never mentioned the addresses. Six shapes were tried against a live 0.16.19, down to `sendTo` and `roles` alone; all six were dropped. The organizer had the same problem (`organizerCalendarAddress`, not `replyTo`). Verified end to end on 0.16.19: an invitation to an external Gmail address arrived as an invite card, the decline came back, and the event updated to `declined`. Cancelling notified the guest too. Thank you for the report — the detail about the log not naming the addresses is what ruled out the client-side guard early and pointed at the server accepting and discarding. While tracking it down, the same mismatch turned out to break recurring events entirely on 0.16, filed as #30 and fixed in the same PR.
This repo is archived. You cannot comment on issues.