Skip to content

Kill the skeleton dialog's transition on swaps - #492

Open
fredrivett wants to merge 1 commit into
mainfrom
fredrivett/skeleton-swap-flash
Open

fredrivett wants to merge 1 commit into
mainfrom
fredrivett/skeleton-swap-flash

Conversation

@fredrivett

@fredrivett fredrivett commented Sep 15, 2026 •

Copy link
Copy Markdown
Owner

What & why

Follow-up to #491. That killed the flash when swapping between loaded items, but a transition remained on the skeleton path — when the swapped-to item isn't loaded yet and the seed skeleton shows first.

The loading ItemDialogSkeleton renders its own Radix Dialog, but unlike the real detail dialog it didn't suppress Radix's default enter animation (zoom-in-95 fade-in-0) or the backdrop fade. Since the skeleton only ever appears mid-swap (its seed comes from a similar-images click, which is always a swap), that made the swap zoom/fade through the loading frame.

Suppress those animations on the skeleton's DialogContent (and overlay) to match the real dialog, so it pops in instantly. The resolved dialog that follows is already instant (animateEntrance=false on a swap, from #491), so the whole dialog → skeleton → dialog path is now seamless.

Checklist

  • User-facing change → PostHog event, or N/A — pure animation fix
  • New error paths report via captureServerException / the error boundary, or N/A
  • New behavior is covered by tests, or N/A — visual/animation only (jsdom has no layout engine)
  • If this fixes a recurring defect, considered a guardrail, or N/A

Notes

Please confirm on deploy.


Summary by cubic

Removes the skeleton dialog's entrance transition on swaps so the swap no longer flashes through the loading frame.

The skeleton renders its own Radix Dialog but didn't suppress the default zoom/fade or backdrop fade, unlike the real detail dialog. This suppresses those animations on the skeleton's DialogContent and overlay, so it pops in instantly. Since the resolved dialog was already instant on swaps (#491), the whole dialog → skeleton → dialog path is now seamless. Please confirm on deploy.

Written for commit 276b278. Summary will update on new commits.

Review in cubic

The loading skeleton renders its own Radix Dialog but, unlike the real dialog,
didn't suppress Radix's default zoom/fade or the backdrop fade. Since the
skeleton only ever appears mid-swap (its seed comes from a similar-images
click), that made the swap flash through the loading frame. Suppress those
animations to match the real dialog so it pops in instantly; the resolved
dialog that follows is already instant (animateEntrance=false on a swap).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
abode Ignored Ignored Sep 15, 2026 5:35pm UTC

Request Review

@cubic-dev-ai cubic-dev-ai Bot 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.

No issues found across 1 file

Re-trigger cubic

This branch has not been deployed

No deployments
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