Skip to content

test(Table): hold the row glide before reading chevron timing - #10329

Open
astracat-bot[bot] wants to merge 1 commit into
mainfrom
codebunny/fix/test-table-hold-the-row-glide-before-reading-chevron-timing-1ca7c1
Open

astracat-bot[bot] wants to merge 1 commit into
mainfrom
codebunny/fix/test-table-hold-the-row-glide-before-reading-chevron-timing-1ca7c1

Conversation

@astracat-bot

@astracat-bot astracat-bot Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Maintainer impact

The chevron timing check failed in CI run 42261899652, Accessibility spec-test contracts (3/6), job 128052542178. expect(timing.glideMs).toBeGreaterThan(0) received NaN. That was the shard's only failure (559 tests passed), so the aggregate's “Require every contract shard” gate also failed.

Intended invariant

Table FR15 and AST-105 FR4 require the chevron and row glide to share the theme's timing. The test must still require a real glide, a positive duration, equal chevron/glide durations, and the theme's easing curve. No behavior change.

Change

Reuse toggleAndHold(page, 0, 90) before reading the timing. The helper holds animations as the click starts them, before a slow runner can miss the entire glide. The separate awaited click previously let the animation finish before the timing evaluation; no active glide then meant Number(undefined) became NaN.

The positive duration, duration equality, curve, column-divider and reduced-motion assertions are unchanged. The new check additionally requires the helper to capture at least one row animation. There are no product, workflow, timeout, assertion-tolerance, or baseline changes.

Evidence

The same test passed in CI run 42261811491 (#34481), commit 3bd5a4c1b429c389d70b5c28bb96d333411b3c64, job 128050803181. The next failing commit was 19171513dbd543a0999c4e05818cccea07d180e6.

With Playwright launchOptions.slowMo: 500 in a temporary config that otherwise uses the repository's config, the unchanged test reproduced the exact NaN assertion in 2/2 runs at the failing commit. After fetching current main (21599169a2a68c1912545b165af0e9c908d67c85) and rebuilding Storybook, it still failed in 2/2 runs. The artificial delay makes the scheduling race deterministic; it is not a claim that every ordinary-speed run fails.

Testing

  • pnpm exec playwright test packages/core/src/Table/__tests__/TableRowGlide.a11y.browser.spec.ts --config=playwright.config.ts --project=chromium: all 12 tests passed, including divider pixels, pinned cells, no-handle behavior and reduced motion.
  • The chevron test with slowMo: 500 and --repeat-each=5: 5/5 passed after the change (2/2 failed before).
  • Focused ESLint, Prettier, git diff --check, pnpm specs:for --diff origin/main, and pnpm review:pre: passed; the pre-review report had no findings.
  • WebKit was attempted but could not launch because the host is missing browser libraries. Chromium is the engine of the failing CI check.
  • Only this test file changes; runtime code is unchanged. A fresh independent review has not been performed.

Scope

  • No intended public API, product behavior, visual direction, or policy change.
  • Product changes discovered during the work were removed or split.
  • Public text contains no private operational context.

See also #8088.
See also #10296.

@vercel

vercel Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
astryx Ready Ready Preview Nov 6, 2026 6:15pm UTC

Request Review

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Nov 6, 2026
@astracat-bot

astracat-bot Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor Author

AI review status for this pull request.

Review status Updated
🟢 Reviewed (for maintainers only) Nov 6, 2026, 6:20 PM UTC

@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

PR Analysis Report

🔎 Preview · f20fc16

Storybook · Sandbox · built from this PR's head

Modified components

Component Size LoC Visual · A11y · RTL
TableBody 3.5 kB (0) · 3.3 kB CSS (0) — ✓ · ✓ · ✗
TableFooter 3.5 kB (0) · 3.3 kB CSS (0) — ✓ · ✓ · ✗
TableHeader 3.5 kB (0) · 3.3 kB CSS (0) — ✓ · ✓ · ✗
5 more components
Component Size LoC Visual · A11y · RTL
TableRow 6.7 kB (0) · 3.9 kB CSS (0) — ✓ · ✓ · ✗
Table 100.0 kB (0) · 17.3 kB CSS (0) — ✓ · ✓ · —
TableCell 91.8 kB (0) · 17.0 kB CSS (0) — ✓ · ✓ · ✓
TableHeaderCell 91.4 kB (0) · 16.8 kB CSS (0) — ✓ · ✓ · ✓
TableSelectionToolbar 61.3 kB (0) · 12.4 kB CSS (0) — ✓ · ✓ · ✓

Package size: no published package changed; no new dependencies.

API changes: none in this pull request

Committed API report behind this build: cli 19 rows, core 24 rows; run pnpm api:report.

Touched components checked; add ci:run-visual, ci:run-a11y or ci:run-rtl to run the full suites.


Generated by PR Enrichment workflow | View full report

@astracat-bot

astracat-bot Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

These tests passed on main since, but they failed intermittently (red at 2026-11-06 01:30 UTC, 2026-11-06 14:47 UTC, 2026-11-06 17:56 UTC, 2026-11-06 17:57 UTC); this PR fixes the intermittency.

This branch was successfully deployed

1 active deployment
Preview — f20fc16a Deployed Nov 6, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants