Skip to content

test(website): make lineage-filter selection resilient to menu re-renders - #1358

Merged
fhennig merged 1 commit into
mainfrom
investigate-flaky-tests
Jul 29, 2026
Merged

test(website): make lineage-filter selection resilient to menu re-renders#1358
fhennig merged 1 commit into
mainfrom
investigate-flaky-tests

Conversation

@fhennig

@fhennig fhennig commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

resolves #1255

Summary

The variant-selection e2e tests (compareSideBySide, singleVariant) were flaky on Firefox/WebKit. The worst failure mode: fillLineageField typed into the lineage autocomplete then clicked the matching dropdown option, but the Downshift menu can be closed again by a concurrent re-render (each filter field fetches its options from LAPIS independently). The option then never appears and the click waits out the full 60s test timeout -- a larger timeout cannot help a closed menu. Re-open the menu and retry the option click together so a transient close cannot wedge the test.

Also keep two mitigations for the slower "still loading" failure mode: bump @playwright/test 1.60->1.61 and set a global 15s expect timeout.

@vercel

vercel Bot commented Jul 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dashboards Ready Ready Preview, Comment Jul 29, 2026 9:43am

Request Review

@fhennig

fhennig commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

We found that there were actually real failures, because of a change to mpox on pathoplexus. Will fix that in a separate PR: #1360

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR targets flakiness in the website Playwright e2e suite (notably Firefox/WebKit) by making lineage autocomplete selection resilient to transient Downshift menu closures caused by concurrent filter-field re-renders, and by tuning Playwright timeouts/dependencies to better handle slower-loading cases.

Changes:

  • Make fillLineageField retry the “open menu + click option” sequence to avoid wedging when the menu closes mid-selection.
  • Configure a global Playwright expect timeout (15s) to reduce sensitivity to slow “still loading” conditions.
  • Update Playwright-related devDependencies to newer versions (but also introduces redundant packages—see comments).

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.

File Description
website/tests/ViewPage.ts Adds a toPass() retry loop around lineage option selection to handle transient autocomplete menu closures.
website/playwright.config.ts Sets a global expect timeout to make assertions more tolerant of slow UI states.
website/package.json Updates Playwright dependencies; currently adds redundant Playwright packages.
website/package-lock.json Locks updated Playwright versions and includes the newly-added redundant dependency.
Files not reviewed (1)
  • website/package-lock.json: Generated file

Comment thread website/package.json
Comment thread website/package-lock.json
…ders (#1255)

The autocomplete menu opens on fill() but can close again when another
filter field's LAPIS fetch settles and triggers a re-render. A plain
click() would then wait out the full test timeout on an option that will
never appear. Retry "ensure the menu is open, then click the option"
together so a transient close cannot wedge the test.

Also sets a 15s global expect timeout (up from the 5s default) to give
filter fields more time to load before asserting no errors.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@fhennig
fhennig force-pushed the investigate-flaky-tests branch from a6b0c1a to 1deb1ea Compare July 29, 2026 09:43
@fhennig
fhennig merged commit ea25404 into main Jul 29, 2026
10 of 11 checks passed
@fhennig
fhennig deleted the investigate-flaky-tests branch July 29, 2026 09:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Flaky tests

3 participants