Skip to content

fix(ui): overlays show above the page, plus Edge polish - #94

Merged
lippdev merged 2 commits into
mainfrom
fix/ui-polish
Oct 21, 2026
Merged

lippdev merged 2 commits into
mainfrom
fix/ui-polish

Conversation

@lippdev

@lippdev lippdev commented Oct 21, 2026

Copy link
Copy Markdown
Owner

Summary

Bug (pre-existing): tab views are native WebContentsViews stacked above the shell document, so the controller keyboard, the … menu, the tab grid and the permission prompt all opened behind the web page. On a real Windows window only the toolbar dimmed, as confirmed with desktop screenshots. The e2e suite checks the DOM rather than the composited screen, so it never caught this.

  • Keyboard: it reports its height (chrome-height.bottom) and the page ends above it, staying live so you can see what you type.
  • Modal overlays: the shell paints a JPEG snapshot of the page (shell:snapshot) and then sends page-cover, so the live view steps aside without flicker. Both commands are validated in isShellCommand and unit-tested.
  • Status and toasts: they move into the toolbar (shield and controller indicators, a toast pill in the address bar), which is the only place the shell is visible. The hardcoded English "STARTING · TV IDENTITY ON" startup toast is removed.

Polish

  • In window mode the … menu drops down from its button like Edge's; in TV mode it stays centred. The menu items now have distinct icons.
  • The caption button shows the Restore glyph while the window is maximised (maximized added to the shell state).
  • History and favourites never linked tokens.css, so they rendered unstyled. They are now styled, and their search fields are typed search.
  • --faint goes from 50% to 62%, keeping WCAG AA on the new greys and on the Light theme.

Test plan

  • npm run typecheck
  • npm test (101 passed)
  • npm run test:e2e (47 passed, 3 skipped)
  • Real desktop screenshots on Windows: keyboard, menu, tab grid and toolbar indicators are all visible over a live page

🤖 Generated with Claude Code

lippdev and others added 2 commits October 21, 2026 14:11
The tab views are native views stacked above the shell's document, so the
controller keyboard, the menu, the tab grid and the permission prompt all
opened behind the web page: on a real window only the toolbar dimmed. The
e2e suite checks the DOM, not the composited screen, so it never noticed.

- The keyboard reports its height and the page ends above it, staying
  live so the field being typed into is in sight.
- A modal overlay paints a snapshot of the page and only then asks the
  live view to step aside (new `page-cover` command and `shell:snapshot`
  channel, both validated).
- Toasts and the ads/controller status moved into the toolbar, the only
  place the shell can be seen; the untranslated startup toast is gone.

Polish found on the way: the `…` menu drops down from its button in window
mode with distinct icons, the caption shows Restore while maximized, the
history and favourites pages now load the design tokens (they never did,
so they rendered unstyled), and faint text is raised to keep WCAG AA on
the new greys.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Notepad and PowerShell 5 write UTF-8 with a BOM, which JSON.parse refuses:
the app then started with every setting at its default (welcome screen,
TV mode). Found running the packaged build on Windows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@lippdev
lippdev merged commit 639f4dd into main Oct 21, 2026
5 checks passed
@lippdev
lippdev deleted the fix/ui-polish branch October 21, 2026 17:24
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.

1 participant