Skip to content

Fix mobile command popover glass rendering - #6370

Merged
juliusmarminge merged 1 commit into
mainfrom
fix-popup-glass-rendering
Aug 12, 2026
Merged

Fix mobile command popover glass rendering#6370
juliusmarminge merged 1 commit into
mainfrom
fix-popup-glass-rendering

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Aug 12, 2026

Copy link
Copy Markdown
Member

What Changed

Updated the mobile composer command popover to use the shared GlassSurface component instead of rendering Liquid Glass or a manual fallback surface directly.

Why

Using the shared glass surface keeps the popover's rendering consistent across supported and unsupported platforms while removing duplicated glass and fallback styling logic.

UI Changes

The command popover's visual surface implementation changed. Before/after screenshots are not included.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Note

Low Risk
Localized UI surface swap in the composer popover with no auth, data, or API changes; visual parity may differ slightly where GlassSurface’s platform fallback differs from the old manual styles.

Overview
Refactors the composer command popover surface so it no longer branches on @callstack/liquid-glass or hand-rolled View fallback styles in PopoverSurface.

PopoverSurface now wraps its children in the shared GlassSurface with glassEffectStyle="clear" and the same light/dark tint values as before, while keeping the existing border radius and overflow on the outer style.

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

Note

Fix glass rendering in mobile command popover

Replaces the conditional LiquidGlassView/View rendering in ComposerCommandPopover.tsx with a single GlassSurface wrapper using glassEffectStyle="clear" and a dark-mode-aware tintColor. This removes the isLiquidGlassSupported check and the explicit backgroundColor/border styling from the fallback path.

Macroscope summarized 059d083.

- Replace the direct liquid-glass/fallback rendering with `GlassSurface` for consistent popup glass rendering
@coderabbitai

coderabbitai Bot commented Aug 12, 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 Plus

Run ID: a6c1a478-683d-48a5-b491-20fc5a5b1b4a

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

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:S 10-29 changed lines (additions + deletions). labels Aug 12, 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 1 potential issue.

Fix All in Cursor

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

Reviewed by Cursor Bugbot for commit 059d083. Configure here.

>
{props.children}
</View>
</GlassSurface>

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.

Clear glass fights default chrome

Medium Severity

PopoverSurface requests glassEffectStyle="clear" on GlassSurface but leaves chrome at its default. That paints --color-glass-surface, a border, and shadow/elevation onto the clear glass path, and on unsupported platforms it replaces the prior near-opaque composer-matched panel with a more transparent elevated card. Other floating GlassSurface call sites pass chrome="none" and supply their own fallback chrome.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 059d083. Configure here.

@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 11.3 KiB 11.3 KiB −3 B (−0.0%) 15.1 KiB
Codex Thread snapshot wire 5.5 KiB 5.5 KiB 0 B (0.0%) 7.3 KiB
Codex Live turn WebSocket wire 5.9 KiB 5.9 KiB −3 B (−0.0%) 7.8 KiB
Codex Live turn WebSocket decoded 49.7 KiB 49.7 KiB 0 B (0.0%) 66.4 KiB
Codex Live turn messages 16 16 0 (0.0%) 21
Claude Total thread wire 11.3 KiB 11.3 KiB +9 B (+0.1%) 15.1 KiB
Claude Thread snapshot wire 5.5 KiB 5.5 KiB −1 B (−0.0%) 7.3 KiB
Claude Live turn WebSocket wire 5.9 KiB 5.9 KiB +10 B (+0.2%) 7.8 KiB
Claude Live turn WebSocket decoded 50.6 KiB 50.6 KiB 0 B (0.0%) 66.4 KiB
Claude Live turn messages 16 16 0 (0.0%) 21

Baseline: 8d24b51 · PR result: 059d083 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 94.6 KiB
  • Claude decoded thread snapshot: 95.4 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@macroscopeapp

macroscopeapp Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved 059d083

Simple UI refactor replacing inline glass effect logic with the shared GlassSurface component. The change is self-contained and low-risk. Note: the Medium-severity Bugbot finding about the missing chrome="none" prop meets the blocking threshold and will require resolution.

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

@juliusmarminge
juliusmarminge merged commit 18918d1 into main Aug 12, 2026
18 checks passed
@juliusmarminge
juliusmarminge deleted the fix-popup-glass-rendering branch August 12, 2026 20:21
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Aug 12, 2026
## What's Changed
* fix(web): align update toast release notes link by @t3-code[bot] in pingdotgg/t3code#6322
* fix(web): render tooltips above dropdowns by @extoci in pingdotgg/t3code#6241
* fix(web): open modified PR clicks in browser by @t3-code[bot] in pingdotgg/t3code#6278
* Fix mobile command popover glass rendering by @juliusmarminge in pingdotgg/t3code#6370
* test(mobile): seed snoozed showcase threads by @PixPMusic in pingdotgg/t3code#5155
* fix(web): preserve appearance mode when changing themes by @extoci in pingdotgg/t3code#6343
* feat(connect): deregister account environments from any client by @StiensWout in pingdotgg/t3code#4844
* feat(web): pull request surfaces — filters & qualifiers, all-server listing, update branch, reactions, in-place editing, smarter diffs by @Bil0000 in pingdotgg/t3code#6039


**Full Changelog**: pingdotgg/t3code@v0.0.34-nightly.20260812.1077...v0.0.34-nightly.20260812.1079

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.34-nightly.20260812.1079
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 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.

1 participant