feat(vscode): preview display settings with a live sample session - #14346
Conversation
Add a looping sample conversation beside the Display settings so users can see how reasoning, edit, terminal, and generic tool blocks render with the current options before saving. Reuse the production message components with local sample data. Playback pauses when hidden, follows new content unless the user scrolls away, and keeps a fixed canvas height to avoid layout flicker. Add Review first and High autonomy display presets to settings. They use the same display defaults as onboarding, which now also covers code edit and MCP tool visibility and keeps the task timeline visible.
Code Review SummaryStatus: 1 Issue Found | Recommendation: Address before merge Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (2 files, incremental c3f2962..87d9db6)
Fix these issues in Kilo Cloud Previous Review Summaries (2 snapshots, latest commit c3f2962)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit c3f2962)Status: 1 Issue Found | Recommendation: Address before merge Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (2 files)
Resolved since the previous review: the Fix these issues in Kilo Cloud Previous review (commit 2c4df4e)Status: 2 Issues Found | Recommendation: Address before merge Overview
Both findings are non-blocking suggestions. Core playback logic, preset plumbing, and state cleanup were reviewed and look correct. Issue Details (click to expand)SUGGESTION
Notes from review
Fix these issues in Kilo Cloud Files Reviewed (25 files)
Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0 Review guidance: REVIEW.md from base branch |
…e-ui-settings-preview
…ilo-Org/kilocode into prototype-ui-settings-preview
Preset detection repeated the per-select default fallbacks, so a default changed in one place could silently stop a preset button from highlighting. Define the display defaults once and read them in both the preset check and the individual controls.
The Display tab gained a substantial preview panel with no Storybook story. Add a full-width story that renders the real tab with its two-column layout, and exclude it from pixel baselines because the preview plays a continuous streaming loop that lands on an indeterminate frame.
There was a problem hiding this comment.
The intent is good but I am not usually happy to see setInterval around when we're dealing with a highly reactive library where signals should dictate operations, not computed values each 50ms but if there is no better way I am happy to not block this PR, although I think we should try to avoid intervals any time we could, these can be very blocky and expensive and rarely run when needed or even if needed, the guard around previewDuration also feels a bit weird ... anyway, this could land.
|
Follow-up for the interval note: #14352 replaces the 50 ms tick with requestAnimationFrame and derives the phase from the elapsed time, which also drops the end-of-loop guard and the per-cycle remount. |
What Problem This Solves
Display settings control how session content starts collapsed or expanded, but the effect is hard to judge from the labels alone. Reviewing a change meant leaving settings, running a session, and coming back to adjust the same options.
Why This Change Was Made
getDisplayPresethelper that onboarding uses, so the defaults cannot drift apart.User Impact
Evidence
Manual verification in an isolated VS Code instance:
Automated checks from
packages/kilo-vscode/:bun run compile,bun run knip,bun run check-kilocode-change, and 102 focused tests pass.