Skip to content

test(core): the copy test's entrances outlast any setup - #9991

Merged
cixzhang merged 2 commits into
meta:mainfrom
vjeux:uikit/f1-copy-test-entrances-outlast-setup
Nov 4, 2026
Merged

cixzhang merged 2 commits into
meta:mainfrom
vjeux:uikit/f1-copy-test-entrances-outlast-setup

Conversation

@vjeux

@vjeux vjeux commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Maintainer impact

One animated-layout test fails on a loaded WebKit runner: "a copy carries on the CSS animations and transitions running in the old state, from where they were". It throws TypeError: undefined is not an object (evaluating 'pick(panel, name).getAnimations()[0].finish'), as in #9962's pr-interaction-webkit. The test styles three entrances at 100 ms. It finishes them itself after the page loads, an evaluate round trip and a frame. When that setup takes longer than 100 ms, the backwards-filled and unfilled entrances have already ended and left the element, so getAnimations()[0] is undefined.

Intended invariant

What the test checks is unchanged: no entrance plays again in the copy, whether it holds its end or not. No product code changes, and no timeout changes.

Change

The three entrances last 100 s instead of 100 ms. So each still runs when the test reads it, and finish() ends it there as before.

Evidence

  • Failure before / success after, on a probe that adds 150 ms between the load and the read. Both are evidence commits, not for landing.
    • e657dc97e6 (main plus the wait) fails 5 of 5 in WebKit with the CI's exact error.
    • 437ad9536d (the same probe with this change) passes 5 of 5.
  • A loaded pair ran on one box, both arms at once, each WebKit container limited to one CPU, 20 repeats. main (d23d1fe438) failed 18 of 20 with that error, and this change passed 20 of 20.
  • Product/runtime behavior verified unchanged: a test-only change.
  • CI impact: none; no workflow changes.

Scope

  • No intended public API, product behavior, visual direction, or policy change.
  • Product changes discovered during the work were removed or split.
  • Public text and artifacts contain no internal Meta context.

Testing

The copy test styles three entrances at 100 ms and finishes them itself
after the page loads, an evaluate round trip and a frame. On a loaded
runner that setup takes longer than 100 ms, so the backwards-filled and
unfilled entrances have already ended and left the element, and
getAnimations()[0] is undefined (seen in pr-interaction-webkit).

The entrances now last 100 s, so each still runs when the test reads it,
and finish() ends it there as before. What the test checks is unchanged:
no entrance plays again in the copy, whether it holds its end or not.
@vercel

vercel Bot commented Nov 4, 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 4, 2026 7:30pm UTC

Request Review

@astracat-bot

astracat-bot Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

AI review status for this pull request.

Review status Updated
🟢 Reviewed (for maintainers only) Nov 4, 2026, 7:32 PM UTC

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

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

PR Analysis Report

🔎 Preview · c380e86

Storybook · Sandbox · built from this PR's head

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

API changes: none in this pull request

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

Not run on this PR: add ci:run-visual, ci:run-a11y or ci:run-rtl to run them.


Generated by PR Enrichment workflow | View full report

@astracat-bot astracat-bot Bot 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.

Approved pending CI: CI has not run on this head yet. The pull request is still a draft and its branch is in a fork, so once it is marked ready for review, a maintainer adds the ci:run label so CI runs (the label takes effect on the next push or a close and reopen).

The change is test-only and keeps the copy test's check intact: with 100 s entrances the test's own finish() always finds a running animation, and the copy still has to end each entrance instead of playing it again. Nothing else is needed.

[Automated review]

@vjeux
vjeux marked this pull request as ready for review November 4, 2026 17:48
@cixzhang cixzhang added the ci:run A maintainer lets this outside contributor's pull request run CI (AST-030 FR17) label Nov 4, 2026
@cixzhang
cixzhang marked this pull request as draft November 4, 2026 17:52
@cixzhang
cixzhang marked this pull request as ready for review November 4, 2026 17:52
@cixzhang
cixzhang marked this pull request as draft November 4, 2026 18:38
@cixzhang
cixzhang marked this pull request as ready for review November 4, 2026 18:38
@cixzhang
cixzhang marked this pull request as draft November 4, 2026 19:20
@cixzhang
cixzhang marked this pull request as ready for review November 4, 2026 19:21

@astracat-bot astracat-bot Bot 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.

Approved pending CI: CI is still running on this head.

Since the last review, the only change is a merge of main; the patch itself is unchanged and still test-only. With 100 s entrances the copy test's own finish() always finds a running animation, and the copy still has to end each entrance instead of playing it again.

[Automated review]

@cixzhang
cixzhang merged commit b1b89aa into meta:main Nov 4, 2026
75 of 114 checks passed
@vjeux
vjeux deleted the uikit/f1-copy-test-entrances-outlast-setup branch November 4, 2026 19:56

This branch was successfully deployed

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

Labels

ci:run A maintainer lets this outside contributor's pull request run CI (AST-030 FR17) 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.

2 participants