Skip to content

flake: test-js timeouts (multiple pages) #1598

Description

@flake-investigator

CI Failure Details

CI Run Link: https://github.com/coder/coder/actions/runs/27644906246
Failed Job: test-js

Commit Info:

  • SHA: b6fcb9a30a72c68361b4d47b9a0e76cda8a66bda
  • Author: Yevhenii Shcherbina
  • Date: 2026-06-16T20:09:00Z

Failed Tests

Multiple UI tests timed out or failed in the same run:

  • site/src/pages/CreateUserPage/CreateUserPage.test.tsx
    • Error: Test timed out in 5000ms (line 33)
  • site/src/pages/WorkspacesPage/WorkspacesPage.test.tsx
    • Error: Test timed out in 5000ms (line 97)
  • site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPage.test.tsx
    • Error: Test timed out in 20000ms (lines 113, 123)
    • TestingLibraryElementError: Unable to find role="button" and name /save/i (line 227)
  • site/src/pages/WorkspaceSettingsPage/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx
    • Error: Test timed out in 5000ms (lines 251, 276, 298, 331)
    • Subtests affected: uses template default ttl when first enabled, shows if autostop is changed, doesn't show if workspace is stopped, doesn't show if autostop is not changed

Additional signal:

Tests closed successfully but something prevents the main process from exiting

Error Analysis

Representative log excerpt:

FAIL unit src/pages/WorkspaceSettingsPage/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx > WorkspaceSchedulePage > autostop > uses template default ttl when first enabled
Error: Test timed out in 5000ms.

TestingLibraryElementError: Unable to find role="button" and name `/save/i`

Tests closed successfully but something prevents the main process from exiting

Root Cause Assessment

Classification: Flaky test / timing-dependent UI failures.

Multiple unrelated page tests timed out in the same run, suggesting a timing-sensitive test environment (slow rendering, unresolved async updates, or hanging timers). The missing “Save” button error indicates the UI did not reach the expected ready state before assertions ran.

Assignment Analysis

Line-level blame is not available in tooling. Recent test-file history:

  • git log --oneline -10 --follow site/src/pages/WorkspaceSettingsPage/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx
    • Most recent meaningful change: 49c2142 (Ethan) "fix: allow unlinking chat workspaces"
  • git log --oneline -10 --follow site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPage.test.tsx
    • Most recent meaningful change: b1494331 (Kayla) "chore: complete jest to vitest migration"
  • git log --oneline -10 --follow site/src/pages/WorkspacesPage/WorkspacesPage.test.tsx
    • Most recent meaningful change: 12ada01 (Danielle) "fix(site): move pagination test from vitest to storybook story"
  • git log --oneline -10 --follow site/src/pages/CreateUserPage/CreateUserPage.test.tsx
    • Most recent meaningful change: aa81238 (Kayla) "chore: modernize all typescript imports"

Given multiple failing pages, assignment is uncertain; selecting the most recent modifier among the failing test files as the first triage point.

Assigned to: @ethanndickson

Related Issues

Reproduction (best effort)

pnpm test:ci --filter WorkspaceSchedulePage.test.tsx
pnpm vitest site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPage.test.tsx

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions