Forums Feature Requests Thread

[New] Messaging & chat: No search inside a conversation or chat-room history

Patrick Bass · Jun 6 · 16 · 1 Locked
[Normal Priority] [New Feature] [Deployed to Production]
🚀 OP Jun 6, 2026 5:50pm

Area: Messaging & chat (audit p4) · Surface: DM thread (showConversation) + chat rooms (ChatRoomController) · Dimension: competitor-gap · Severity: minor

Slack and Discord make in-conversation and in-channel search a core retention feature ('find that link someone shared last month'). We can find which conversation matched a term from the inbox, but once inside a thread there is no way to jump to a specific past message, and chat rooms can't even scroll past the most recent 100 messages. For a community product whose value compounds with accumulated discussion, unsearchable, unscrollable history is a real limitation.

Evidence

Inbox-level search exists (MessageController::inbox:49-56 builds a LIKE subquery on `$_GET['q']`), but inside a thread there is no search: grep 'search' in templates/messages/conversation.php returns nothing, and grep 'search' in ChatRoomController returns nothing. Chat rooms also cap history at 100 messages (ChatMessage::recentInRoom default limit=100, src/Models/ChatMessage.php:49) with no load-older path (no 'before='/loadMore/prepend in chat-rooms.js).

Suggested fix. Add a thread-scoped search box (jump-to-match + highlight) for DMs, an in-room search for chat rooms, and infinite-scroll-up history loading in chat (a since/before paginated endpoint already exists for forward polling — extend it backward).

Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.


Patrick Bass
@mobieus

🚀 Jun 7, 2026 11:14am

Shipped and deployed to production. Commit 315546830c.

Conversation search: GET /messages/{id}/search endpoint + client-side DOM highlighter (safe createTreeWalker walk, 300ms debounce, Escape to close, server fallback for paginated conversations).

Closed as: deployed.


Patrick Bass
@mobieus

Log in or register to reply to this thread.