Calendar: search events from the search bar #70

Merged
jcoffey-dev merged 1 commits from feat/calendar-search into main 2026-11-06 18:24:33 +00:00
1 Commits
Author SHA1 Message Date
jcoffey-dev 759a9a7b50 Calendar: search events from the search bar (#69)
ci / node (pull_request) Skipped
ci / version (pull_request) Skipped
ci / stalwart (stalwartlabs/stalwart@sha256:baafeacd6cbde77acdd94af49972d41c6709e54a376df48e18a9fe3f445eb3d5, 1.0.0) (pull_request) Skipped
ci / stalwart (stalwartlabs/stalwart@sha256:c429b311c93db5606598abc1c68225a85a6953183848ae01bee9c6a98885836c, 0.16.27) (pull_request) Skipped
ci / docker-build (pull_request) Skipped
ci / publish (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 2m25s
In the calendar the search bar becomes "Search events" and opens
/calendar/search?q=. It sends CalendarEvent/query with a text filter to the
reader's own account and each account with an added shared calendar, and
matches subscribed calendars in the browser. Results are one list:
upcoming soonest first, then past most recent first and faded, under their
days as in the agenda. A result opens the usual event popover.

A series comes back once, as its master at its first date, so its next
date (or its latest, once it has ended) is asked for by uid with an
expanded query, one per series, in one request. The window stays a day
inside maxExpandedQueryDuration: 1.0 refuses a span over its limit with
expandDurationTooLarge.

Checked against 0.16.27 and 1.0.0: text matches title, description and
location by whole word in any case; 1.0 indexes in the background, so the
compat test waits for it.

The mock now honors text, sort and limit on CalendarEvent/query. Seven new
strings in every catalog; the calendar's literal "(untitled)" and the
agenda's "All day" go through translation too.
2026-11-06 11:21:22 -07:00