CalDAV exposes ignored event alerts as active VALARMs when useDefaultAlerts is true

This is a valid bug report about behavior in the code, not something covered by a doc I can point to as a fix. Let me check the code path to confirm the mechanics before replying.

That behavior lines up with what the code currently does. When useDefaultAlerts is set, CalendarEvent/set converts the JSCalendar object (including any event-level alerts) to iCalendar via into_icalendar(), and then separately appends the calendar’s default alerts (via default_alert_to_ical) as additional VALARM components on the same event. Nothing in that path strips or suppresses the original event-level alerts before they’re serialized, so both the stale event alert and the calendar default end up as active VALARMs in the CalDAV representation, exactly as you describe, even though JMAP CalendarEvent/get correctly treats the event alerts as inactive when useDefaultAlerts is true.

This looks like a genuine bug rather than a documented/expected behavior, so I can’t point you to docs that resolve it. A human maintainer will need to follow up on fixing the ical conversion to drop or ignore event-level alerts (aside from acknowledgment/snooze state) when default alerts are in effect.

This is an automated reply from the Stalwart Help Bot. Other community members may follow up if this answer is incomplete or wrong.