mirror of
https://github.com/bulwarkmail/webmail.git
synced 2026-10-31 08:13:50 +00:00
Stalwart's CalendarEvent/query ignores Task-type objects and does not support the 'types' filter (returns unsupportedFilter error). This caused tasks both locally created and from external clients like Thunderbird to disappear on reload. Root causes: - CalendarEvent/query only returns @type:'Event' objects on Stalwart, so tasks were invisible to the query endpoint. - CALENDAR_EVENT_PROPERTIES lacked Task-specific fields (due, progress, progressUpdated, priority), causing garbled data when tasks were fetched with Event properties (e.g. utcStart:'32548-12-04T15:30:07Z'). Changes: - Add CALENDAR_TASK_PROPERTIES with Task-specific fields (due, progress, progressUpdated, priority). - Rewrite getCalendarTasks() to first try CalendarEvent/query with types:['Task'] filter, then fall back to CalendarEvent/get ids:null which returns all calendar objects regardless of @type per JMAP spec. - Rewrite createCalendarTask() to fetch back created tasks using CALENDAR_TASK_PROPERTIES instead of piggybacking on createCalendarEvent. - Add comprehensive debug logging throughout the task fetch/create flow (TaskStore, JMAP client) visible when Debug Mode is enabled. - Add 'types' field to CalendarEventFilter interface.