Jump to content

iPhone iOS 13 Web Page Session Timeouts


andyhill

Recommended Posts

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

  • 2 weeks later...

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

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

  • Administrators
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

"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.

Clear website data

You can clear website data occasionally to improve Safari performance. If you still need help, follow these steps:

  1. Go to Settings > Safari.
  2. Tap Clear History and Website data.
  3. 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

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

  • Administrators

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

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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...