fix: remove setTimeout anti-pattern in toggleTheme

Amp-Thread-ID: https://ampcode.com/threads/T-019c134d-cf30-7028-aca7-cfc6227c90ef
Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
Alexander Brown
2026-01-31 01:17:00 -08:00
parent 681709f8e7
commit b01426be5d

View File

@@ -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() {