Download packages/app/e2e/performance/timeline/session-tab-flash.spec.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 2.66 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/app/e2e/performance/timeline/session-tab-flash.spec.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/app/e2e/performance/timeline/session-tab-flash.spec.ts
-
curl -L -o session-tab-flash.spec.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/app/e2e/performance/timeline/session-tab-flash.spec.ts
2.66 kB
| import { benchmark, expect } from "../benchmark" | |
| import { expectSessionTitle } from "../../utils/waits" | |
| import { fixture } from "./session-timeline-stress.fixture" | |
| import { | |
| collectCachedRepaintTrace, | |
| compressCachedRepaintTrace, | |
| installCachedRepaintProbe, | |
| waitForCachedRepaintWindow, | |
| } from "./session-tab-repaint-probe" | |
| import { waitForStableTimeline } from "./session-tab-switch-probe" | |
| import { | |
| installStressSessionTabs, | |
| installTimelineSettings, | |
| mockStressTimeline, | |
| stressSessionHref, | |
| } from "./timeline-test-helpers" | |
| benchmark("samples cached session repaint after the click", async ({ page, report }) => { | |
| benchmark.setTimeout(120_000) | |
| await mockStressTimeline(page) | |
| await installStressSessionTabs(page) | |
| await installTimelineSettings(page) | |
| await page.goto(stressSessionHref(fixture.targetID)) | |
| await expectSessionTitle(page, fixture.expected.targetTitle) | |
| await waitForStableTimeline(page, fixture.expected.targetMessageIDs.at(-1)!) | |
| await page | |
| .locator(`[data-slot="titlebar-tabs"] a[href="${stressSessionHref(fixture.sourceID)}"]`) | |
| .first() | |
| .click() | |
| await expectSessionTitle(page, fixture.expected.sourceTitle) | |
| await waitForStableTimeline(page, fixture.expected.sourceMessageIDs.at(-1)!) | |
| await installCachedRepaintProbe(page, { | |
| targetHref: stressSessionHref(fixture.targetID), | |
| destination: fixture.messages[fixture.targetID].map((message) => message.info.id), | |
| source: fixture.messages[fixture.sourceID].map((message) => message.info.id), | |
| last: fixture.expected.targetMessageIDs.at(-1)!, | |
| windowMs: 1_000, | |
| }) | |
| await page | |
| .locator(`[data-slot="titlebar-tabs"] a[href="${stressSessionHref(fixture.targetID)}"]`) | |
| .first() | |
| .click() | |
| await Promise.all([expectSessionTitle(page, fixture.expected.targetTitle), waitForCachedRepaintWindow(page, 1_000)]) | |
| const result = await collectCachedRepaintTrace(page) | |
| report(compressCachedRepaintTrace(result)) | |
| expect(result.samples.length).toBeGreaterThan(0) | |
| }) | |
| benchmark("prefetches every open session tab", async ({ page, report }) => { | |
| const prefetched = new Set<string>() | |
| await mockStressTimeline(page, { | |
| onMessages: (input) => { | |
| if (!input.before && input.phase === "start") prefetched.add(input.sessionID) | |
| }, | |
| }) | |
| await installStressSessionTabs(page, { | |
| sessionIDs: [fixture.sourceID, fixture.targetID, fixture.childID], | |
| }) | |
| await installTimelineSettings(page) | |
| await page.goto(stressSessionHref(fixture.sourceID)) | |
| await expectSessionTitle(page, fixture.expected.sourceTitle) | |
| await expect.poll(() => prefetched.has(fixture.childID)).toBe(true) | |
| report({ prefetched: [...prefetched] }) | |
| }) | |