Skip to content

fix(app): align the running-task stack on one edge and one radius - #59795

Open
opencode-agent[bot] wants to merge 1 commit into
devfrom
session-stack-radii
Open

opencode-agent[bot] wants to merge 1 commit into
devfrom
session-stack-radii

Conversation

@opencode-agent

Copy link
Copy Markdown
Contributor

The stack at the bottom of a running turn (subagent card, "Move to background", the activity pill, the composer) had three corner radii and three left edges.

Radii

Everything in the stack now uses 10px, which the composer and user bubbles already use:

  • Subagent task card surface (and its "delegating" placeholder): 8px → 10px
  • Composer lane pills (activity, todo, plugin): 12px → 10px

Alignment

  • Move to background: when the hint leads its row, it is pulled back by the small ghost button's 9px inline padding, so its label sits on the timeline text column instead of 9px inside it. If the working shimmer leads the row, nothing changes.
  • Composer lane pills: the lane is inset by the timeline turn padding (px-4 md:px-6) less the composer region's px-3. Start-aligned pills now line up with the timeline text, and end-aligned pills with the user bubbles, instead of sitting on the composer's wider edge. Center alignment is unchanged.

Measured at a 1000px viewport: the text column, task card, hint label and pill all start at x=152 (before: 152 / 152 / 161 / 140). Radii are 10 / 10 / 10 (before: 8 / 12 / 10).

Visual

<svg xmlns="http://www.w3.org/2000/svg" width="240" height="72" viewBox="0 0 240 72" fill="none">
  <style>
    .p{animation:s 3s ease-in-out infinite alternate}
    @keyframes s{from{transform:translateX(-6px)}to{transform:translateX(0)}}
    @media (prefers-reduced-motion:reduce){.p{animation:none}}
  </style>
  <line x1="40" y1="4" x2="40" y2="68" stroke="currentColor" stroke-opacity=".35" stroke-dasharray="2 2"/>
  <rect x="40" y="6" width="96" height="16" rx="5" fill="currentColor" fill-opacity=".18"/>
  <rect x="40" y="29" width="62" height="6" rx="3" fill="currentColor" fill-opacity=".35"/>
  <rect class="p" x="40" y="40" width="56" height="12" rx="5" stroke="currentColor" stroke-opacity=".5" fill="currentColor" fill-opacity=".08"/>
  <rect x="34" y="56" width="180" height="14" rx="5" fill="currentColor" fill-opacity=".12"/>
</svg>

Verification

  • e2e/regression/settings.spec.ts: background activity alignment (en, ar)
  • e2e/regression/timeline-geometry.spec.ts (all 10 pass)
  • bun typecheck in packages/app and packages/session-ui, bun run lint:changed, prettier

This is a CSS/class-only change with no new rendering work, so no benchmark was rerun.

Requested by: @R44VC0RP (vogel via Slack)

@opencodejr opencodejr Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found no problems with this change. On the base and with this PR, I loaded the same running-subagent session in Playwright and measured where each element starts. With the PR, the timeline text, task card, "Move to background" label and activity pill all start on the same edge, and the card and pill corners are both 10px. On the base, the pill sat 12px further left and the corners were 8px and 12px. All 60 tests in timeline-geometry.spec.ts and settings.spec.ts pass, and tsc -b passes in packages/app and packages/session-ui.

The public API is unchanged.

Before

After

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant