From 410b13d765b53771679c6ed22672f48636d66d2a Mon Sep 17 00:00:00 2001 From: undefined Date: Tue, 24 Mar 2026 09:05:56 +0800 Subject: [PATCH] ui: interrupt old transition --- packages/ui-default/utils/base.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/ui-default/utils/base.ts b/packages/ui-default/utils/base.ts index 5dbf2f7d9..a09c464da 100644 --- a/packages/ui-default/utils/base.ts +++ b/packages/ui-default/utils/base.ts @@ -183,10 +183,15 @@ export const request = { }, }; +let transition: ViewTransition | null = null; + export async function withTransitionCallback(callback: () => (Promise | void)) { if (!document.startViewTransition || document.visibilityState === 'hidden') return callback?.(); - const transition = document.startViewTransition(callback); - return await transition.finished; + transition?.skipTransition?.(); + transition = document.startViewTransition(callback); + await transition.finished; + transition = null; + return null; } export async function setTemporaryViewTransitionNames(entries, vtPromise: Promise) {