molecule-core/canvas
Molecule AI App-FE e66bc482b6
Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 15s
Harness Replays / detect-changes (pull_request) Failing after 14s
Harness Replays / Harness Replays (pull_request) Has been skipped
E2E API Smoke Test / detect-changes (pull_request) Successful in 58s
CI / Detect changes (pull_request) Successful in 59s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 57s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 1m2s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 14s
sop-tier-check / tier-check (pull_request) Successful in 15s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m1s
CI / Platform (Go) (pull_request) Successful in 10s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 10s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 8s
CI / Python Lint & Test (pull_request) Successful in 10s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 10s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 9s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 7m42s
CI / Canvas (Next.js) (pull_request) Failing after 8m50s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
fix(canvas/test): consistent fake-timer state across test files
Root cause of the ApprovalBanner test flakiness was mixing
vi.useRealTimers() and vi.useFakeTimers() across test files:

- PurchaseSuccessModal's afterEach called vi.useRealTimers(), leaving
  fake-timer state in an inconsistent position for the next test file.
- ApprovalBanner's afterEach also called vi.useRealTimers(), further
  polluting the state for subsequent files.

Fix: both files now consistently use vi.useFakeTimers() in
beforeEach/afterEach. Per-spy mockReset() replaces the global
vi.restoreAllMocks() in ApprovalBanner's afterEach so each test
gets a clean api mock without touching the module-level mock.

Changes:
- PurchaseSuccessModal: removed vi.restoreAllMocks() and
  vi.useRealTimers() from all afterEach/beforeEach hooks (file
  never creates spies, so restore was a no-op anyway).
- ApprovalBanner: vi.useFakeTimers() in all afterEach hooks;
  added mockGet?.mockReset() and mockPost?.mockReset() for
  per-spy cleanup; removed spurious mockGet.mockRestore() from
  one test (afterEach already handles cleanup).

Stable across 3 consecutive full-suite runs.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:54:57 +00:00
..
e2e canvas/e2e: surface admin-orgs row + workspace body on failure 2026-05-03 14:01:50 -07:00
public chore: replace brand icon and add HANDOFF.md 2026-04-13 13:03:40 -07:00
src fix(canvas/test): consistent fake-timer state across test files 2026-05-11 12:54:57 +00:00
.dockerignore feat(local-dev): containerize platform + canvas stack via docker-compose (closes #126) 2026-05-08 10:53:39 -07:00
.env.example fix(canvas): close 4 gaps in WS status indicator (env, toast, tests) 2026-04-14 08:26:38 +00:00
.gitignore feat(canvas): SaaS cross-origin — slug header + cookie credentials (Phase F) 2026-04-14 20:08:39 -07:00
components.json fix(canvas): restore text-white on saturated buttons + close zinc gaps 2026-05-03 02:04:20 -07:00
Dockerfile ci(docker): pin base image digests in all Dockerfiles 2026-05-09 23:56:39 +00:00
next.config.ts fix(canvas): boot-time matched-pair guard for ADMIN_TOKEN env vars (#175) 2026-05-08 19:22:39 -07:00
package-lock.json fix(canvas/test): resolve ~80 test failures across 17 test files (#299) 2026-05-11 08:14:55 +00:00
package.json feat(canvas): warm-paper theme + Tailwind v4 migration 2026-05-03 01:43:55 -07:00
playwright.config.ts initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00
playwright.staging.config.ts feat(e2e): canary + canvas Playwright workflows; delegation mechanics 2026-04-21 04:15:10 -07:00
postcss.config.js feat(canvas): warm-paper theme + Tailwind v4 migration 2026-05-03 01:43:55 -07:00
tsconfig.json initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00
vitest.config.ts fix(canvas): cap maxWorkers:1 to prevent jsdom pool worker startup timeouts 2026-05-09 02:02:10 +00:00