feat(room): reaction highlights recap page (LC-529) #502
Loading…
Reference in a new issue
No description provided.
Delete branch "longjacksonle/feat/LC-529-reaction-highlights"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds a per-room "Highlights" page that lists the most-reacted messages over the past 7 days, so a member who was heads-down can catch up on what popped. Reached from a new Highlights action in the room header (channels only; DMs 404 as a private 1:1 surface). Each row shows the author, a snippet, a jump-to-message link, and the emoji breakdown with counts.
It is a plain aggregate over
message_reactions(db::highlights::top_reacted), ranked by reactions RECEIVED IN THE WINDOW rather than message age, so an older message that gets a fresh burst still surfaces. Being non-LLM, it works with no AI configured - complementary to the LLM "catch me up" summaries. The page mirrors the pins page shape (routes::pinned): access-gated, sidebar chrome, a simple list; no WebSocket wiring (it is a pulled recap, not a live surface).Custom-emoji reactions render as their raw
:shortcode:text for now (the recap is a lightweight overview); unicode reactions render directly.Tests: db-layer ranking / window-exclusion / limit (db_highlights.rs); i18n parity (en + es); full
just test+just test-saas+just checkgreen.Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01NTRhc4n7A2uB2Y5PHV2ewL