Skip to content

fix(vscode): align Agent Manager section header chevrons - #13991

Merged
marius-kilocode merged 3 commits into
mainfrom
fix-agent-manager-colon-button-styling
Sep 10, 2026
Merged

marius-kilocode merged 3 commits into
mainfrom
fix-agent-manager-colon-button-styling

Conversation

@marius-kilocode

Copy link
Copy Markdown
Collaborator

Collapsible Agent Manager section headers rendered inconsistently when expanded. The unified icon-button styles added in #13948 treat aria-expanded="true" as a visual active state, so every expanded section showed a persistent background block while collapsed sections stayed flat. The separate expanded and collapsed chevrons also draw at different weights, so the expanded arrow looked larger and heavier than the collapsed one.

This matters wherever a disclosure chevron uses the shared IconButton, which also includes the chat task header and the model selector expand toggle.

What changed

aria-expanded is a semantic disclosure attribute every toggle must set, so it should not imply a highlight. The ghost-button active rule in packages/kilo-ui/src/components/icon-button.css now keys only off the explicit data-expanded, data-active, and data-selected attributes, which intentional highlights such as the Agent Manager tab bar still pass.

Section headers now render a single chevron-right glyph and rotate it 90 degrees for the expanded state, so both states share one path and weight. The RTL override keeps the expanded chevron pointing down instead of being mirrored to the left.

Evidence

The screenshots render the real SectionHeader and shipped styles through this repository's Storybook harness, not a mockup. The two commits on this branch build no test-only code.

Agent Manager section headers before and after: expanded sections had a blue background block and a heavier down chevron; after, both states use the same plain chevron with a hover-only background

Computed styles from the same harness confirm the result: expanded and collapsed toggles both report rgba(0, 0, 0, 0) background, both render #opencode-icon-chevron-right at 16x16, and the expanded one applies rotate(90deg). A data-active toggle still highlights after a click, so intentional active states are unchanged.

Testing

From packages/kilo-vscode:

  • bun run typecheck, clean
  • bun run lint, clean
  • bunx prettier --check on the touched files, clean

The agentmanager-sections visual-regression baselines will change on Linux CI and the workflow regenerates them automatically.

How to test

  1. Open Agent Manager and create at least two sections.
  2. Leave one expanded and collapse another.
  3. Confirm both chevrons render as plain ghost icons of the same size and weight, with a background only on hover.

The unified icon-button styles treated aria-expanded="true" as a visual
active state. Disclosure chevrons set that attribute for accessibility, so
expanded Agent Manager section headers and chat task headers showed a
persistent background while collapsed ones did not. Explicit data-expanded,
data-active, and data-selected attributes continue to drive intended
highlights.
Render one chevron glyph and rotate it for the expanded state. The separate
chevron-down icon draws at a different weight, so expanded and collapsed
section headers looked inconsistent.
@kilo-code-bot

kilo-code-bot Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (16 files)
  • .changeset/fix-expanded-icon-button-background.md
  • packages/kilo-ui/src/components/icon-button.css
  • packages/kilo-vscode/webview-ui/agent-manager/SidebarSectionHeader.tsx
  • packages/kilo-vscode/webview-ui/agent-manager/agent-manager.css
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/agentmanager-sections/all-colors-chromium-linux.png
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/agentmanager-sections/empty-chromium-linux.png
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/agentmanager-sections/first-and-last-section-chromium-linux.png
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/agentmanager-sections/long-section-name-chromium-linux.png
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/agentmanager/multi-project-sidebar-200-chromium-linux.png
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/board-closed-chromium-linux.png
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/board-empty-chromium-linux.png
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/task-header-background-agents-200-chromium-linux.png
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/task-header-background-agents-420-chromium-linux.png
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/task-header-single-background-agent-420-chromium-linux.png
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/task-header-with-todos-all-done-chromium-linux.png
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/chat/task-header-with-todos-chromium-linux.png

Reviewed by grok-4.6 · Input: 333.5K · Output: 10.9K · Cached: 489.2K

Review guidance: REVIEW.md from base branch main

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