Repository navigation
test(BottomSheet): the settle proofs freeze the scene at the lift - #10098
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
AI review status for this pull request.
|
PR Analysis Report🔎 Preview ·
|
| Component | Size | LoC | Visual · A11y · RTL |
|---|---|---|---|
| BottomSheet | 56.9 kB (0) · 7.5 kB CSS (0) | — | ✓ · ✓ · — |
| BottomSheetSwitcher | 17.4 kB (0) · 3.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 23 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
The storyboard and the recorded settle curve held the settle with a
hold sent after the drag's lift. The settle lasts about 300 ms, so on
a busy runner it could end before the hold arrived ("storyboard
bottomsheet-settle: no running animation to hold"). The page now
freezes the scene in the lift's own task, before the sheet hears the
lift, so the settle starts held. What the proofs assert is unchanged.
2918f09 to
d68e7d7
Compare
There was a problem hiding this comment.
Approved pending CI: CI has not run on this head yet.
Both BottomSheet settle proofs now freeze the page on the lift, so the settle starts held instead of racing a hold sent from the test, and what they assert and record is unchanged. With the hold made 600 ms late, the current proofs fail every time and these pass, in Chromium and WebKit. Next step: this is a draft from a fork, so mark it ready for review and have a maintainer add the ci:run label so CI runs.
- Non-blocking: the description says FR19's verification row covers the storyboard, but that row lists the settle curve and no storyboard; naming the spec file there would be accurate.
[Automated review]
There was a problem hiding this comment.
Approved pending CI: CI is still running on this head.
Both BottomSheet settle proofs now freeze the page on the lift, so the settle starts held instead of racing a hold sent from the test, and what they assert and record is unchanged. With the hold made 600 ms late, the current proofs fail every time and these pass; the spec file passes in Chromium and WebKit, including in CI's interaction legs.
- Non-blocking: the description says FR19's verification row covers the storyboard, but that row lists the settle curve and no storyboard; naming the spec file there would be accurate.
[Automated review]
Maintainer impact
BottomSheetDetent's "storyboard: drag to the half detent and settle" fails on busy runners with
storyboard bottomsheet-settle: no running animation to hold. In Chromium pinned to two CPUs with 4 workers, main failed 4 of 20. It also failed once on a shared machine at one worker. The recorded settle curve ("the settle lands on the detent, its curve recorded frame by frame") holds the settle the same late way. With its hold 600 ms late, it fails every time.Intended invariant
component:BottomSheetFR19 and its verification row: the settle to a detent with its curve recorded, and the storyboard of the drag and the settle. What the two proofs assert is unchanged.Change
Both proofs held the settle with a hold that the test sent after the lift. Before it, the test waited to see the settle start. The settle lasts about 300 ms, so on a busy runner it could end before the hold arrived. The page now freezes the scene in the lift's own task, before the sheet hears the lift. It calls
installPageFreezebefore the story loads, thenfreezePageOn(page, 'touchend')before the drag. The settle then starts held, and its timers stay held.thawPagereplacesthawTimers. The settle-curve proof now installs the timer gate too, which a freeze needs. Its evidence file keeps the held transition's timing. One test file changes.Evidence
One machine and one build (Storybook at main 1dce318). Chromium, no retries; each failure recorded by test, error and duration. Counts are under Testing.
no running animation to hold). With each proof's hold made 600 ms late, both of main's proofs failed 5 of 5.Scope
Testing
Counts, both versions interleaved in one run:
no running animation to hold,no transform transition held). This change passed 5 of 5 for each.The arms above are in a commit not for landing, bf1c42d259, on top of this change. It adds main's two proofs under their own titles. It also adds both versions of each with the hold made 600 ms late.