fix(imip): don't report success when a calendar cannot process iMip - #62722
Conversation
9311118 to
d723df5
Compare
d723df5 to
a57902c
Compare
There was a problem hiding this comment.
The logic here is completely wrong.
// use the primary calendar of the user, otherwise the first one that can process iMip messages
$primaryCalendar = $this->getPrimaryCalendar($userId);
$calendar = $primaryCalendar !== null && $this->canHandleImip($primaryCalendar)
? $primaryCalendar
: $userCalendars[0];
This assumes that the first user calendar is writable and can handle imip messages. This assumption is completely wrong, as the first calendar can be the "birthday calender" which is read only, this can event be a subscription, also getPrimaryCalendar() already returns the first user calendar when there is no default configured
|
It does not? |
handleIMip() checked IHandleImipMessage only inside the match, so a writable calendar unable to process iMip returned true without doing anything. Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
a57902c to
cf01026
Compare
Ah. you're right I missed the change on the $usersCalendars at the beginning. |
|
/backport to stable34 |
|
/backport to stable33 |
Summary
handleIMip() checked IHandleImipMessage only inside the match, so a writable calendar unable to process iMip returned true without doing anything.
Checklist
3. to review, feature component)stable32)AI (if applicable)