Sender-only search returns membership/state/reaction events as results #62

Closed
opened 2026-09-12 01:51:21 -04:00 by jared · 0 comments
Owner

Severity: low · Type: ux · Confidence: high

Location: src/app/features/message-search/useLocalMessageSearch.ts:191, rendered by src/app/features/message-search/SearchResultGroup.tsx:122+

Problem

In sender-only mode (from: with no search term) the message-type guard is skipped (if (!senderOnlyMode && !isMessageLike && !isSticker) continue;), so every event by that sender — m.room.member joins/leaves, m.reaction, redactions, encryption state — becomes a search result and falls through to the renderer's unsupported/fallback branch. Sender-only search also runs over all rooms including unencrypted ones, so this is the common path, not an edge case.

How to trigger

Search with only a from:@user filter in a room where that user has joined/left or reacted.

Suggested fix

In sender-only mode restrict to isMessageLike || isSticker (the same predicate used for text mode), or explicitly allow-list the renderable types.


Filed from the September 2026 client audit (branch lotus @ 4bea4895).

**Severity:** low · **Type:** ux · **Confidence:** high **Location:** `src/app/features/message-search/useLocalMessageSearch.ts:191`, rendered by `src/app/features/message-search/SearchResultGroup.tsx:122+` ### Problem In sender-only mode (`from:` with no search term) the message-type guard is skipped (`if (!senderOnlyMode && !isMessageLike && !isSticker) continue;`), so every event by that sender — `m.room.member` joins/leaves, `m.reaction`, redactions, encryption state — becomes a search result and falls through to the renderer's unsupported/fallback branch. Sender-only search also runs over **all** rooms including unencrypted ones, so this is the common path, not an edge case. ### How to trigger Search with only a `from:@user` filter in a room where that user has joined/left or reacted. ### Suggested fix In sender-only mode restrict to `isMessageLike || isSticker` (the same predicate used for text mode), or explicitly allow-list the renderable types. --- _Filed from the September 2026 client audit (branch `lotus` @ 4bea4895)._
jared added this to the Audit 2026-09 · Medium & Low milestone 2026-09-12 01:51:21 -04:00
jared added the priority: lowuxarea: messaging labels 2026-09-12 01:51:21 -04:00
jared self-assigned this 2026-09-12 01:51:21 -04:00
jared closed this issue 2026-09-12 20:29:01 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#62