You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 28f3635
Browse filesBrowse the repository at this point in the historyBrowse files
Make a refused device say so, and stop containers eating clicks
Three faults that all present as "touch does nothing", found while a
console tab and the device page were open on the same simulator.
A refused input socket was announced only in the document title. The
video keeps streaming and the mirror keeps updating, so the page looks
healthy while every touch is discarded — the second tab you open is
simply dead, with no way to tell. The page now says why on screen, and
adds the remedy itself: the server's reason travels in a close frame
capped at 123 bytes, and the remedy is precisely the half that gets
truncated.
That notice is the only wording of ours on a page whose entire purpose is
to contain nothing but the app, so it is painted by CSS from an attribute
rather than written into the DOM. aria-hidden alone was measured to be
insufficient — it hides the element from getByRole and from an ARIA
snapshot, but getByText still matched it, which would let our sentence
satisfy an assertion meant for the app.
Mirroring the native tree faithfully stacks a container's full-size
transparent div over the leaves it contains, and a later sibling wins the
hit test, so Playwright refused to click visible controls with "another
element intercepts pointer events". Containers are now click-through and
only leaves clickable; clicking a container still works, because the hit
lands on a descendant. hittable cannot serve here — iOS reports it false
for whole visible subtrees.
Finally, input connections are pinged. A driver that dies without closing
leaves the socket open from this side, so Read blocks for ever and the
claim outlives the client that made it; every later client is then
refused on behalf of a driver that no longer exists. The close is
CloseNow rather than Close: waiting for a peer already measured as unable
to answer was observed to cost ~3s, all of it with the device still held.
0 commit comments