Skip to content

fix(web): send button arrow no longer shifts on hover - #30122

Open
EmanuelMedinaAraujo wants to merge 1 commit into
pingdotgg:mainfrom
EmanuelMedinaAraujo:fix/send-button-arrow-hover
Open

EmanuelMedinaAraujo wants to merge 1 commit into
pingdotgg:mainfrom
EmanuelMedinaAraujo:fix/send-button-arrow-hover

Conversation

@EmanuelMedinaAraujo

@EmanuelMedinaAraujo EmanuelMedinaAraujo commented Nov 3, 2026 •

Copy link
Copy Markdown

Problem

The composer send button still scaled on hover via hover:scale-105, which made its arrow icon shift/scale. This is the same hover-scale issue previously fixed for the stop button in #16012.

Change

Remove hover:scale-105 and the now-unused disabled:hover:scale-100 from the send button in ComposerPrimaryActions.tsx. The button keeps its hover background/press feedback, but no longer scales on hover, so the arrow stays put.

Scope and approval

Small, focused UI fix in the web composer. Linked issue: #30123. No new capability or API change.

Verification

  • vp run check:changed passed: format, lint, knip, typecheck, React Compiler, and targeted tests.
  • Manual UI check: hovering the send button no longer scales or shifts the arrow icon; hover background and active press feedback remain.
screenrecording-2026-11-03_12-40-20.mp4

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Nov 3, 2026
@macroscopeapp

macroscopeapp Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at ff679bd

Macroscope's review found this PR approvable — Removes hover enlargement from the composer send button so its arrow stays visually stable. Submission behavior and disabled-state safeguards are unchanged.

You can add or adjust custom eligibility rules. Learn more.

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Walkthrough

The submit button no longer scales on hover. Its cursor and inset highlight are limited to the enabled state. Existing active and disabled styles remain.

Changes: Submit button styling

Layer / File(s) Summary
Enabled-state button styles
apps/web/src/components/chat/ComposerPrimaryActions.tsx
The submit button no longer scales on hover. The cursor and inset highlight apply only when the button is enabled.

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

Change: Bug fix

Suggested labels: bugfix, size:S

Suggested reviewers: t3dotgg

Merge Risk: Minimal · up to ff679

The styling change removes the hover shift while preserving the intended button states.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title "fix(web): send button arrow no longer shifts on hover" matches the changeset. The diff removes hover:scale-105 and the unused disabled:hover:scale-100 from the send button in ComposerPr…
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.
Description check Passed The description covers the problem, the code change, scope, linked issue, verification results, manual UI validation, and before/after recording. It does not include an explicit maintainer approval co…
Full details: Title check

Explanation

The title "fix(web): send button arrow no longer shifts on hover" matches the changeset. The diff removes hover:scale-105 and the unused disabled:hover:scale-100 from the send button in ComposerPrimaryActions.tsx, which stops the arrow from scaling on hover. It is a conventional commit title in plain language and names the primary change.

Full details: Description check

Explanation

The description covers the problem, the code change, scope, linked issue, verification results, manual UI validation, and before/after recording. It does not include an explicit maintainer approval comment, but it identifies the change as a small, focused fix and provides sufficient context.

Finishing Touches
Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between cefb544 and ff679bd.

Files selected for processing: 1
  • apps/web/src/components/chat/ComposerPrimaryActions.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

@juliusmarminge juliusmarminge added bugfix Fix PR opened by an issue lead; enters the PR loop pr:gate-failed A land gate failed labels Nov 3, 2026
@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor
Action not completed

Already reviewed the last commit. Use @coderabbitai full review to rerun a review of the entire changeset.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@maria-rcks

maria-rcks commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Note

Written by gpt-6.1-sol on behalf of Maria

Verified in a real dev environment

verified unchanged head ff679bd8b6438b7c4d2b417a59dc4707250a44c9 on linux with repo playwright and /usr/bin/google-chrome.

  • reproduced on github/main (cefb544af3c9) in a separate worktree after vp i: hover enlarged the send button from 32 to 33.6 px and its arrow from 14 to 14.7 px.
  • stopped main before starting the pr dev server. reused the isolated project and conversation created through the app, pointing at a real git repository. no mocks, fixtures, or replay provider.
  • on the pr, hover keeps the button at 32 px and arrow at 14 px, with unchanged coordinates. hover brightness and pressed feedback remain. also checked dark mode at 390 px wide, where the button remains 36 px on hover.
  • clicking send completed a real codex gpt-6.1-sol turn and displayed send button verified.. empty send stays disabled. stop generation returns to idle, and enter submits another real turn displaying keyboard send verified..
  • vp run check:changed cefb544af3c98224874419198c0359b652ca3c94 passed through blacksmith: format, lint, both knip checks, affected typechecks, and react compiler. existing github ci is green. no source changes were needed.

before, hovering on main, with matching conversation and draft:

main hover enlarges the send arrow

after, hovering on the pr:

pr hover keeps the send arrow stable

hover interaction followed by a real codex submission and response:

pr hover and real codex turn

Not verified

native electron, ios/android, macos/windows, other providers, and remote relay/tunnel connections were not exercised on this linux vm. resume, queue editing, and compact-send variants were not individually exercised. uploaded video playback and seeking were checked in t3's browser player.

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

Labels

bugfix Fix PR opened by an issue lead; enters the PR loop pr:gate-failed A land gate failed size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants