fix(mobile): stop thread messages reading through pending cards - #5450
Conversation
The approval and user-input cards float over the thread feed with nothing blurring what is behind them, so their 0.8 alpha lets the message under the card show through the questions. On a request with several questions the card covers most of the screen and the whole conversation reads through it. Make the two surfaces opaque. Alpha is the only thing that changes; the colors are the same neutral-100 / neutral-900 they already resolved to. Model: Claude Opus 5. Harness: T3 Code. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
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 Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Approved 1b5c3e8 Pure visual fix changing card backgrounds from translucent (80% opacity) to opaque to prevent thread messages from showing through. No logic or runtime behavior changes beyond the styling. You can customize Macroscope's approvability policy. Learn more. |
The problem
PendingApprovalCardandPendingUserInputCardrender atbg-neutral-100/80 dark:bg-neutral-900/80, but they float overThreadFeedinside the composer overlay with nothing blurring the feed behind them — the app's actual glass surfaces go throughGlassSurface/expo-glass-effect, and these are plainViews. So the 0.8 alpha has no material to sample and simply lets 20% of the message underneath through the card: the thread's text reads over the questions.It is worst on an
AskUserQuestioncarrying several questions, where the card covers most of the screen and most of the conversation shows through it. Reported from an iPhone, dark mode, opening the thread from a user-input notification.The fix
Drop the alpha on the two card surfaces. The colors are unchanged —
neutral-100andneutral-900are what the translucent values already resolved toward — so opacity is the only property that moves. Two lines, one per card.Not converted to
GlassSurface: it brings its own 32px radius, border and shadow (a bigger visual change than the defect), and off iOS it falls back to a flat--color-glass-surfaceat 0.78, which is the same bleed-through. The option pills and the custom-answer input keep their alpha, since those now composite against the card rather than the feed.Verification
pnpm --filter @t3tools/mobile typecheck,vp lint, andvp fmt --checkon both files are green.No before/after images, and I want to be straight about why: the machine I'm on has neither Xcode nor the Android SDK, so I could not boot a simulator, and I would rather say that than pass a mockup off as a capture. The change is legible without one — the diff is
bg-neutral-100/80→bg-neutral-100anddark:bg-neutral-900/80→dark:bg-neutral-900— and any thread where an agent asks a question reproduces the before state. Happy to add captures if someone with a simulator wants to run it, or to close this if you would rather keep the translucency deliberate and add a blur behind the card instead.Related
Independent of #5288, which bounds and scrolls the same card stack but does not touch its surface. No file overlap, so the two can land in either order. (I sent a patch for that PR's open bot findings to its branch as KyleKincer#1.)
Model: Claude Opus 5. Harness: T3 Code.
Note
Low Risk
Pure mobile UI styling on two thread overlay cards; no logic, API, or data-path changes.
Overview
Fixes thread message text showing through pending approval and user input cards in the mobile thread composer overlay.
Those cards used 80% opacity backgrounds (
bg-neutral-100/80,dark:bg-neutral-900/80) while sitting on plainViews overThreadFeedwith no blur—so underlying messages bled through the surface. The change makes both card containers fully opaque with the same neutral colors and adds short comments explaining why translucency was removed.No behavior, layout, or child control styling changes beyond the card shell background classes.
Reviewed by Cursor Bugbot for commit 1b5c3e8. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Fix thread message text reading through pending cards by making backgrounds opaque
Sets the background of PendingApprovalCard and PendingUserInputCard to fully opaque in both light and dark themes. Previously, the
bg-neutral-100/80anddark:bg-neutral-900/80semi-transparent backgrounds allowed thread messages behind the cards to show through.Macroscope summarized 1b5c3e8.