Skip to content

fix(desktop): route overlays on shadow-nous + ladder rungs, single scrim source - #4

Merged
adm01-debug merged 1 commit into
mainfrom
fix/hermes-h220661-overlayview-design
Aug 8, 2026
Merged

fix(desktop): route overlays on shadow-nous + ladder rungs, single scrim source#4
adm01-debug merged 1 commit into
mainfrom
fix/hermes-h220661-overlayview-design

Conversation

@adm01-debug

@adm01-debug adm01-debug commented Aug 8, 2026

Copy link
Copy Markdown
Owner

O que foi feito

Correção de conformidade com o contrato de design (apps/desktop/DESIGN.md) identificada em auditoria:

  1. OverlayView (Settings, Command Center, Cron, Profiles, Agents, Starmap) — o container de TODOS os route overlays usava z-50 literal + bg-black/22 + shadow-md + border-(--ui-stroke-secondary). Agora usa z-(--z-route-overlay-backdrop) + scrim-nous no backdrop e shadow-nous + border-(--stroke-nous) no card — o tratamento de floating panel exigido pelo DESIGN.md.
  2. Escada z-index — novos rungs --z-route-overlay-backdrop:100 / --z-route-overlay:110 em styles.css, abaixo de --z-modal-backdrop:120 (route overlays ficam sob dialogs, que abrem por cima).
  3. Scrim único — token --ui-scrim (color-mix #000 22%) + @utility scrim-nous (fill + blur 0.125rem) substituem as 4 cópias de bg-black/22 backdrop-blur-[0.125rem] em dialog.tsx, sheet.tsx, overlay-view.tsx e session-picker.tsx (que tinha bg-black/15 blur 1px — agora unificado em 22%/0.125rem).
  4. Sheetz-50z-(--z-modal-backdrop) / z-(--z-modal) (rungs corretos de modal).
  5. DESIGN.md — documenta scrim-nous, --ui-scrim e os rungs de route overlay.

Verificação

  • tsc -p . --noEmit — 0 erros
  • eslint nos 4 arquivos alterados — 0 erros
  • vitest (dialog, dialog-dismiss-repro, panel, no-native-title) — 9/9 passando
  • Revisão Claude Code: APROVADO (z 100/110 sem colisão, scrim 22%+0.125rem preservado, sheet em rung de modal correto)
  • Zero z-50 restantes nos overlays corrigidos; zero cópias de bg-black/22 fora de styles.css

Arquivos

  • apps/desktop/src/app/overlays/overlay-view.tsx
  • apps/desktop/src/components/ui/dialog.tsx
  • apps/desktop/src/components/ui/sheet.tsx
  • apps/desktop/src/components/session-picker.tsx
  • apps/desktop/src/styles.css
  • apps/desktop/DESIGN.md

6 arquivos, +33/-11.


Summary by cubic

Aligns desktop route overlays and sheets with the design contract. Fixes stacking under dialogs and centralizes the dim/blur layer.

  • Bug Fixes
    • Route overlays now use z-(--z-route-overlay-backdrop) + scrim-nous for the backdrop and shadow-nous + --stroke-nous for the card (replaces z-50, bg-black/22, shadow-md).
    • Z-index ladder adds --z-route-overlay-backdrop:100 and --z-route-overlay:110 under modal rungs; sheets move to --z-modal-backdrop / --z-modal.
    • Single scrim source: --ui-scrim token and scrim-nous utility replace duplicated scrim styles in dialog, sheet, overlay, and session picker (22% black + 0.125rem blur).
    • DESIGN.md documents the shared scrim and the new route-overlay rungs.

Written for commit b0edcd5. Summary will update on new commits.

Review in cubic

…rim source

- overlay-view: z-50 literal + bg-black/22 blur -> z-(--z-route-overlay-backdrop) + scrim-nous; card shadow-md + --ui-stroke-secondary -> shadow-nous + --stroke-nous (DESIGN.md floating-panel contract)
- styles.css: new ladder rungs --z-route-overlay-backdrop:100 / --z-route-overlay:110 (below dialogs); --ui-scrim token + @Utility scrim-nous as the single dim/blur source
- dialog/sheet/session-picker: replace duplicated bg-black/22 backdrop-blur-[0.125rem] copies with scrim-nous; sheet z-50 -> --z-modal-backdrop/--z-modal rungs
- DESIGN.md: document scrim-nous, --ui-scrim, route-overlay rungs
Copilot AI lite review requested due to automatic review settings August 8, 2026 21:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 47 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 34344c46-7331-4a71-96f5-172d1a0834b6

📥 Commits

Reviewing files that changed from the base of the PR and between 2a4329f and b0edcd5.

📒 Files selected for processing (6)
  • apps/desktop/DESIGN.md
  • apps/desktop/src/app/overlays/overlay-view.tsx
  • apps/desktop/src/components/session-picker.tsx
  • apps/desktop/src/components/ui/dialog.tsx
  • apps/desktop/src/components/ui/sheet.tsx
  • apps/desktop/src/styles.css

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

@adm01-debug
adm01-debug merged commit 8eef8a9 into main Aug 8, 2026
21 checks passed
@adm01-debug
adm01-debug deleted the fix/hermes-h220661-overlayview-design branch August 8, 2026 21:04
adm01-debug added a commit that referenced this pull request Aug 9, 2026
…#6)

Second pass of the DESIGN.md overlay-ladder audit (first pass: OverlayView,
PR #4). Ported menus and popovers off the z-50 literal onto the z ladder:

- context-menu.tsx / dropdown-menu.tsx / popover.tsx (Radix primitives,
  portaled to body): z-50 -> z-(--z-modal-popover) (140)
- starmap/node-context-menu.tsx: backdrop -> z-(--z-modal-backdrop),
  menu -> z-(--z-modal-popover)
- find-bar.tsx (fixed command surface): z-50 -> z-(--z-over-modal) (200)

Remaining z-50 are local in-component stacking (tree drop targets with
documented intent, composer/terminal overlays) — allowed by DESIGN.md
('plain z-10/z-20 for stacking within one component').

Verification: tsc 0 new errors (5 pre-existing frimousse dep errors),
eslint 0, vitest 60/60 (find-bar 48, no-native-title, starmap share).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants