V28 Inbox search
The V28 Inbox has a search field at the top that filters threads by guest name + message content.
Where it lives
/v28/inbox → top of the thread list, search field next to the filter chips.
What it searches
- Guest name — partial-match against the reservation's
guestName. - Message content — partial-match against any message body in any thread on the current tenant.
Both run as one query — typing Marina finds threads where the guest is named Marina OR a message mentions Marina (e.g. an operator note "ask Marina about the keys").
Search behavior
- Case-insensitive.
- Diacritic-insensitive —
prístavnámatchespristavnaand vice versa. - Word-prefix —
MarmatchesMarinaandMarek. - Substring within message body —
parkingmatches messages containing "parking".
Results display
Each matching thread shows the standard thread row + a highlighted snippet of the matching message body (when the match was in content). Click to open the thread.
Limits
The search hits the live tRPC query — not a separate index — so for very large message tables (10k+ messages) it can be slow. If you find it slow on your tenant, scope the search by adding a property filter first.
Why this exists
Before gh#319, the V28 Inbox had zero search — the operator had to scroll. With dozens to hundreds of threads across active reservations, scrolling is unreasonable. The search closes that gap.
Implements: gh#319 (V28 Inbox search across guest names + message content).