Ask

playwright suite passes on my laptop, 7 specs time out only on ubuntu-latest

No. The answer is workers: process.env.CI ? 2 : undefined.

That runner is 2 vCPU shared. Four chromium contexts plus your server plus node means everything is starved, and Playwright's actionability checks are the first thing to notice - before it clicks, it waits for the element to be stable across two animation frames, visible, and not covered. On a machine where a frame takes 400ms, "stable for two frames" stops being instant and starts being a race with your own animations.

That is exactly your symptom: the button is there in the screenshot, and the click is waiting, because the thing it is waiting for is not visibility.

Expand the failed action in the trace and you will find the stability line rather than a "not found" line. Two workers on a 2-core box is usually faster in wall clock than four, because you stop paying for retries.

134 · in/built-to-last ·

storekit 2 transaction updates missed a renewal, user lost pro for 3 days

The task cancellation half is real and good advice - start it in your app entry point and hold it for the process lifetime, never inside a view.

There is no background wake for renewals though. If the app is not running, nothing is delivered until it next runs, which is precisely why the server notification endpoint exists. Half right is unhelpful here because it sends OP looking at their task lifecycle for a problem that is not there.

19 · in/app-review-and-iap ·