Skip to content

[fix] Polish the agent playground config panel and model picker - #6060

Open
ashrafchowdury wants to merge 4 commits into
mainfrom
fix/agent-config-panel-polish
Open

[fix] Polish the agent playground config panel and model picker#6060
ashrafchowdury wants to merge 4 commits into
mainfrom
fix/agent-config-panel-polish

Conversation

@ashrafchowdury

Copy link
Copy Markdown
Contributor

Context

Four small things read wrong in the agent playground's config pane. The pane drew its own floating scrollbar on top of the content. The Instructions header carried a "+" that could never be clicked. The model picker opened at a fixed 560px no matter how wide the pane was, so in a narrow pane the model names ellipsized. The selected session tab sat a shade heavier than the rest of the chip row.

Changes

Scrollbars. The config pane rendered a custom OverlayScrollbar (a thumb absolutely positioned over the scroller). It is gone, and so is the component, since the pane was its only caller. The pane already hides its native bar through the shared ag-scroll-no-bar class, which now also sets -ms-overflow-style: none. Four panels that hid the bar with [&::-webkit-scrollbar]:w-0 alone, so Firefox still painted one, use the shared class instead. Coverage is now ::-webkit-scrollbar for Chrome and Safari, scrollbar-width for Firefox and Chromium 121+, and -ms-overflow-style for legacy Edge.

Instructions header. The permanently disabled "+" and its "Multiple instruction files coming soon" tooltip are removed. The header keeps its title, file count, and chevron.

Model picker. It was pinned to a fixed panel regardless of the pane it opened from.

Before:

providerDropdownWidth={560}
connectionColumnWidth={290}

After:

providerDropdownWidth="max(calc(var(--radix-popover-trigger-width) - 0.5rem), 460px)"
connectionColumnWidth={200}

The panel now spans its trigger, with a 460px floor so it never collapses below two readable columns. The - 0.5rem cancels PopoverContent's own padding, so the panel lands flush with the select instead of overhanging it by 8px. The model list is sized as panel - connectionColumn, which puts the freed width into the model names: 200px of provider column, 260px of names. This is per call site, so the completion playground's picker and the chat composer's /model panel keep their 560px geometry.

Session tab. The selected chip moves from a full colorFill step to color-mix(in srgb, var(--ag-colorFill) 90%, transparent), which is 10% less fill. Alpha goes from 0.15 to 0.135 in light, and from 0.18 to 0.162 in dark. Mixing toward transparent rather than toward white keeps the intent right in both themes: the chip moves 10% closer to whatever surface it sits on.

Tests / notes

  • prettier --check and tsc --noEmit pass for the touched projects (@agenta/entity-ui and web/oss).
  • These are visual values with no test coverage. The verification was by inspection.
  • 200px is about the floor for the provider column. A longer provider name such as "Google Vertex AI" will sit close to its ellipsis.

What to QA

  • Open an agent in the playground and scroll the config pane. No scrollbar appears, and full width rows still reach the pane edge. Repeat in Firefox, which is the browser the old class missed.
  • Switch to comparison view (two variants side by side) and scroll horizontally. No bar in Firefox there either.
  • The Instructions section header shows only the title, "1 file", and the chevron.
  • Open the Model dropdown with the config pane at its default width. Every model name reads in full. Drag the splitter wider and reopen: the panel grows with the selector. Drag it narrow: the panel holds at 460px.
  • Regression: open the model picker in the completion playground, and the /model panel in the chat composer. Both keep their previous width and column split.
  • Regression: with several chat sessions open, the selected tab still reads as selected next to the unselected ones. Check both light and dark.

The config pane drew a custom overlay thumb on top of its content; drop it
and rely on the shared ag-scroll-no-bar class instead. That class now also
sets -ms-overflow-style, and the panels that only zeroed ::-webkit-scrollbar
(Firefox still painted one) use it too.
The Instructions section header carried a permanently disabled "+" whose only
message was that multiple files are coming soon.
The picker was pinned to a 560px panel regardless of the pane it opened from.
It now spans the trigger with a 460px floor, and its provider column is 200px
so the model names get the rest.
The selected chip sat on a full colorFill step; hold it at 90% so it reads a
touch softer on the canvas in both themes.
@vercel

vercel Bot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agenta-documentation Ready Ready Preview Aug 15, 2026 8:19pm

Request Review

@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 90553cf4-0b4f-4f02-b3a7-d8b602087b30

📥 Commits

Reviewing files that changed from the base of the PR and between 0af145e and 73a8b56.

📒 Files selected for processing (6)
  • web/oss/src/components/AgentChatSlice/components/SessionTagBar.tsx
  • web/oss/src/components/OverlayScrollbar/index.tsx
  • web/oss/src/components/Playground/Components/MainLayout/index.tsx
  • web/oss/src/styles/globals.css
  • web/packages/agenta-entity-ui/src/DrillInView/SchemaControls/AgentTemplateControl.tsx
  • web/packages/agenta-entity-ui/src/DrillInView/SchemaControls/agentTemplate/ModelPickerControl.tsx
💤 Files with no reviewable changes (2)
  • web/oss/src/components/OverlayScrollbar/index.tsx
  • web/packages/agenta-entity-ui/src/DrillInView/SchemaControls/AgentTemplateControl.tsx

📝 Walkthrough

Summary by CodeRabbit

  • Style

    • Improved active session tag contrast with a semi-transparent background.
    • Updated scrollbar handling for more consistent behavior across browsers.
    • Refined comparison and generation panel scrolling and overflow styles.
  • UI Improvements

    • Removed the unavailable “Add instruction file” control.
    • Adjusted model picker sizing and reduced connection column width for a more compact layout.
    • Removed custom overlay scrollbar behavior.

Walkthrough

The changes remove the overlay scrollbar component, standardize hidden scrollbar styling, adjust active session tag contrast, remove an unused instruction-file control, and resize the model picker.

Changes

UI cleanup

Layer / File(s) Summary
Scrollbar migration
web/oss/src/components/OverlayScrollbar/index.tsx, web/oss/src/components/Playground/Components/MainLayout/index.tsx, web/oss/src/styles/globals.css
The overlay scrollbar component and its integration are removed. Playground panels use ag-scroll-no-bar, which now includes legacy Edge/IE scrollbar suppression.
Session tag styling
web/oss/src/components/AgentChatSlice/components/SessionTagBar.tsx
The active session tag uses a 90%-opacity mix of --ag-colorFill.
Playground control cleanup and sizing
web/packages/agenta-entity-ui/src/DrillInView/SchemaControls/AgentTemplateControl.tsx, web/packages/agenta-entity-ui/src/DrillInView/SchemaControls/agentTemplate/ModelPickerControl.tsx
The disabled “Add instruction file” button is removed. The model picker uses trigger-relative sizing, a 460px minimum width, and a 200px connection column.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 73a8b

This change updates localized playground presentation and sizing behavior; no actionable merge-blocking risk remains beyond normal checks and review.

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description check ✅ Passed The description clearly explains the scrollbar, Instructions header, model picker, and session tab changes.
Title check ✅ Passed The title clearly summarizes the main polish changes to the agent playground configuration panel and model picker.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/agent-config-panel-polish

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

Railway Preview Environment

Preview URL https://gateway-pr-6060.up.railway.app/w
Project agenta-oss-clone-spike
Image tag pr-6060-1bed298
Status Deployed
Railway logs Open logs
Workflow logs View workflow run
Updated at 2026-08-15T20:26:24.059Z

@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. frontend improvement ui labels Aug 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

frontend improvement size:L This PR changes 100-499 lines, ignoring generated files. ui

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant