-
Task
-
Resolution: Unresolved
-
Trivial
-
None
-
3.2.9, 3.3.0
-
None
For a long time ago, I've noticed that phenomenon: when I refresh a page with an online status - or go to a page with a such status from another page -, after some minutes without loading anything (it depends on the "View online time span" setting in ACP, defined at 5 minutes by default), my online status disappeared, whereas it should be re-enabled and displayed as such because I obviously requested the server to (re)load the webpage. Refresh immediately or soon after solves the bug.
I understand phpBB automatically disconnects the users after several minutes of inactivity. However, when someone loads a page again (not too long time after the previous request, to avoid the complete logout and the need to log again), he or she's still logged or relogged instantly (see my username in the header, in the attached screenshots) but the online status is still off.
The explanation is probably the logon status of a session is defined early in the process of the request (status: offline after X minutes), then phpBB retrieves the username and re-enables the user session (if it considers he or she can be still logged) and finally sends the webpage data to the client machine before updating the logon status of my session (new status: online). If the server retrieves the username before sending data to the client, why not updating the session status before sending data too?
That happens with all board styles, including prosilver. That phenomenon can be even more visible for custom ones which use the {ONLINE_IMG} template variable, for example to display "online" or "offline" or nothing if the option "Enable display of user online/offline information" is disabled in ACP (see the fourth attached screenshot), unlike prosilver that displays "online" status or nothing, but not an "offline" status.