Skip to content

feat(vscode): add prompt navigator rail to chat transcript - #12632

Merged
marius-kilocode merged 2 commits into
mainfrom
implement-sidebar-prompt-tiles
Jul 29, 2026
Merged

feat(vscode): add prompt navigator rail to chat transcript#12632
marius-kilocode merged 2 commits into
mainfrom
implement-sidebar-prompt-tiles

Conversation

@marius-kilocode

Copy link
Copy Markdown
Collaborator

The problem

Returning to a session — from history, the tab strip, or an Agent Manager card — means re-reading the transcript to reconstruct what was actually asked. The session title alone isn't enough to resume, so switching between sessions costs a scroll-back through the whole conversation before you can follow up.

What this adds

A prompt navigator rail on the left edge of the chat transcript: one tick per prompt you sent. Hovering or focusing it expands a floating card that lists those prompts with a short preview of the answer next to each, and clicking a tick or row jumps the transcript straight to that turn. The goal is to answer "what did I ask here?" without reading the transcript.

The rail and its card always render the same set of prompts, so tick count and row count stay 1:1. Only as many prompts are shown as fit the transcript height — the newest are kept and older ones simply aren't drawn, so long sessions degrade to a shorter list instead of overflowing or scrolling the card.

Layout-wise the rail is absolutely positioned into the transcript's existing left inset, so it never shrinks or shifts the readable lane at any width. When the panel is wide it sits 8px left of the centered lane; when narrow it clamps to the container edge, and in both regimes the transcript content stays clear of it. The card is centered on the tick group and kept inside the transcript, so it can't ride up over the task header or down over the composer.

Because ChatViewMessageList is shared, the rail appears in the sidebar, Kilo editor tabs, the sub-agent viewer, and Agent Manager (including when its diff or terminal panel narrows the chat pane) from one implementation, with no Agent Manager-specific code.

Screenshots

Sidebar (narrow):
Prompt rail in the narrow sidebar, card listing prompts with answer previews

Agent Manager:
Prompt rail in Agent Manager, card open in the gutter left of the transcript

Card detail:
Prompt rail card showing prompt prefixes with answer previews

Wide editor tab:
Prompt rail in a wide editor tab, rail in the empty gutter left of the readable lane

@marius-kilocode
marius-kilocode enabled auto-merge (squash) July 29, 2026 08:29
@marius-kilocode
marius-kilocode merged commit 0d853df into main Jul 29, 2026
25 of 26 checks passed
@marius-kilocode
marius-kilocode deleted the implement-sidebar-prompt-tiles branch July 29, 2026 08:35
@kilo-code-bot

kilo-code-bot Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (28 files)
  • .changeset/prompt-rail.md
  • packages/kilo-vscode/tests/unit/prompt-rail.test.ts
  • packages/kilo-vscode/webview-ui/src/components/chat/MessageList.tsx
  • packages/kilo-vscode/webview-ui/src/components/chat/PromptRail.tsx
  • packages/kilo-vscode/webview-ui/src/components/chat/prompt-rail.ts
  • packages/kilo-vscode/webview-ui/src/i18n/*.ts (18 locales)
  • packages/kilo-vscode/webview-ui/src/stories/chat.stories.tsx
  • packages/kilo-vscode/webview-ui/src/styles/chat.css
  • packages/kilo-vscode/webview-ui/src/styles/prompt-rail.css

Core logic (prompt-rail.ts: previewText, promptItems, capacity, railItems) is covered by real-implementation unit tests with no mocking. MessageList.tsx integration reuses the existing jump/virtualizer scroll path, properly guards ResizeObserver/rAF cleanup for the active-turn tracking, and the rail/card stay capacity-capped consistently. All changes are confined to Kilo-owned packages/kilo-vscode/ paths, so no fork-merge or kilocode_change concerns apply. i18n additions are consistent across all 18 locale files with matching placeholders. A changeset is present and written from the user's perspective.


Reviewed by claude-sonnet-5 · Input: 40 · Output: 7.5K · Cached: 1.4M

Review guidance: REVIEW.md from base branch main

t7tran pushed a commit to t7tran/kilocode that referenced this pull request Aug 14, 2026
…12632)

* feat(vscode): add prompt navigator rail to chat transcript

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: kilo-maintainer[bot] <kilo-maintainer[bot]@users.noreply.github.com>
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