Two Library workflows failed in CI's webkit shard 2/2 (run 39714840809)
under parallel load:
- "library infinite loading ..." counted cards right after the last
page hid "Load more". That render queues the window update for the
next frame, so a slow frame left the 120 cards of the all-rows
layout in place (received 120, expected < 80). It now waits for the
next frame, which runs after every callback the page queued.
- "row measurement preserves anchor ..." settled with a 60 ms timer. A
scroll event is delivered in a rendering frame, so on a starved
renderer the timer ended before the scroll's frame and no card was in
view (null anchor). settleLibrary now waits for two consecutive
native frames with no Library frame queued, checked inside the frame
callback.
Before/after: a scratch copy that delays every frame by 120 ms (as a
starved runner) failed the old helpers 19 of 40 runs, at the CI lines,
and passed the new ones 40 of 40 on chromium and webkit. Throttled to
1 CPU with 4 workers, the original spec failed 1 of 42 for each test.
The Tags viewer workflow closed the viewer as soon as its image was
visible, before ViewerJS rendered the title, so CI's coverage never ran
the page's title callback (tags-page.js functions 26/46 = 56.52%, one
function above the floor of 56; locally 27/46). The test now asserts the
title names the shown file, which always runs the callback.