8000 feat(timeline): say who gave each reaction, on hover by adeelahmad · Pull Request #651 · adeelahmad/lense · GitHub
[go: up one dir, main page]

Skip to content

feat(timeline): say who gave each reaction, on hover - #651

Merged
adeelahmad merged 1 commit into
mainfrom
claude/project-thread-pf8kii
Oct 19, 2026
Merged

adeelahmad merged 1 commit into
mainfrom
claude/project-thread-pf8kii

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Requested by Adeel · project thread

Description

Before: a reaction on the timeline showed only how many gave it and whether you did. Nobody could see who.

After: hovering a reaction chip reads "You, Sam and 3 others": you first, then up to five of the others by name, earliest first, then how many more. A closed line of several items does the same over its summed chips. Each reaction in the API (GET /api/v1/activities, POST /activities/{id}/react) and MCP react_to_activity carries who, the same names.

How: event_reactions._tally keeps the order people reacted in (by at, then account) and names the first five others with events_content.actors, in one extra query per page. The page's reactedBy writes the hover line; sumReactions merges names across a line's items.

Motivation and Context

A refine-later item from the reactions and comments step (#570) of the activity stream design (thread above): "Who gave each reaction, on hover". Follows #643 and #646.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change; ! in the title)

Checklist:

  • The title is a Conventional Commit.
  • My code follows the code style of this project (make hooks checks it on commit).
  • I added or updated tests.
  • My change requires documentation updates, and I have updated docs/ accordingly.
  • Users need more than the title to understand it, so I wrote it as a fragment in changelog.d/ (timeline-who-reacted.md).

Done questions (AGENTS.md)

  • Goal: who gave a reaction, where reactions show; merged on green CI.
  • Agents: who on every reaction in the API and MCP react_to_activity and timeline.
  • Zero setup: nothing to configure.
  • Fewest clicks: a hover, no click.
  • Configurable: n/a, no new setting.
  • Light: one small name lookup per page, for at most five people per emoji.
  • Private and secure: names are shown only to those who already see the activity and its reactions, the same people who can see who commented. No new surface for the threat model.
  • Cost: no model call.
  • User decides: n/a, nothing acts; defaults unchanged.
  • Upgrades: nothing stored changes shape; at was already on every reaction row.
  • Honest: docs/timeline.md says what the hover shows and the API shape, and drops the refine-later line.
  • Tested and documented: test_timeline_social.py (test_a_reaction_names_who_else_gave_it_earliest_first_up_to_five, and who in the existing shapes); jest timeline-social-model.test.ts (a reaction's hover says who gave it…, names merged across a line) and timeline-ui.test.tsx (the hover on a line and on a chip); OpenAPI client regenerated with make openapi; docs timeline.md, requirements.md, changelog.d.
  • Open standards: n/a; no new dependency.
  • Reported: result goes back in the thread; refine later: nothing new.
  • Reuse: events_content.actors for names, the existing chips and their title; no new machinery.

Local CI (ci/local-ci.sh) on this head: running; CI on the PR decides the merge.


Generated by Claude Code

Each reaction now carries `who`: up to five of the others who gave it, by
name, earliest first. Hovering a chip on the timeline reads "You, Sam and
3 others". The API, MCP react_to_activity and the page carry it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ln25ykE6uBDqx21WBU94SX
@adeelahmad
adeelahmad merged commit 3dd5cca into main Oct 19, 2026
12 checks passed
@adeelahmad
adeelahmad deleted the claude/project-thread-pf8kii branch October 19, 2026 02:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0