Skip to content

fix(app): rise a new pane in without a view transition - #144

Merged
httpsphl merged 1 commit into
mainfrom
fix/pane-rise
Oct 4, 2026
Merged

httpsphl merged 1 commit into
mainfrom
fix/pane-rise

Conversation

@httpsphl

@httpsphl httpsphl commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Fixes an orange square that flashed for a moment on the header's mascot when switching chats.

Cause

As a view transition ended, WebView2 sometimes painted the header avatar without its clip path for about 70 ms (7 frames), showing the mascot's whole body rect. Recorded frame by frame in the installed app over CDP: with the view transition it showed up within seconds of switching chats, right as the transition finished; with view transitions off, about 30 switches and no square. A plain CSS rise, tried in the same app, showed none either, and the owner saw no flash.

Change

  • The main pane no longer goes through document.startViewTransition. The new bot's, crew's or page's pane rises in with a plain 240 ms opacity and transform animation (.pane-rise, fill backwards so nothing stays transformed after it). The old pane no longer fades out for 110 ms.
  • viewTransition() and reducedMotion() are gone; the view transition rules leave motion.css and motion-less.css. Less motion still stills the rise through the global animation rules.
  • Spec 15.3 says why.

Manual test with the real app

  1. Switch between bots for a minute, including the chief and bots at work.
  2. The new pane rises in; the header mascot never shows as a square.

As a view transition ended, WebView2 sometimes painted the header's
mascot without its clip for about 70 ms: an orange square. Recorded
frame by frame in the installed app, it showed up within seconds of
switching chats with the transition and never without it. The new
bot's or crew's pane now rises in with a plain opacity and transform
animation; the old pane no longer fades out.
@httpsphl
httpsphl enabled auto-merge October 4, 2026 03:28
@httpsphl
httpsphl merged commit 00a3872 into main Oct 4, 2026
4 checks passed
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