mirror of
https://github.com/bulwarkmail/webmail.git
synced 2026-10-31 16:13:15 +00:00
Four smaller calendar fixes found in review of the Stalwart 1.0 work. - A range load that failed left `dateRange` on the range loaded before, so a push or a pull-to-refresh reloaded that one instead of the range on screen, and any action that reset `error` hid the "may be out of date" notice. The store now takes the range asked for and keeps the failure in `eventsLoadError`, which only a successful range load clears. - The agenda plugin's expanded query had no sort, so its limit could keep later occurrences instead of the next ones. It now sorts by start, looks less far ahead when the server refuses the range as too long (`expandDurationTooLarge`, an administrator's shorter `maxExpandedQueryDuration`) instead of answering 502, and sends its gets several per request. - With a limit (search, contact activity) the chunks of a long range went out one request each. Up to four now share a request, and what the later ones return past the limit is dropped. Global search passes its AbortSignal down, so a replaced search stops between requests. - A search of several words sends its date bounds as conditions of a flat AND. The client did not see them as a range: it neither expanded recurrences nor turned the UTC bounds into the request's wall clock, so such a search found series instead of occurrences, over a range shifted by the zone's offset. The bounds are now lifted out of the AND, converted and chunked, and each chunk keeps one flat AND of single conditions - the shape 1.0 expands; it refuses an AND holding a condition with both bounds.