From 0a041c2caa6ed7810ccf76cd6fa11851e79ac715 Mon Sep 17 00:00:00 2001 From: mofeng-git Date: Sat, 26 Sep 2026 00:57:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(web):=20=E4=BF=AE=E5=A4=8D=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E5=8F=B0=E5=B8=83=E5=B1=80=E5=8A=A8=E6=80=81=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=AE=8B=E7=95=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/components/ActionBar.vue | 12 ++++ web/src/views/ConsoleView.vue | 106 ++++++++++++++++++++++--------- 2 files changed, 87 insertions(+), 31 deletions(-) diff --git a/web/src/components/ActionBar.vue b/web/src/components/ActionBar.vue index 6bcee857..e1429e18 100644 --- a/web/src/components/ActionBar.vue +++ b/web/src/components/ActionBar.vue @@ -257,6 +257,18 @@ watch(locale, () => { }) watch([() => props.layout, () => props.showComputerUse, floatingCollapsed, minimalDisplayControls], () => { + // Layout changes can move this bar while its portal based controls are open. + // Close every transient surface first so no old portal remains attached to + // the document after the new layout is painted. + overflowMenuOpen.value = false + pasteOpen.value = false + atxOpen.value = false + videoPopoverOpen.value = false + hidPopoverOpen.value = false + audioPopoverOpen.value = false + msdDialogOpen.value = false + mobileAtxOpen.value = false + mobilePasteOpen.value = false void observeLayout() }) diff --git a/web/src/views/ConsoleView.vue b/web/src/views/ConsoleView.vue index 99afd5b6..953b5fa7 100644 --- a/web/src/views/ConsoleView.vue +++ b/web/src/views/ConsoleView.vue @@ -3263,7 +3263,6 @@ onUnmounted(() => { /> -
- - - +
+ +
{