Skip to content

fix(web): keep abort next to Send by default - #988

Merged
heavygee merged 3 commits into
tiann:mainfrom
junmo-kim:feat/composer-abort-button-last
Jul 31, 2026
Merged

fix(web): keep abort next to Send by default#988
heavygee merged 3 commits into
tiann:mainfrom
junmo-kim:feat/composer-abort-button-last

Conversation

@junmo-kim

@junmo-kim junmo-kim commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Summary

The composer toolbar is customizable, but defaults still matter. Asking each user to manually reposition Abort for a predictable layout shifts a basic UX decision onto them.

Abort is a transient control used while a turn is running, so the default now keeps it at the end of the toolbar, immediately next to Send. Saved custom orders remain unchanged.

Change

  • derive the default toolbar order from the registered items with Abort appended last
  • leave item registration and missing-item normalization order unchanged
  • add a regression test for the exact default order

Before / After

The red callout is added only to make the Abort position easy to compare.

Before — mid-toolbar After — next to Send
Before: Abort in the middle of the default composer toolbar After: Abort next to Send in the default composer toolbar

Test plan

  • bun typecheck
  • bun run test
  • Isolated Hub + Vite + Playwright render of the default Chat settings toolbar, with saved toolbar state cleared

Abort's position shifted with conditional siblings (terminal/switch/
schedule), making the destructive action's location unpredictable.
Move it to the last child of the left button group so it's always
immediately left of Send — pure JSX reorder, no markup/props/handler
changes.

@github-actions github-actions 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.

Findings
No findings.

Questions
None.

Summary
Review mode: initial
No issues found in the latest diff. Residual risk: this is a UI ordering change and I did not run a browser render in this automated review.

Testing
Not run (automation)

HAPI Bot

Keep the product default predictable without changing saved custom order or the registry used to append missing items.

@github-actions github-actions 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.

Findings
No findings.

Questions
None.

Summary
Review mode: follow-up after new commits
No issues found in the latest diff. Residual risk: this review did not execute PR code; UI render behavior depends on the existing toolbar-layout consumer and persisted custom layouts remain intentionally unchanged.

Testing
Not run (automation; PR code not executed)

HAPI Bot

@junmo-kim junmo-kim changed the title refactor(web): pin abort button to end of composer left cluster fix(web): keep abort next to Send by default Jul 28, 2026
@junmo-kim

Copy link
Copy Markdown
Contributor Author

Updated this to work with the recently merged customizable toolbar. Abort ended up in the middle of the default toolbar when I added Scheduled in #590. Since it is only relevant while a turn is running, keeping it next to Send makes the default action area more predictable; saved custom layouts remain untouched.

swear01 added a commit to swear01/hapi that referenced this pull request Jul 29, 2026
@heavygee heavygee added the low-impact Focused / low-blast-radius change; estate lane B promote candidate (PR merge policy) label Jul 31, 2026
@heavygee
heavygee merged commit 7704397 into tiann:main Jul 31, 2026
2 checks passed
@junmo-kim
junmo-kim deleted the feat/composer-abort-button-last branch July 31, 2026 23:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

low-impact Focused / low-blast-radius change; estate lane B promote candidate (PR merge policy)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants