Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,16 @@ so this log can be regenerated from history (e.g. with `git-cliff`).

## [Unreleased]

_Changes on `main` that have not yet been tagged._
### Changed
- `excalidraw.spec` resets per test. Its two long-standing "flaky" specs were
deterministic failures: all three tests bootstrap through `/setup`, but the
file reset once per file with `beforeAll`, and `POST /auth/setup` returns 410
once a user exists — `SetupPage` renders that error without navigating, so
tests 2 and 3 sat on `/setup` for the full 30s timeout. They passed on retry
only because a retry restarts the worker and re-runs `beforeAll`. That is why
it was always exactly two flaky specs: the number of tests after the first.
The suite now reports `42 passed` with no flakes, and the playwright job
dropped from ~10m to ~5m.

## [0.2.1] - 2026-08-17

Expand Down
9 changes: 8 additions & 1 deletion e2e/flows/excalidraw.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,14 @@ function reset() {
);
}

test.beforeAll(reset);
// beforeEACH, not beforeAll. All three tests below bootstrap through
// /setup, and POST /auth/setup returns 410 (auth.setup_closed) once any user
// exists — SetupPage then renders an error and does NOT navigate, so every
// test after the first hung until the 30s timeout and only passed on retry
// (a retry restarts the worker, which re-runs a beforeAll). That read as
// flakiness for a long time; it was deterministic. Same reason
// create-placement, new-doc-edit-mode and tree-reorder reset per test.
test.beforeEach(reset);

/**
* Drive a rectangle into the open Excalidraw modal via the dev-only
Expand Down