andyhill Posted September 28, 2019 Share Posted September 28, 2019 I have found that Apple with their iOS 13 Update have turned on an experimental feature "Auto-Session-Timeout" (Server Timing OFF) which means everytime you send Safari to the Background -or- your iPhone to Sleep the current Safari Web Session is terminated ignoring all the timing requests produced by your Server Code - very annoying. Work around for now, turn Server Timing ON, this no doubt will change in the future. Link to comment Share on other sites More sharing options...
andyhill Posted September 29, 2019 Author Share Posted September 29, 2019 Farshad, Server Timing ON helps but there is still some sort of Caching Issue with iOS 13.n - please advise ASAP. Link to comment Share on other sites More sharing options...
andyhill Posted October 13, 2019 Author Share Posted October 13, 2019 Farshad, I notified you of a serious issue with iOS 13.x and Mobile UniGUI that causes webapps to crash. The same code runs flawlessly on Desktop and Android and pre iOS 13. It looks like a caching issue. You have remained silent. Please advise ASAP that you are aware of this bug and that an update is coming to fix this shortly. Link to comment Share on other sites More sharing options...
andyhill Posted October 13, 2019 Author Share Posted October 13, 2019 As this is critical, I have been trying to come up with a work around. Please comment on below which I set in the UniGUIServerModuleBeforeInit event. ////////////////////////////////////////////////////////////////////////////// // MaxAliveSecs: This property determines the maximum number of // seconds a connection is allowed to be alive. Setting this property to zero // will disable above mechanism. In this case, connections will naturally drop // when client releases them or the OS detects a long timeout condition. HTTPServerOptions.MaxAliveSecs:= 0; // Default is 120 HTTPServerOptions.MaxPoolSize:= 600; // Default is 200 HTTPServerOptions.DisableKeepAliveInDebugMode:= True; // Default is True (simplifies debugging) Link to comment Share on other sites More sharing options...
andyhill Posted October 13, 2019 Author Share Posted October 13, 2019 Still crashes at random Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted October 14, 2019 Administrators Share Posted October 14, 2019 18 hours ago, andyhill said: Farshad, I notified you of a serious issue with iOS 13.x and Mobile UniGUI that causes webapps to crash. The same code runs flawlessly on Desktop and Android and pre iOS 13. It looks like a caching issue. You have remained silent. Please advise ASAP that you are aware of this bug and that an update is coming to fix this shortly. We have several iPhone devices to test mobile apps. The newest one is an iPhone 6 which is not eligible to get iOS 13! Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted October 14, 2019 Administrators Share Posted October 14, 2019 What do you mean by saying "App Crash"? Does it crash on server side or? Link to comment Share on other sites More sharing options...
picyka Posted October 14, 2019 Share Posted October 14, 2019 Would it be something similar? My case is that closes the browser on the mobile but no longer dies, dies only when time expires Link to comment Share on other sites More sharing options...
andyhill Posted October 14, 2019 Author Share Posted October 14, 2019 "Inavlid Session or Session TimeOut" Here are my Server Time outs UniServerModule.SessionTimeout:= 1000 * 60 * 60 * 3; // 10,800,000 = 3hrs UniServerModule.AjaxTimeout:= 1000 * 60 * 3; // 180,000 = 3mins As stated above I turned SERVER TIMING ON All to no avail, could it be some sort of cache timing issue ? iOS 13.x introduced some sort of new timeout, here is what Apple says if one has problems which does not fix the problem, it appears to be some sort of UniGUI or Sencha problem:- If Safari displays a blank page or quits on your iPhone, iPad, or iPod touch If you can't load a website or webpage, or Safari quits unexpectedly, follow these steps. Connect to a different network Try to load a website, like www.apple.com, using cellular data. If you don't have cellular data, try connecting to a different Wi-Fi network and then try loading the website. Restart your device Turn off your device and turn it on again. Clear website data You can clear website data occasionally to improve Safari performance. If you still need help, follow these steps: Go to Settings > Safari. Tap Clear History and Website data. Tap Clear History and Data to confirm. Get more help If the issue continues and only effects a certain website or webpage, contact the website developer for more help. Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted October 14, 2019 Administrators Share Posted October 14, 2019 Does this occur even when browser is running in foreground? Link to comment Share on other sites More sharing options...
andyhill Posted October 14, 2019 Author Share Posted October 14, 2019 Yes, in the foreground while one is using it (not idle), it is as though there is an iOS set timeout irrespective of what the Server says and irrespective of activity. This is urgent. Link to comment Share on other sites More sharing options...
pro_imaj Posted October 16, 2019 Share Posted October 16, 2019 Hi, I'm looking for the same question here. I observe that the problem is not only on the ios side but also on the android side. Link to comment Share on other sites More sharing options...
andyhill Posted October 16, 2019 Author Share Posted October 16, 2019 I have wrestled with this problem for some time now with what appears little help or interest from UniGUI. We pay good money on a yearly subscription (many years now) to use UniGUI and I believe that UniGUI owes it to it's customers to get a modern iPhone for it's own testing. This may even be a Sencha problem, has Sencha been advised by UniGUI ? I see no real effort to solve this problem. I have set all my timing values in code (remember this all worked flawlessly until iOS 13):- ServerModule SessionTimeout:= 1000 * 60 * 60 * 3; // 10,800,000 = 3hrs AjaxTimeout:= 1000 * 60 * 3; // 180,000 = 3mins Should I make this bigger ? HTTPServerOptions.MaxAliveSecs:= (60 * 60); // 1hr HTTPServerOptions.MaxPoolSize:= 600; HTTPServerOptions.DisableKeepAliveInDebugMode:= True; // UseGlobalImageCache "It instructs the uniGUI server to use the global image cache to improve image access performance" what happens when set to false, please explain in detail ? MainModule EnableSynchronousOperations:= True; TerminateOnBrowserClose:= False; iOS Server Timing ON Blank anchor target implies rel=noopener OFF Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted October 17, 2019 Administrators Share Posted October 17, 2019 Hi Andy, Problem has started with iOS 13 and seems to be an iOS issue. I will try to reproduce and fix this. Before that, I request you test with a blank uniGUI app with a very few components. A single button and a click event perhaps. Please try to reproduce the issue with this app. Don't change any timing or any other timeout parameter. Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted October 18, 2019 Administrators Share Posted October 18, 2019 I started testing our standard touch demo app on an iPhone XR with iOS 13.1.13. So far, so good! Can you please describe the steps to reproduce your issue? Link to comment Share on other sites More sharing options...
andyhill Posted October 18, 2019 Author Share Posted October 18, 2019 Please see personal correspondence Link to comment Share on other sites More sharing options...
wjjw Posted October 23, 2019 Share Posted October 23, 2019 I have also issue only with Safari on macOS and iOS devices. It logged me out all the time - message "session invalid or timeout". When I used another browser (Firefox, Chrome) it works fine - both on macOS and iOS. So there must be something on Safari itself. When I set the option "soRestartSessionOnTimeout" it will loop endless... trying to reconnect all the time.... Any idea - workaround - do not use Safari.. ;-) Link to comment Share on other sites More sharing options...
Sherzod Posted October 23, 2019 Share Posted October 23, 2019 Can you please test with this? http://forums.unigui.com/index.php?/topic/8277-what-timeout-to-use/&do=findComment&comment=71108 Link to comment Share on other sites More sharing options...
andyhill Posted October 23, 2019 Author Share Posted October 23, 2019 Sherzod, If the Session has timed out and we catch it at MainModule.OnSessionTimeOut event, it is already too late as all of the session critical variables are now defunct (void) ! Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now