Make composer access and thinking menus opaque - #106
Merged
Conversation
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Opaque access-menu surface — the Workspace access popover (
composer.tsx:1848) swaps its translucentbg-control/80fill for the opaquebg-popovertoken, keeping geometry, open/close animation, and item selection styling intact. It was the onlybg-control/80remaining in the file at base, so the whole-file absence assertion added tocomposer.test.tsxis precise. - Opaque thinking/effort tray —
thinking-control.tsxswitches the hover and focus-within tray fills frombg-control/80tobg-popover(container and selected pill), preserving thebg-transparentresting state, shadows, expansion behavior, and roving-tabindex keyboard handling. - Unit test updates —
composer.test.tsxandthinking-control.test.tsxpin the new surfaces and forbidbg-control/80; all 15 focused tests pass locally. - Rendered Electron regression — a new e2e at the end of
chat-shell-interactions.spec.tsSSR-renders the realThinkingControlmarkup in a tsx subprocess (Playwright's JSX transform can't) and asserts, for both aiden light and dark schemes, that the hover- and focus-opened menus resolve to the exact--surface-popovercolor at opacity 1, keep the keyboard focus ring, and collapse back to transparent. Thergb()probe precondition fails if a translucent popover token ever returns. - Papercuts log entries for the worktree/dependency friction encountered.
I verified the load-bearing claims independently: --surface-popover is opaque in both schemes (preset raised plus the CSS fallbacks), the global unlayered :focus-visible outline rule outranks Tailwind v4's layered outline-none utilities so focus rings are preserved, and no other translucent selector-popover fills remain in the renderer. The fill swap is the right direction — the tray genuinely overlays the composer/chat region when expanded, so the opaque surface is what keeps text from bleeding through.
DeepSeek Flash | 𝕏
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Opening the composer's access or thinking selector lets underlying chat text show through its translucent control fill. Use the existing opaque popover surface for the access menu and expanded thinking menu, preserving collapsed thinking styling, selection shadows, and keyboard behavior.
Validation: 15 focused unit tests, build, focused lint, Electron test type-check, existing access keyboard Electron test, and a new rendered Electron regression covering light/dark themes and hover/focus states. Independent subagent review found no outstanding issues.