Compare commits

...

2 Commits

Author SHA1 Message Date
Cursor Agent
301c42fa61
test(web): warm up lazy Plot import before chart-links matrix
The inert-link E2E is the first spec that mounts ChartCanvas, so CI can
spend longer than the default expect timeout loading Observable Plot.
Prime the module with a safe fixture navigation before the href matrix.

Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
2026-10-04 00:41:07 +00:00
Claude
35d1f923e9
test: look up the home main conversation in the scheduling journey
Since every project has its own main conversation, the journey that
schedules for a specialist found the user's main conversation with
findFirst over all of them. With the Lab project's conversation also
matching, it picked either one, so the check failed about one run in
three. The lookup now names the home space, where the specialist joined
and the routine is created.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u
2026-10-03 23:45:43 +00:00
2 changed files with 6 additions and 1 deletions

View File

@ -4,6 +4,10 @@ import { captureScreenshot } from "./helpers";
const fixture = "/e2e/fixtures/chart-links.html";
test("chart links cannot execute script when clicked or expanded", async ({ page }, testInfo) => {
test.setTimeout(120_000);
// ChartCanvas lazy-loads Observable Plot; pay the import cost once before the matrix below.
await page.goto(`${fixture}?${new URLSearchParams({ href: "#details", inspect: "0" })}`);
await expect(page.locator("svg circle").first()).toBeVisible({ timeout: 90_000 });
for (const inspect of ["0", "1"]) {
for (const href of [
'javascript:void(document.body.dataset.plotExecuted="yes")',

View File

@ -1301,8 +1301,9 @@ describeJourneys("required product journeys", () => {
});
await joinMainConversation(prisma, { userId: me.userId, botIds: [writer.id] });
// Lab has a main conversation of its own; the home one is where Writer joined.
const conversation = await prisma.chatGroup.findFirstOrThrow({
where: { userId: me.userId, kind: "main" },
where: { userId: me.userId, spaceId: main.spaceId, kind: "main" },
include: { thread: true },
});
const inMain = await scheduleAndWake("Writer", "main-digest");