From 2cad88bb22cbe276cbd53ce2aa0e6e32b4b35896 Mon Sep 17 00:00:00 2001 From: creatixchu Date: Mon, 19 Oct 2026 19:19:48 +0800 Subject: [PATCH] test(cua): report provider state when re-enabling stalls --- apps/web/tests/cua-permissions.e2e.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/web/tests/cua-permissions.e2e.ts b/apps/web/tests/cua-permissions.e2e.ts index ee5664e059..364e528c5e 100644 --- a/apps/web/tests/cua-permissions.e2e.ts +++ b/apps/web/tests/cua-permissions.e2e.ts @@ -166,12 +166,24 @@ it.skipIf(process.platform !== 'darwin')('keeps system requests pending until fr }) try { const toggle = page.locator('[data-plugin-panel]').getByRole('switch', { name: 'Enable Computer Use', exact: true }) + const policy = Reflect.get(scaffold.ctx.cuaAccess, 'policy') for (let cycle = 0; cycle < 3; cycle++) { await toggle.click() await expect.poll(() => toggle.getAttribute('aria-checked')).toBe('false') await expect.poll(() => toggle.isEnabled()).toBe(true) await toggle.click() - await expect.poll(() => toggle.getAttribute('aria-checked')).toBe('true') + try { + await expect.poll(() => toggle.getAttribute('aria-checked')).toBe('true') + } catch (error) { + console.error('CUA enable diagnostics', { + cycle, active: policy.active.size, clients: policy.clients.size, pending: policy.options.store.pending.size, + entries: [...scaffold.ctx.loader.entries()].filter(entry => /cua|hmr/.test(entry.options.name)).map(entry => ({ + id: entry.id, disabled: entry.disabled, state: entry.fiber?.state, pending: entry.fiber?.inertia !== undefined, + })), + page: await panel.textContent(), + }) + throw error + } const setup = page.getByRole('dialog', { name: 'Set up Computer Use before use', exact: true }) await setup.getByRole('button', { name: 'Later', exact: true }).click() await expect.poll(() => panel.getAttribute('aria-busy')).toBe('false')