Skip to content

fix(ui): contain expanded tool call rows - #3616

Merged
Astro-Han merged 2 commits into
apache:mainfrom
Astro-Han:fix/tool-call-overflow
Aug 23, 2026
Merged

fix(ui): contain expanded tool call rows#3616
Astro-Han merged 2 commits into
apache:mainfrom
Astro-Han:fix/tool-call-overflow

Conversation

@Astro-Han

@Astro-Han Astro-Han commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Keep expanded grouped tool-call rows within the conversation width when intents are long.
  • Reset the grid item's automatic minimum width so Astryx can ellipsize nowrap previews instead of using them as the grid track minimum.
  • Add a narrow Storybook regression that expands a long-intent group and checks every row remains within the turn.

Before and after

image

Verification

  • npm run lint
  • npm run format:check
  • npm --workspace @maka/desktop run typecheck
  • npm --workspace @maka/desktop run typecheck:stories
  • npm --workspace @maka/desktop run build:workspace-deps
  • npm --workspace @maka/desktop run build-storybook
  • Browser layout check at a 320 px turn width: affected rows shrink from 910 px before the fix to 328 px after it, including Astryx's intentional 8 px hover overhang.

AI use

  • No generative AI materially contributed to this pull request.
  • Generative AI materially contributed to this pull request.

Tool(s): Maka — diagnosis, implementation, regression story, browser verification, and PR drafting. The contributor must review and verify the final diff before merge.

Checklist

  • Tests cover the change and fail without it.
  • Lint, format, typecheck, and affected suites pass locally.
  • This changes user-visible behavior.

@Astro-Han
Astro-Han marked this pull request as ready for review August 23, 2026 13:33

@jackwener jackwener left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Review executed by the Kabi review agent on behalf of @WAWQAQ, scope: independent functional/CI review, exact head c2c2d5eb510ec72fb3b4f7a44a808432cb91d913.

[P1][① exact-head hosted path] packages/ui/stories/tool-activity.stories.tsx:261-263 cannot find the group disclosure it tries to click, so the new regression story fails before it ever reaches the width assertion. The query expects an accessible name matching 2 次工具调用 / 2 tool calls, but the actual Astryx header name is the latest call label + intent + 2 (for example, 只读探索 … request shape 2). Both the local CI-equivalent Storybook smoke and hosted run 32642340423 fail only at product-tool-activity--long-intent-group-narrow with this TestingLibraryElementError; hosted test is therefore completed/failure on this exact head.

The CSS change itself is correctly scoped: it adds min-width: 0 to the pre-existing Astryx inner-wrapper selector without changing the existing overflow: clip / sticky boundary. But the story currently provides no regression coverage because its play function never expands the group.

Minimal lift: click the group root's direct child [role="button"][aria-controls] (or a stable supported slot) rather than matching copy that Astryx does not expose, keep the existing geometry assertion, and verify mutation sensitivity: removing min-width: 0 must make the story fail. Then rerun Storybook smoke and the exact-head hosted check.

No other P0-P3 findings. COMMENT only; no approval or merge action.

@jackwener jackwener left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Technical incremental re-review of exact head 444b002e7583c07f012e0cc9ebf62ecb01bf1ee9, acting on behalf of @WAWQAQ under the standing Kabi review/publisher authorization.

GO — no live P0–P3. APPROVE; no merge action.

The old P1 is closed. The repaired Storybook play locates the real group disclosure through the group root's direct child [role="button"][aria-controls], expands it, and reaches the containment assertion. A fresh exact-head build and full smoke passed 173/173 stories.

The regression is mutation-sensitive: deleting only the production min-width: 0 rule, rebuilding Storybook, and rerunning the same smoke produced exactly one failure — product-tool-activity--long-intent-group-narrow — at the geometry assertion with 909.78125 not less than or equal to 328. The failure is therefore the intended expanded-row containment contract, not the previous accessible-name selector failure.

The new head changes only the story (+6/-2) relative to reviewed head c2c2d5eb5; product components, accessible names, DOM structure, and CSS are byte-identical. No product accessibility or structure was changed to accommodate the test. Three discussion endpoints were reconciled after provisional sealing: one old-head COMMENT containing the now-closed P1, no inline comments, and no issue comments.

Fresh action gate: OPEN, non-draft, MERGEABLE/BLOCKED only for review; exact-head hosted test is completed/success. This Agent-executed approval does not claim to satisfy any separate unresolved human-review wording.

@Astro-Han
Astro-Han merged commit 9e90b58 into apache:main Aug 23, 2026
1 check passed
@Astro-Han
Astro-Han deleted the fix/tool-call-overflow branch August 23, 2026 15:47
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