test(website): make lineage-filter selection resilient to menu re-renders - #1358
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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 |
fhennig
force-pushed
the
investigate-flaky-tests
branch
from
July 29, 2026 09:08
e836d38 to
3ab88c5
Compare
fhennig
force-pushed
the
investigate-flaky-tests
branch
from
July 29, 2026 09:10
3ab88c5 to
a6b0c1a
Compare
Contributor
There was a problem hiding this comment.
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
fillLineageFieldretry the “open menu + click option” sequence to avoid wedging when the menu closes mid-selection. - Configure a global Playwright
expecttimeout (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
fengelniederhammer
approved these changes
Jul 29, 2026
…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
force-pushed
the
investigate-flaky-tests
branch
from
July 29, 2026 09:43
a6b0c1a to
1deb1ea
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.