Skip to content

Fix composer context strip alignment and glass shell#4404

Merged
maria-rcks merged 2 commits into
mainfrom
t3code/fix-composer-bottom-strip
Jul 23, 2026
Merged

Fix composer context strip alignment and glass shell#4404
maria-rcks merged 2 commits into
mainfrom
t3code/fix-composer-bottom-strip

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Jul 23, 2026

Copy link
Copy Markdown
Member

Summary

  • Align the composer context strip and constrain branch selector content.
  • Refine composer glass-shell structure and visibility for non-Git projects.
  • Remove preview color-scheme emulation APIs and simplify publish asset restoration.

Testing

  • Not run (no test results provided).

Dark Mode

CleanShot 2026-07-24 at 00 29 35@2x CleanShot 2026-07-24 at 00 29 51@2x

Light Mode

CleanShot 2026-07-24 at 00 30 18@2x CleanShot 2026-07-24 at 00 30 34@2x

Note

Low Risk
UI-only layout and CSS changes to the chat composer; branch toolbar visibility narrows slightly when there is no active project.

Overview
Refactors the chat composer chrome so the branch/environment context strip visually attaches to the composer as one piece, with tighter horizontal alignment and safer overflow on the branch selector.

The composer is wrapped in a chat-composer-glass-shell around the existing chat-composer-glass-host. When the context strip is shown, chat-composer-glass-shell-with-context drives a single blurred glass layer (via clip-path) across the rounded composer and the strip below, with split borders/outlines so the seam stays clean in light and dark mode.

BranchToolbar now renders only when showComposerContextStrip is true (isGitRepo and an active project), not for Git repos without a project. The strip container width/padding is adjusted (w-[calc(100%-2.75rem)], symmetric px-1), and the branch combobox trigger gets max-w-full so long branch names truncate inside the strip.

Reviewed by Cursor Bugbot for commit 504bd76. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix composer context strip alignment and glass shell styling

  • Wraps the chat composer in a new chat-composer-glass-shell div that merges the composer and context strip into a single continuous glass surface when both are visible.
  • The BranchToolbar now renders only when both isGitRepo and activeProject are non-null, replacing the previous isGitRepo-only condition.
  • Refactors the glass surface CSS in index.css to use clip-paths and a new :after pseudo-element on .chat-composer-glass-host to keep the attachment seam open and avoid double borders.
  • Adjusts BranchToolbar container width and padding and adds max-w-full to the branch selector trigger to fix overflow in narrow layouts.
  • Behavioral Change: the context strip toolbar is now hidden when no active project exists, even in Git repos.

Macroscope summarized 504bd76.

- Align branch toolbar controls with the composer width
- Extend the composer glass surface into the context strip
- Hide the strip when no Git repository or project is active
@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 23ddcc42-6571-4350-a117-070c5e1236df

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/fix-composer-bottom-strip

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jul 23, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.

Fix All in Cursor

Bugbot Autofix is ON, but a cloud agent failed to start.

Reviewed by Cursor Bugbot for commit 4ba78d4. Configure here.

Comment thread apps/web/src/index.css
22px 100%,
0 100%
);
content: "";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Composer bottom border gap

Medium Severity

The composer outline pseudo-element always uses a bottom clip-path notch meant for the context strip, but that strip (and its outline) only render when showComposerContextStrip is true. For non-Git projects, drafts without a project, and other cases where the strip is hidden, the composer keeps a missing segment along the bottom border with nothing to complete it.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4ba78d4. Configure here.

Comment thread apps/web/src/index.css
calc(100% - var(--chat-composer-context-extension) - 9.85px),
line to 0 22px,
close
);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Joined glass needs shape()

Medium Severity

The continuous composer-plus-strip glass background depends on clip-path: shape(...), with no @supports fallback. On browsers that do not implement CSS shape() for clip-path, the clip is dropped while border-radius: 0 still applies, so the unified glass silhouette and side alignment can break for Git sessions that show the context strip.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4ba78d4. Configure here.

@macroscopeapp

macroscopeapp Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This UI styling fix has two unresolved review comments identifying potential visual bugs: a border gap when the context strip is hidden, and missing browser fallback for CSS shape(). These issues should be evaluated before merging.

You can customize Macroscope's approvability policy. Learn more.

- Add subtle border and layered background treatment
- Deepen the dark-mode shadow for clearer separation
@maria-rcks
maria-rcks merged commit 6ef7aa8 into main Jul 23, 2026
16 checks passed
@maria-rcks
maria-rcks deleted the t3code/fix-composer-bottom-strip branch July 23, 2026 22:32
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
cursor Bot pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 25, 2026
…4309pingdotgg#4488) (#187)

* fix(client-runtime): keep a warm thread un-settled despite a merged/closed PR (pingdotgg#4309)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit 193e3c6)

* Fix composer context strip alignment and glass shell (pingdotgg#4404)

(cherry picked from commit 6ef7aa8)

* Polish iOS git progress overlay with glass effects (pingdotgg#4387)

(cherry picked from commit ce467da)

* Improve composer glass fallbacks (pingdotgg#4406)

Co-authored-by: codex <codex@users.noreply.github.com>
(cherry picked from commit 67a7b1a)

* feat(web): collapse large git diffs by default to make chat more readable (pingdotgg#4409)

(cherry picked from commit 51672b6)

* Stop new threads inheriting checkout/branch from viewed thread (pingdotgg#4411)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit 2f41c07)

* fix: tone down branch-mismatch banner (pingdotgg#4416)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit fc3f78f)

* fix: Claude Code skills discoverable for the composer $ picker (pingdotgg#4414)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit 6b9a598)

* fix(web): keep settled threads reachable when opened directly (pingdotgg#4413)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit bb38c33)

* feat(sidebar-v2): thread snoozing (pingdotgg#4311)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria <maria@kuuro.net>
(cherry picked from commit 202e560)

* Upgrade Clerk packages and Expo integration (pingdotgg#4440)

(cherry picked from commit 5d17354)

Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>

* Increase light-mode contrast for user message bubbles (pingdotgg#4441)

(cherry picked from commit 15e875a)

* Restore model picker layout and retain iterative test state (pingdotgg#4450)

Co-authored-by: codex <codex@users.noreply.github.com>
(cherry picked from commit f7cc776)

* Color settled PR labels on hover (pingdotgg#4451)

Co-authored-by: codex <codex@users.noreply.github.com>
(cherry picked from commit a7ee309)

* [codex] Fix glass hover compositing artifacts (pingdotgg#4446)

Co-authored-by: codex <codex@users.noreply.github.com>
(cherry picked from commit ece0508)

* Add Claude Opus 5 model (pingdotgg#4472)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Theo Browne <me@t3.gg>
(cherry picked from commit 41a430a)

* feat(web): add collapse-all toggle to diff panel (pingdotgg#4475)

(cherry picked from commit 38cfc25)

* feat(web): show fast mode as a bolt instead of a "Normal" label (pingdotgg#4488)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 5719e8a)

* fix(sync): preserve Droid medium-access with Auto runtime mode

Keep fork-only medium-access in RuntimeMode alongside upstream Auto.
Update presentation maps and drop obsolete provider kind from slug helper.

Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>

* fix(sync): restore fork release and runtime-mode adaptations

Keep WSL node-pty on bullseye glibc, pin releases to the fork, and stop
hard-requiring upstream relay/npm publish. Scope Auto vs Medium access by
provider, normalize carried modes on new threads, and fix Claude/Droid
type regressions from the restack.

Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>

* fix(sync): refresh lockfile after Clerk upgrade restack

Align patchedDependencies hashes (react-native-screens) and importer
entries with the current workspace patches so frozen CI installs succeed.

Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>

---------

Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>
Co-authored-by: tomlit <tomlit@gmail.com>
Co-authored-by: jan <hi@4bs3nt.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants