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
Owner

Fixes #69.

In the calendar the search bar becomes "Search events". Results are one list across your own calendars, added shared ones and subscriptions: upcoming first, then past events faded. A repeating event shows once, at its next date, with how it repeats.

Checked against 0.16.27 and 1.0.0 with a new compat test, and in the browser against a local 0.16.27. Stalwart matches whole words only, so "japan" doesn't find "Japanese". Seven new strings, translated in every catalog.

Fixes #69. In the calendar the search bar becomes "Search events". Results are one list across your own calendars, added shared ones and subscriptions: upcoming first, then past events faded. A repeating event shows once, at its next date, with how it repeats. Checked against 0.16.27 and 1.0.0 with a new compat test, and in the browser against a local 0.16.27. Stalwart matches whole words only, so "japan" doesn't find "Japanese". Seven new strings, translated in every catalog.
jcoffey-dev added 1 commit 2026-11-06 18:21:42 +00:00
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
759a9a7b50
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.
jcoffey-dev merged commit 2e7fd9be76 into main 2026-11-06 18:24:33 +00:00
jcoffey-dev deleted branch feat/calendar-search 2026-11-06 18:24:34 +00:00
Sign in to join this conversation.