fix(fuzz): bound settings-fuzz inputs, cap split tiles, budget the slow codecs, steady flakes (#696)

Follow-up to #695, greening the last nightly jobs it exposed. split gains a 400-tile product cap (a 100x100 split was a 10,000-file ZIP and ~20s of work). The settings-fuzz bounds its image inputs to 640px and gives the tools whose cost is output-driven (border, gif-tools, split) or codec-driven (heic/webp-to-avif) honest per-case budgets, since #649's settle-job wiring made every case wait for the real encode. The delete-team serial spec waits with toHaveCount(0) so the success toast can't trip strict mode, and type-to-search allows a route announcer's programmatic reading focus so it works on WebKit. Confirmed on a nightly dispatch: Extended Matrix (all 4 shards), Serial Bucket, Cross-Browser, and Coverage all green; Docker Container E2E's failures were GitHub runner reclamation (exit 137, tests passing throughout), which cleared on the #695 dispatch and is unaffected by this change.
This commit is contained in:
SnapOtter
2026-07-31 06:56:44 +08:00
committed by GitHub
parent 1b41da7615
commit c0dc037860
7 changed files with 111 additions and 4 deletions
+5 -2
View File
@@ -502,8 +502,11 @@ test.describe("GUI Settings - Teams Tab", () => {
page.on("dialog", (d) => d.accept());
await page.locator("[role='menu']").getByText("Delete").click();
// Team should no longer be visible
await expect(page.getByText(teamName)).not.toBeVisible({ timeout: 5_000 });
// The success toast repeats the team name, so for a moment both the toast
// and the row match and a bare not.toBeVisible() hits a strict-mode
// violation (2 elements). Wait for every match to clear: the row is
// removed and the toast auto-dismisses.
await expect(page.getByText(teamName)).toHaveCount(0, { timeout: 10_000 });
} finally {
await cleanupTeamsByPrefix(adminToken, "guidelteam-");
}