shahar1 opened a new pull request, #74200:
URL: https://github.com/apache/airflow/pull/74200

   This is an attempt to deflake the WebKit tests that often fail.
   
   This change fixes two tests: one could read the table before its translated 
column headers had loaded, and another could mistake a closing filter menu for 
an open one. The page object now waits for the required headers and checks that 
the menu is truly open. The filter test passed five repeated runs, and the full 
backfill test file passed.
   
   <details>
   <summary>AI Summary</summary>
   Several tests in `tests/e2e/specs/backfill.spec.ts` fail on WebKit in CI. 
Both fixes live in the page object `tests/e2e/pages/BackfillPage.ts`.
   
   **`Column "Reprocess Behavior" not found. Available columns: From, To, 
backfill.reprocessBehavior, ...`** (flaky). The Backfills page translates its 
headers from the `common` and `components` i18next namespaces, which load in 
parallel, and with `useSuspense: false` the "Reprocess Behavior" header renders 
its raw key until its namespace arrives. `findBackfillRowByDateRange` only 
waited for "From" and "To" before snapshotting the column map, so a snapshot 
taken in that window made the detail lookup throw. The poll now waits for every 
column the detail reader uses.
   
   **`Verify backfill table filters`: tooltip positioner intercepts the first 
menu item** (consistent on WebKit, at the second `openFilterMenu()` call). 
After `Escape` closes the menu, Zag restores keyboard focus to the trigger, so 
its tooltip opens on focus. The closed menu content stays mounted and visible 
with `data-state="closed"` until its exit animation ends, which a loaded WebKit 
delays for many seconds, so `getByRole("menu").isVisible()` stayed true for the 
stale menu, the page object never re-clicked the trigger, and the probe on the 
stale first item hit the tooltip (which sits above the menu since #71731). 
`openFilterMenu` now only counts a menu whose `data-state` is `open`, so the 
loop re-clicks the trigger, which closes the tooltip and reopens the menu.
   
   Verification (WebKit via the Playwright Docker image against the current UI 
build, since the failure needs a loaded runner):
   - baseline, `--cpus 0.45`, filters test x3: 3/3 fail with the exact CI 
intercept signature
   - this branch, `--cpus 0.45`, filters test x5: 0 intercepts
   - this branch, full `backfill.spec.ts` at normal speed: 9/9 pass
   
   Follow-up outside this PR: the trigger tooltip can show over an open menu 
via keyboard focus (`Menu/MenuTrigger.tsx`).
   </details>
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Fable 5.1)
   
   Generated-by: Claude Code (Fable 5.1) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to