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