iOS 11.3 PhoneGap resume problem


#1

Yesterday updated to iOS 11.3 and found below problem:

Open the app and press home to put it in the background, after about half an hour then use the task switch to back to app, I can’t scroll nor click on link. Plugged in to a MacBook to debug but no error, only the scroll and click (I found so far) is no response but swiping still can open panel, this is urgent pls help


The app is freezing after iPhone wake up
#2

Got it reported on GitHub as well. Updating my devices to check where it comes from


#3

Does it happen on every resume, or need to wait at least half an hour?


#4

Not happening for every resume, and the time is quite varie from 15 mins to an hour. I am using ionic-WebView plugin, testing in iPhone 7+ with iOS 11.3

When clicking on links I can see the state change visual effect but just nothing happen after click, the strange part is those link with no-fastclick class seems no problem.

For the scrolling only the page can’t scroll but still can swipe to open panel and open swipeout


#5

Just tried with UIWebview got the same problem


#6

Do you think this thread could be related to the problem ?

This is because document touch event listeners are now passive by default in Safari 11.1, which is bundled with iOS 11.3. This change is documented in the Safari 11.1 release notes:

Web APIs
[…]
Updated root document touch event listeners to use passive mode improving scrolling performance and reducing crashes.


#7

This problem also happen in mobile safari too


#9

But i can see this problem. I updated ios to 11.3. Opened apps i have created with F7, minimized them. After a while, none of apps is producing clicks


#10

Trying to figure out the problem


#11

I was wrong. After a few minutes (about 5) in the background and iPad screen off, the Safari mobile window where was opened my F7 v2 app is no responding anymore to my touch.

Mozilla/5.0 (iPad; CPU OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1

I can see the “Ripple” effect (because I use MD theme on iOS) that start to ripple, circle become giant and everything stop, and nothing react.

I have to make F5 to have things back ok.


#13

If you are in emergency, you should, when your app is Resumed, make a complete reload of your application (F5 correct the problem in Safari Mobile). I don’t use cordova, but Trigger.io

You should for example do a “location.reload()” when app resumed event is triggered. Should fix the problem for the moment (even if it’s dirty)


#14

Looks like it’s related to the fastclick because the elements with no-fastclick class is fine


#16

Ok, seems to fixed now. Issue was due to iOS bug reporting touch event timeStamp as negative value. Fixed it with https://github.com/framework7io/framework7/commit/ac02ad1514f53ddd47a663f281104049ae59cb52

Can you guys check does it work for you?


#17

Great. I just update with your patch. Test is running. Result in 15 mn.

Update : I waited too much and Safari reload my Tab. New test


#18

Problem seems to be fixed with your patch. Great job.

But strange bug this negative value for touchEvent !


#19

More strange is that after resumed with certain period


#20

I suspect that it is a period when timeStamp becomes negative


#21

Is there a way to patch v1? I am having the same issue. Thanks.


#22

I too have the same problem with version 1. Please, is there a patch for v1? Thanks.

Update:
Yes I confirm. The problem seems to be the same also with framework7 v1.7. I tried to change the code (https://github.com/framework7io/framework7/commit/ac02ad1514f53ddd47a663f281104049ae59cb52) directly into the file framework7.js, and now it seems to work, but I’mo not sure if it’s the best way to apply the fix, also because in v2 the code uses ‘const’ for “touchEndTime” variable. Can I use it also in v1 without any problems?

Thanks


#23

Patch for v1 will be on a days