Calendar not picking up attendee-responses

Issue Description

I create a calendar event and ask someone to join it. The person receives an invite. He/she can accept it both via the stalwart link in the invite-mail and via his/her own calendar via a notification. If the user choses the calendar native way to respond to the event I never have my original calendar event updated with their answer.

My scheduling settings are as follows:

{
    "methodResponses": [
        [
            "x:CalendarScheduling/get",
            {
                "accountId": "h",
                "list": [
                    {
                        "enable": true,
                        "httpRsvpEnable": true,
                        "httpRsvpLinkExpiry": 7862400000,
                        "httpRsvpUrl": null,
                        "autoAddInvitations": true,
                        "itipMaxSize": 524288,
                        "maxRecipients": 100,
                        "emailTemplate": null,
                        "httpRsvpTemplate": null,
                        "id": "singleton"
                    }
                ],
                "notFound": []
            },
            "0"
        ]
    ],
    "sessionState": "8b05b3da"
}

The attendee is not in my address book. But I don’t expect this to be an issue because autoAddInvitations is set to true.

Expected Behavior

I expect to have my event updated with their attendance when they respond. Instead it remains showing that they haven’t responded yet.

Actual Behavior

I receive the email response from my attendee, roughly saying: “Accepted: ”. And attached to that mail is an ics file. But the original event is not updated.

The only way I can have the event updated to my agenda is by starting up Thunderbird and then click the button in the response mail to have the event updated: “This message contains a reply to an invitation. ”

Stalwart Version

v0.16.x

Installation Method

Docker

Database Backend

PostgreSQL

Blob Storage

Filesystem

Search Engine

Meilisearch

Directory Backend

Internal

I have reviewed the documentation and FAQ and confirm that my issue is NOT addressed there.

on

I have searched this support forum (open and closed topics) and confirm this is not a duplicate.

on

autoAddInvitations governs auto-adding new invitations (REQUESTs), not REPLY processing, so it won’t affect this. For an attendee’s REPLY to be applied automatically, the inbound reply email has to be treated as authenticated, in practice that means it has to pass DMARC. An external attendee whose reply fails or lacks DMARC is silently skipped for iTIP ingest, which is the most likely cause here. Two other gates can block it: the message being classified as spam, and the receiving account lacking the calendar scheduling-receive permission. Thunderbird applying the .ics by hand just confirms the payload is valid; the issue is at the ingest gate.

Can you share: is the attendee external or local; what’s the DMARC/Authentication-Results outcome on the reply in the logs; does the receiving account have the scheduling-receive permission; and was the reply flagged as spam? A trace-level log of that inbound delivery would show whether the ingest branch was even entered.

Hi, thank you for getting back to me.

In the mean time I have upgraded to v0.16.9 and I am trying to get the issue reproduced again, but I am not successful. For some reason it is working now! In the release note I don’t see anything related to this.

Also, thanks for pointing out that tracing feature. That is really cool, and I can see now that it really does iTip processing. I hope this issue hasn’t taken a lot of your “head bandwidth” yet. I will close it for now and keep an eye on it.

Thanks!