.kilo/plans/jetbrains-session-ui-icons-header.md
Improve JetBrains session UI icon consistency and reduce accidental header interactions:
packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/views/SessionViewIcons.kt and loaded from frontend/src/main/resources/icons/views/*.svg.views SVGs already mirror the shared VS Code/UI icon paths from packages/ui/src/components/icon.tsx for the audited names, including brain, chevron-down, chevron-right, checklist, console, warning, etc.SessionViewIcons.eye in ReasoningView.kt; VS Code/shared UI uses the brain icon for reasoning/thinking surfaces, and SessionViewIcons.brain already exists.SessionViewIcons.chevronDown when expanded and SessionViewIcons.chevronRight when collapsed in AbstractSessionPartView.kt; QuestionResultView.kt repeats this pattern manually. The down/right SVG paths have different visual extents.SessionHeaderPanel.kt, making the two actions easy to confuse.Keep icon sources aligned with VS Code/shared UI
packages/ui/src/components/icon.tsx as the source for Kilo web/session glyph shapes.SessionViewIcons.kt entries against available JetBrains assets; only update or add SVGs if a session view uses a Kilo icon missing from frontend/src/main/resources/icons/views/.currentColor; use literal palette colors and dark variants where assets are added or changed.Fix reasoning icon
ReasoningView.kt, change the reasoning header glyph from SessionViewIcons.eye to SessionViewIcons.brain.ReasoningViewTest.kt by inspecting the rendered Swing label tree and asserting the reasoning icon is SessionViewIcons.brain.Normalize collapse/expand chevrons for session parts
chevronRight/chevronDown pair for collapsible session content./icons/chevron-down.svg / equivalent SessionViewIcons.chevronDown).AbstractSessionPartView.kt and QuestionResultView.kt to use the normalized chevron pair.QuestionView.kt navigation chevrons alone unless auditing shows they are being used for collapse/expand; those are previous/next controls, not expand/collapse controls.Relocate and change header show/hide details toggle
SessionHeaderPanel.kt, replace the custom header details chevron with platform AllIcons arrows/chevrons, e.g. collapsed = AllIcons.General.ArrowRight, expanded = AllIcons.General.ArrowDown.BorderLayout.WEST of the header row.Tests
SessionHeaderPanelTest.kt to assert:
AllIcons constants;AbstractSessionPartViewTest.kt to assert collapsible parts keep the same icon dimensions across collapsed/expanded states and no longer use the mismatched right/down pair.QuestionResultViewTest.kt similarly because it has its own chevron implementation.ReasoningViewTest.kt for the brain icon.Verification
packages/kilo-jetbrains/:
./gradlew test --tests "ai.kilocode.client.session.views.ReasoningViewTest" --tests "ai.kilocode.client.session.views.base.AbstractSessionPartViewTest" --tests "ai.kilocode.client.session.views.QuestionResultViewTest" --tests "ai.kilocode.client.session.ui.header.SessionHeaderPanelTest"./gradlew typecheck./gradlew test from packages/kilo-jetbrains/ instead.opencode files are involved; changes stay under packages/kilo-jetbrains/.