No Matrix web client supports E2EE message search server-side — the
homeserver only sees ciphertext. This is the same approach FluffyChat
takes: scan locally decrypted events already in the live timeline.
Changes:
- useLocalMessageSearch: searches getLiveTimeline().getEvents() in
encrypted rooms using decrypted content (getContent(), not event.content)
- MessageSearch: runs client-side search in parallel with server search,
shows results in a dedicated 'Encrypted Rooms' section with clear notice
about scope (only cached/recently viewed messages)
- Encryption notice shown when encrypted rooms are in scope — explains
why results may be missing and what to do
- Server result limit raised from 20 → 50
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>