From 83a483a06d231106f065cefbcdffdeef6d1fbc1c Mon Sep 17 00:00:00 2001 From: pengx17 Date: Tue, 27 May 2025 03:14:12 +0000 Subject: [PATCH] fix(electron): optimize tab switching (#12518) fix AF-2670 ## Summary by CodeRabbit - **Style** - Updated styling so that opacity and transition effects apply only when a translucent background is present, enhancing visual precision. - **Chores** - Renamed a data attribute in the app container for improved consistency. - Disabled background throttling for specific views to maintain performance when running in the background. --- .../frontend/apps/electron-renderer/src/app/global.css | 8 ++------ .../apps/electron/src/main/windows-manager/tab-views.ts | 1 + .../core/src/desktop/components/app-container/index.tsx | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/packages/frontend/apps/electron-renderer/src/app/global.css b/packages/frontend/apps/electron-renderer/src/app/global.css index 215316b62..a338d5c56 100644 --- a/packages/frontend/apps/electron-renderer/src/app/global.css +++ b/packages/frontend/apps/electron-renderer/src/app/global.css @@ -10,20 +10,16 @@ textarea -webkit-app-region: no-drag; } -html[data-active='true'] { - opacity: 1; -} - html:is([data-active='false'], [data-dragging='true']) * { -webkit-app-region: no-drag !important; } -html[data-active='false'] { +html[data-active='false']:has([data-translucent='true']) { opacity: 0; transition: opacity 0.2s 0.1s; } -html[data-active='true']:has([data-blur-background='true']) { +html[data-active='true']:has([data-translucent='true']) { opacity: 1; transition: opacity 0.2s; } diff --git a/packages/frontend/apps/electron/src/main/windows-manager/tab-views.ts b/packages/frontend/apps/electron/src/main/windows-manager/tab-views.ts index 750f7ad89..0a9bebaf4 100644 --- a/packages/frontend/apps/electron/src/main/windows-manager/tab-views.ts +++ b/packages/frontend/apps/electron/src/main/windows-manager/tab-views.ts @@ -818,6 +818,7 @@ export class WebContentViewsManager { preload: join(__dirname, './preload.js'), // this points to the bundled preload module // serialize exposed meta that to be used in preload additionalArguments: additionalArguments, + backgroundThrottling: false, }, }); diff --git a/packages/frontend/core/src/desktop/components/app-container/index.tsx b/packages/frontend/core/src/desktop/components/app-container/index.tsx index 8160793dd..85c9d27dc 100644 --- a/packages/frontend/core/src/desktop/components/app-container/index.tsx +++ b/packages/frontend/core/src/desktop/components/app-container/index.tsx @@ -49,7 +49,7 @@ export const AppContainer = ({ 'blur-background': blurBackground, })} data-noise-background={noisyBackground} - data-blur-background={blurBackground} + data-translucent={blurBackground} > {children}