We’re experiencing a brand new problem in a codebase we have had for very very long time regarding iOS Safari contact occasions. It’s in our instructional video games which have drag-drop sort performance (dragging playing cards or puzzle items). This simply started manifesting in 17.4.1 on a number of iPads of various generations, and we’ve got constructive affirmation by testing this was not a problem with 17.3.1 or any earlier model. Instantly upon upgrading to 17.4.1 the issue manifested. It additionally manifests in 17.5 beta.
We obtain touchstart
, touchmove
and touchend
occasions for just a few consumer interactions, then after a touchend
we don’t obtain any extra touchstart occasions
for quite a lot of seconds. Interacting with Safari instantly (like scrolling the tabs, and so on) sometimes ends in the subsequent contact to the web page working once more. This can be a very low-level problem the place handler features are merely not fired by the browser. It occurs after some random variety of contact interactions – generally after only one or two, different instances it might take dozens to set off.
Curiously, when the contact occasions occur on the canvas in areas that we don’t care about, and thus we don’t do any drawing in response, the problem doesn’t manifest and so they all the time hearth. If we attract response (not directly – see under) then after a some random variety of touchstart
and touchend
interactions it stops.
We are able to render both WebGL or on to the canvas, and no matter which technique we use the issue manifests.
All rendering is decoupled from the precise contact occasions – we do all drawing by way of requestAnimFrame
and solely draw “soiled” or modified areas of the canvas.
Is anybody else experiencing an identical problem the place contact occasions cease working after just a few interactions with 17.4.1?