Eliminate recurring cross-platform CI flakes (#4171)

* fix(ci): eliminate recent cross-platform flakes

Synchronize tests on owned state instead of elapsed time or transient identities. Preserve file rename collision safety when platform file IDs are unavailable.

* fix(ci): close follow-up synchronization gaps

Keep fetches in flight through buffered-event classification, scope mock agents to navigation tests, and wait for live workspace hydration before opening agent routes.

* fix(ci): synchronize browser lifecycle boundaries
This commit is contained in:
Mohamed Boudra
2026-09-01 19:25:16 +02:00
committed by GitHub
parent 06fae60809
commit 59661f2bb8
13 changed files with 200 additions and 90 deletions
@@ -171,6 +171,7 @@ export function DiffSurface(props: DiffSurfaceProps) {
const resized = canvas.width !== pixelWidth || canvas.height !== pixelHeight;
if (canvas.width !== pixelWidth) canvas.width = pixelWidth;
if (canvas.height !== pixelHeight) canvas.height = pixelHeight;
canvas.style.width = `${currentModel.viewportWidth}px`;
canvas.style.top = `${canvasTop}px`;
canvas.style.height = `${canvasHeight}px`;
const context = canvas.getContext("2d");
@@ -535,11 +536,10 @@ export function DiffSurface(props: DiffSurfaceProps) {
const canvasStyle = useMemo<React.CSSProperties>(
() => ({
...CANVAS_STYLE,
width: model.viewportWidth,
fontFamily: (loadedTypography ?? desiredTypography).family,
fontSize: (loadedTypography ?? desiredTypography).size,
}),
[desiredTypography, loadedTypography, model.viewportWidth],
[desiredTypography, loadedTypography],
);
return (