8000 feat(timeline): open one item by its address, and link comments, reactions and approvals to it by adeelahmad · Pull Request #646 · adeelahmad/lense · GitHub
[go: up one dir, main page]

Skip to content

feat(timeline): open one item by its address, and link comments, reactions and approvals to it - #646

Merged
adeelahmad merged 1 commit into
mainfrom
claude/project-thread-pf8kii
Oct 18, 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: nothing linked to one timeline item. A comment on an item, a reaction and an approval's "because" pointed at the timeline as a whole (or a word search on the summary), and a person had to find the item again by hand.

After: /timeline?item=<id> opens that item above the timeline, already expanded, with its details, marks, reactions, comments, what it caused and its actions, and Back to the timeline under it; the rest of the timeline still lists below. A comment on an item, a reaction (reaction.added gains object.url) and an approval's "because" now link there. One you can't see, or that isn't there, says "No such item". That is also the link an agent can give a person to an item it read with timeline.

How: the page reads item from the address beside the filters (it is not a filter, so changing filters drops it), loads the item with the existing GET /api/v1/activities/{id} and renders it with the same TimelineRow as any line. On the server, the comment activity's url, the reaction activity's new url and approvals._why (when the activity has no page of its own) point at it.

Motivation and Context

A refine-later item from the reactions and comments step (#570) of the activity stream design (thread above): "A comment.added on an activity links to the timeline, not yet to the item itself." Follows #635, #637, #642 and #643.

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-open-item.md).

Done questions (AGENTS.md)

  • Goal: a link to one item that opens it, from the places that talk about items; merged on green CI.
  • Agents: the address is a plain link agents can give; the item itself was already GET /api/v1/activities/{id} and MCP timeline.
  • Zero setup: nothing to configure.
  • Fewest clicks: the link opens the item expanded, no click to find or open it; one click back.
  • Configurable: n/a, no new setting.
  • Light: one small request for the item when the address names one; nothing else changes.
  • Private and secure: the same per-person visibility as the timeline (404 becomes "No such item"); nothing new stored. No new surface for the threat model.
  • Cost: no model call.
  • User decides: n/a, nothing acts; defaults unchanged.
  • Upgrades: nothing stored changes shape; links in activities already logged stay as they were.
  • Honest: docs/timeline.md says what the address does and drops the refine-later line; the reaction kind's schema lists the new url.
  • Tested and documented: jest timeline-ui.test.tsx (the address can name one item, opened above the timeline, with a way back: the item loaded and opened, the back link, the timeline still below, the missing one); test_timeline_social.py (a comment on an item links to it); the reaction sample validates in test_events_content.py; docs timeline.md, requirements.md, changelog.d.
  • Open standards: Activity Streams url on the object; no new dependency.
  • Reported: result goes back in the thread; refine later: scroll to and open an item that is already on the page instead of a second copy above.
  • Reuse: TimelineRow, the page's marks, reactions, comments and mute hooks, GET /activities/{id}; no new machinery.

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


Generated by Claude Code

…tions and approvals to it

/timeline?item=<id> opens that item above the timeline with its details,
marks, reactions, comments and actions, and a way back. A comment on an
item, a reaction and an approval's why now link there instead of to the
timeline as a whole.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ln25ykE6uBDqx21WBU94SX
@adeelahmad
adeelahmad merged commit ae6f114 into main Oct 18, 2026
12 checks passed
@adeelahmad
adeelahmad deleted the claude/project-thread-pf8kii branch October 18, 2026 17:55
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