Fix composer footer focus ring overflow#1865
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
- Split footer composer controls into memoized subcomponents - Separate reusable new-thread logic from route-aware hook - Add composer draft model selector and thread-jump hint cleanup
- Change the chat composer footer from `overflow-hidden` to `overflow-visible` - Prevent clipped focus outlines in the composer controls
3adc3ea to
36b481f
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Model picker filter inconsistent with effective locked provider
- Replaced
lockedProviderwitheffectiveLockedProviderin both thesearchableModelOptionsfilter condition (line 615) and its memo dependency array (line 627) to match theselectedProviderderivation.
- Replaced
Or push these changes by commenting:
@cursor push ecb04b6094
Preview (ecb04b6094)
diff --git a/apps/web/src/components/chat/ChatComposer.tsx b/apps/web/src/components/chat/ChatComposer.tsx
--- a/apps/web/src/components/chat/ChatComposer.tsx
+++ b/apps/web/src/components/chat/ChatComposer.tsx
@@ -612,7 +612,7 @@
const searchableModelOptions = useMemo(
() =>
AVAILABLE_PROVIDER_OPTIONS.filter(
- (option) => lockedProvider === null || option.value === lockedProvider,
+ (option) => effectiveLockedProvider === null || option.value === effectiveLockedProvider,
).flatMap((option) =>
modelOptionsByProvider[option.value].map(({ slug, name }) => ({
provider: option.value,
@@ -624,7 +624,7 @@
searchProvider: option.label.toLowerCase(),
})),
),
- [lockedProvider, modelOptionsByProvider],
+ [effectiveLockedProvider, modelOptionsByProvider],
);
// ------------------------------------------------------------------You can send follow-ups to the cloud agent here.
Reviewed by Cursor Bugbot for commit 36b481f. Configure here.
ApprovabilityVerdict: Approved This PR contains a minor CSS fix (changing overflow-hidden to overflow-visible to prevent focus ring clipping) and test maintenance (updating fixture dates to 2036 to future-proof tests). Changes are purely visual/test-related with no runtime logic impact. You can customize Macroscope's approvability policy. Learn more. |
- Add medium font weight to the runtime mode trigger - Keeps the footer control aligned with the updated focus ring
Co-authored-by: codex <codex@users.noreply.github.com>
- Use far-future fixture dates to avoid expiry edge cases - Accept either "Copy" or "Show link" button text


Summary
ChatViewcomplexity and isolate interaction state.Testing
bun fmt,bun lint,bun typecheck, andbun run test.Note
Low Risk
Low risk UI/test-only changes: tweaks composer footer overflow and minor styling, plus updates browser panel tests to use future-dated sessions and accept updated button labeling.
Overview
Fixes chat composer footer focus ring clipping by changing the footer container from
overflow-hiddentooverflow-visibleinChatComposer.tsx, and slightly adjusts the runtime mode trigger styling (font-medium).Updates
SettingsPanels.browser.tsxbrowser tests to use far-futureissuedAt/expiresAttimestamps and to tolerate a label change by matching the pairing-link action button asCopyorShow link.Reviewed by Cursor Bugbot for commit 91a2e92. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Fix focus ring clipping in the chat composer footer
Changes the composer footer container in ChatComposer.tsx from
overflow-hiddentooverflow-visibleso focus rings on footer controls are no longer clipped. Also addsfont-mediumto the runtime modeSelectTriggerinComposerFooterModeControls.Macroscope summarized 91a2e92.