diff --git a/apps/web/tests/smoke-real.e2e.ts b/apps/web/tests/smoke-real.e2e.ts index abe33ab5d1..42bdee397c 100644 --- a/apps/web/tests/smoke-real.e2e.ts +++ b/apps/web/tests/smoke-real.e2e.ts @@ -511,6 +511,16 @@ describe.skipIf(!process.env.DEEPSEEK_API_KEY || notReady.length > 0)('web smoke it('2+3 empty-state first send completes a real model round', async () => { onTestFailed(() => saveFailureShot(page, 'w5-first-round')) + // This scenario spawns its own server against a fresh $DSH_HOME, so the + // first-run welcome notice is unacknowledged and its overlay owns pointer + // events (the shared scaffold acknowledges it before boot instead). The + // notice is anchored structurally, not by its copy: this spec sits in the + // client TypeScript program, which does not reference the package that + // owns the strings. + const welcome = page.locator('[class*="onboardingOverlay"]') + await welcome.waitFor({ timeout: 15_000 }) + await welcome.getByRole('button').click() + await welcome.waitFor({ state: 'detached', timeout: 15_000 }) // Fresh world: connect a Workspace so the composer starts live. await connectFreshWorkspace(page, sessionsDir) const input = page.locator('textarea').first() diff --git a/apps/web/tests/web-search-round.e2e.ts b/apps/web/tests/web-search-round.e2e.ts index 804c7a70ca..e887fb8e35 100644 --- a/apps/web/tests/web-search-round.e2e.ts +++ b/apps/web/tests/web-search-round.e2e.ts @@ -109,7 +109,7 @@ describe('web e2e: shipped default web search', () => { tripwire = watchConsole(page) await page.goto(scaffold.baseUrl, { waitUntil: 'load' }) await page.waitForSelector('[class*="frame"]', { timeout: 30_000 }) - await connectFreshWorkspace(page) + await connectFreshWorkspace(page, scaffold.workspaceCwd) }, 120_000) afterAll(async () => {