diff --git a/.gitea/workflows/e2e-chat.yml b/.gitea/workflows/e2e-chat.yml index b029654f7..4e6e887d7 100644 --- a/.gitea/workflows/e2e-chat.yml +++ b/.gitea/workflows/e2e-chat.yml @@ -124,7 +124,6 @@ jobs: # renamed/moved spec or stray test.only can no longer green the lane. # - REQUIRE-LIVE guard in "Run Playwright E2E tests" → chat==true must # actually execute >=1 test, else exit 1. - # - chat-desktop "activity log" test no longer swallows its assertion. # STILL BLOCKS PROMOTION: # - The echo round-trip asserts on rendered "Echo: ..." text but never # asserts the echo runtime actually RECEIVED the A2A request diff --git a/canvas/e2e/chat-desktop.spec.ts b/canvas/e2e/chat-desktop.spec.ts index 02f4c7404..aa48f6db9 100644 --- a/canvas/e2e/chat-desktop.spec.ts +++ b/canvas/e2e/chat-desktop.spec.ts @@ -127,18 +127,6 @@ test.describe("Desktop ChatTab", () => { await expect(chat.getByText("Echo: Please read this file")).toBeVisible({ timeout: 15_000 }); }); - - test("activity log appears during send", async ({ page }) => { - const textarea = page.locator("#panel-chat textarea").first(); - await textarea.fill("Trigger activity"); - await page.getByRole("button", { name: /Send/ }).first().click(); - - // The activity log renders inline in the current ChatTab layout while the - // agent is thinking. It must become visible during the send flow and then - // clears once the response arrives. - const activityLog = page.locator("#panel-chat [data-testid='activity-log']").first(); - await expect(activityLog).toBeVisible({ timeout: 10_000 }); - }); }); test.describe("Desktop ChatTab — Markdown rendering", () => { diff --git a/canvas/e2e/fixtures/echo-runtime.ts b/canvas/e2e/fixtures/echo-runtime.ts index 55b5e4b3f..69be2eeda 100644 --- a/canvas/e2e/fixtures/echo-runtime.ts +++ b/canvas/e2e/fixtures/echo-runtime.ts @@ -145,21 +145,16 @@ export async function startEchoRuntime(): Promise { ? "Echo: received your file(s)." : "Echo: hello"; - // Allow the activity-log assertion in chat-desktop.spec.ts to observe - // the thinking state before the instant echo reply clears it. - const delayMs = text === "Trigger activity" ? 800 : 0; - setTimeout(() => { - const response = { - jsonrpc: "2.0", - id: rpc.id ?? null, - result: { - parts: [{ kind: "text", text: replyText }], - }, - }; + const response = { + jsonrpc: "2.0", + id: rpc.id ?? null, + result: { + parts: [{ kind: "text", text: replyText }], + }, + }; - res.writeHead(200); - res.end(JSON.stringify(response)); - }, delayMs); + res.writeHead(200); + res.end(JSON.stringify(response)); } catch { res.writeHead(400); res.end(JSON.stringify({ error: "invalid json" }));