Skip to content

feat(app): tag other sessions with @ and link them in messages - #57480

Merged
kitlangton merged 1 commit into
betafrom
session-mentions
Oct 20, 2026
Merged

kitlangton merged 1 commit into
betafrom
session-mentions

Conversation

@kitlangton

@kitlangton kitlangton commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Add recent-first session suggestions to @, searchable by title through the same createServerSessionEntries loader used by Home and the command palette.
  • Insert title chips in the composer and serialize @session:ses_<26 alphanumeric characters>. Correct subsequent file, agent, and skill offsets; restore chips when editing or undoing a prompt.
  • Share parsing and .markdown-session-link rendering between user text and assistant markdown. Known IDs show current titles; unknown IDs stay monospace. Links open the referenced session in its own tab on the current server.

History and model access

The previous implementation is in unmerged #54466 (29ad94eb2a, f22188542d, latest head 9920356280); it was not removed from beta. It used hidden metadata and appended IDs. This implementation puts the stable token directly in the message text.

A mention identifies a session; it does not attach its history. The existing SDK method is session.message.list, backed by GET /api/session/:sessionID/message. There is no built-in model tool for reading another session's history; an agent needs existing authenticated SDK/HTTP access to read it.

Verification

  • bun run check passed (36 typecheck tasks; existing lint warnings).
  • bun run lint:changed origin/beta passed.
  • 59 focused unit tests passed across parser, linkifier, prompt request/restoration/submission, editor actions, and history.
  • One composer e2e passed: select session → send stable token → click title chip → open target tab while retaining source tab.
  • Captured a virtual-clock-stepped 1280×800 clip (375 frames, 60fps, 6.25s) and dark/light stills. Uploaded to the review board and verified all three media URLs return HTTP 200.
  • Performance comparison is blocked: the unchanged production cold-session benchmark builds and launches but fails waitForStableTimeline at session-tab-switch-probe.ts:247. No before/after performance claim.
  • First CI run: Linux/Windows builds, unit suites, and session-ui component suites passed; the new composer mention e2e passed on both platforms. Two existing session-link tests were updated for title labels and unknown-ID monospace behavior. Other app failures also appear in beta run 39472373102, including Storybook mounting, timeline shortcuts, and message colors.
  • origin/beta advanced during CI. The latest direct changed-lint comparison now includes unrelated upstream changes and reports 55 findings in e2e/utils/timeline.ts and timeline-stream.spec.ts; changed lint against this branch's original base 22c3eb1241 remains clean.

Size

Production code: +327 / −82 LOC. Tests: +138 / −8 LOC. Recording scripts and artifacts are excluded from the commit. The two legacy session-link expectation updates are in #57509 (+14 / −7 test LOC); both targeted cases passed, including known-title keyboard navigation against a production build.

@kitlangton
kitlangton merged commit db6999e into beta Oct 20, 2026
13 of 19 checks passed
@kitlangton
kitlangton deleted the session-mentions branch October 20, 2026 19:05
@amrkmn amrkmn mentioned this pull request Oct 27, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant