Skip to content

feat(dashboard): Show conversation memories in popovers - #2641

Merged
thomasjiangcy merged 3 commits into
mainfrom
feat/dashboard-memory-popovers
Nov 4, 2026
Merged

thomasjiangcy merged 3 commits into
mainfrom
feat/dashboard-memory-popovers

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Shows which memories a conversation recalled and captured, tied to the turn that did it. This follows the popover design agreed in #team-spec-eng.

Transcript

  • A "Recalled N memories" chip shows under the prompt that pulled memories in.
  • A "Captured N memories" row shows at the end of a turn that captured memories. It no longer collapses into the activity group.
  • Both open a popover with the full memory text and an "Open" link. One popover opens at a time.

Details panel

  • The memory card shows only counts (N recalled · N captured).
  • Clicking the card swaps the panel to one list of the conversation's memories, in conversation order, with a back arrow. Memory text is not truncated.
  • Clicking a memory scrolls the transcript to its prompt or turn, loads earlier pages if needed, and opens that popover with the memory highlighted.

API (hard cutover)

  • Core: PluginConversationEventRecord now includes an optional turnId.
  • Memory plugin: /conversations/:id/memories returns { events: [{ memoryIds, source, turnId }], memories: [{ id, content, visibility }] }. Recalled memories resolve from the store for the viewer. Captured memories come from the event snapshot.

Out of scope

  • Editing and deleting memories.
  • The turn context panel's "Recalled memories" card.

Open question: a captured private memory still shows to anyone who can see the conversation's private content, as before. A recalled private memory shows only to its owner. We should pick one rule.

Testing

  • Memory plugin tests, dashboard vitest, and conversation e2e specs (2 new tests in conversation-details.spec.ts) pass.
  • Lint and package typechecks pass. The repo-wide typecheck fails on tests/unit/conversations/web-batch-messages.test.ts (webActorFromEmail), the same as on main.

via @thomasjiangcy.

--

View Session [Sentry]

@vercel

vercel Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
junior-docs Ready Ready Preview Nov 4, 2026 7:53am UTC

Request Review

@github-actions github-actions Bot added the risk: high PR risk score: high label Nov 4, 2026
@blacksmith-sh

This comment has been minimized.

@cursor cursor Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread packages/junior-memory/src/api.ts Resolved
@sentry-junior

sentry-junior Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor Author

check / types and test / junior unit failed here because of a break on main, not this PR: web-batch-messages.test.ts imported webActorFromEmail, which #2630 removed (TS2305). #2643 fixed it on main as e35103a2d. Rebase onto main to clear those checks. ci / required failed only because those two did.

The test / dashboard e2e failure here (conversations-mobile.spec.ts:752) is a flaky test that #2643 also fixed, so the same rebase should clear it.

sentry-junior Bot and others added 2 commits November 4, 2026 07:39
Recalled memories open from a chip under the prompt that recalled them, and captured memories open from a row at the end of the Turn that captured them. Details show recalled and captured counts and open one list that jumps to each memory in the transcript.

The memory API now returns each recall and capture with its Turn. The plugin event reader returns the Turn id to make that possible.

Co-Authored-By: Thomas Jiang <20501235+thomasjiangcy@users.noreply.github.com>
…call

A recalled memory that is also in a capture snapshot now still needs store
access, so a captured private memory does not show as recalled to other
viewers. A prompt that starts more than one Turn shows a Recalled chip for
each Turn.

Co-Authored-By: Thomas Jiang <20501235+thomasjiangcy@users.noreply.github.com>
@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

33 screenshot changes — 27 changed · 6 added · 0 removed

Review screenshots in Frameshift

Automation Page · Desktop
Automation Page · Desktop
Changed
Automation Run Details · Desktop
Automation Run Details · Desktop
Changed
Automation Run Details Light · Desktop
Automation Run Details Light · Desktop
Changed
Conversation Attachment · Desktop
Conversation Attachment · Desktop
Changed
Conversation Attachment · Mobile
Conversation Attachment · Mobile
Changed
Conversation Attachment Modal · Desktop
Conversation Attachment Modal · Desktop
Changed
Show 12 more changed screenshots
Conversation Child Agent Drawer · Desktop
Conversation Child Agent Drawer · Desktop
Changed
Conversation Child Agent Page · Desktop
Conversation Child Agent Page · Desktop
Changed
Conversation Child Agents · Desktop
Conversation Child Agents · Desktop
Changed
Conversation Child Agents · Mobile
Conversation Child Agents · Mobile
Changed
Conversation Detail · Desktop
Conversation Detail · Desktop
Changed
Conversation Detail · Mobile
Conversation Detail · Mobile
Changed
Conversation Fork Dialog · Desktop
Conversation Fork Dialog · Desktop
Changed
Conversation Fork Dialog · Mobile
Conversation Fork Dialog · Mobile
Changed
Conversation Image Reply · Desktop
Conversation Image Reply · Desktop
Changed
Conversation Image Reply · Mobile
Conversation Image Reply · Mobile
Changed
Conversation Outbox Author · Desktop
Conversation Outbox Author · Desktop
Changed
Conversation Outbox Author · Mobile
Conversation Outbox Author · Mobile
Changed

9 more changed screenshots in Frameshift.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 9b93ad8. Configure here.

Event, context, and Automation prompts now show their Recalled chips, so a
memory list jump can find their Turns. A jump now waits for the transcript
and clears a search that would hide the row.
@thomasjiangcy
thomasjiangcy merged commit 5025587 into main Nov 4, 2026
46 checks passed
@thomasjiangcy
thomasjiangcy deleted the feat/dashboard-memory-popovers branch November 4, 2026 08:03

This branch was successfully deployed

1 active deployment
Preview – junior-docs — 14bfb650 Deployed Nov 4, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: high PR risk score: high

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant