From b01426be5dbe603013b41b12320586baa2f6a2fc Mon Sep 17 00:00:00 2001 From: Alexander Brown <448862+DrJKL@users.noreply.github.com> Date: Sat, 31 Jan 2026 01:17:00 -0800 Subject: [PATCH] fix: remove setTimeout anti-pattern in toggleTheme Amp-Thread-ID: https://ampcode.com/threads/T-019c134d-cf30-7028-aca7-cfc6227c90ef Co-authored-by: Amp --- browser_tests/fixtures/ComfyPage.ts | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/browser_tests/fixtures/ComfyPage.ts b/browser_tests/fixtures/ComfyPage.ts index d1cc90130..054698f03 100644 --- a/browser_tests/fixtures/ComfyPage.ts +++ b/browser_tests/fixtures/ComfyPage.ts @@ -23,9 +23,7 @@ import { DebugHelper } from './helpers/DebugHelper' import { NodeOperationsHelper } from './helpers/NodeOperationsHelper' import { SubgraphHelper } from './helpers/SubgraphHelper' import type { Position } from './types' -import type { - NodeReference -} from './utils/litegraphUtils' +import type { NodeReference } from './utils/litegraphUtils' dotenv.config() @@ -82,18 +80,19 @@ class ComfyMenu { } async toggleTheme() { + const currentTheme = await this.getThemeId() await this.themeToggleButton.click() - await this.page.evaluate(() => { - return new Promise((resolve) => { - window['app'].ui.settings.addEventListener( - 'Comfy.ColorPalette.change', - resolve, - { once: true } + await this.page.waitForFunction( + (prevTheme) => { + const settings = window['app']?.ui?.settings + return ( + settings && + settings.getSettingValue('Comfy.ColorPalette') !== prevTheme ) - - setTimeout(resolve, 5000) - }) - }) + }, + currentTheme, + { timeout: 5000 } + ) } async getThemeId() {