MyBB Community Forums

Full Version: [F] WOL Innacuracies [C-Imad Jomaa]
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
OK, first off, I don't know how to reproduce this, but I see this on a daily basis, since I first saw this in January, and have various ways of showing something is wrong.

See this screenshot:

[attachment=13407]

Now, user A was viewing the thread the WOL said they were. However, user B wasn't. I know this, because I had seen this issue for a while, so wanted to see if it was real... I asked user B if they were actually replying to that thread, and they said they weren't. Now, what I've noticed is that when user A is viewing a thread, user B is replying to it. It seems that the action for user A is accurate but the action for user B is more random. It usually seems that user B is replying to the thread user A user viewing at the same time, user B is usually directly under user A, like in the screenshot.

I've also seen how the location of a user can change, even if they have been inactive for ages. So, they are viewing/replying to thread/forum X, and after a while, it says they are viewing/replying to thread/forum Y, despite the fact their last active time hasn't changed. So say they view thread/forum X at 12:00, after, say, 10 minutes, their last active time is still 12:00 but they now seem to be viewing thread/forum Y. Thing is, thread/forum Y is also being viewed at that same time by somebody else. It's as though their location is governed by where other people are. Or, it just says 'Viewing Forum' or 'Reading Thread'. When this happens, the location in their profile is usually 'Unknown Location' instead of where the WOL says they are. Sometimes clicking this link takes you to a link that even the WOL isn't showing.

Another thing is people viewing things they shouldn't be. This isn't directly related to the issue where it should say 'Viewing No Permissions Page'. This is when someone is viewing a thread/forum they can't possibly even have a URL to, for example, a staff thread/forum. I've noticed here that when a staff member is viewing a staff forum/thread, another user also seems to view it. Then, when that staff member goes somewhere else, the regular user who seemed to be viewing it, changes to something else, something that someone else is seeing, similar to my paragraph above, but their last active time doesn't change, so they haven't clicked anything, it's like I said above, it's as though their location is governed by where other people are. This has been reported by various people, someone is viewing something they can't possibly have any sort of access to at all, short of guessing the URL.


Now, as I said above, I have no idea how to reproduce it, it just... happens. I idle on the WOL when I'm doing other things and notice this a lot. I'm hoping that by posting this, someone might be able to think what might be happening here. I also don't think that this should be marked as bogus straight away because of no reproduction steps, idle on the WOL whilst you're watching TV and you'll see what I'm saying eventually. I could easily fill this page with screenshots of each of the 3 points too.
I've seen this before too, but not really sure of the cause.

As a simple test; using two browsers (we're using Opera and IE8), logged in as two different users and both viewing WOL, it will always say the opposite is viewing the index and you're looking at WOL. Yet, in the sessions table, both have a location as the index...

Strange... Undecided
Interesting. I briefly skimmed through online.php and inc/functions_online.php and my best guess would be that two session id's are an exact match which returns the same activity. However, I did notice DISTINCT is being used for the sid and uid, so this shouldn't be happening. Active sessions with the same sid could also be the cause. One way to prevent having the same sid despite using DISTINCT (as it only eliminates duplicates in returning the query), would be checking the sid id for a match in the table before inserting, if it matches, generate a new one then insert it into the table. I could be wrong about my proclamation as I've only briefly skimmed through the files.
My guess would be it seems like a missing break in the case switch. Those things always get you one way or another.

However, this report doesn't really have any concrete evidence of something going wrong. A lot can circumstantial. People don't just take exactly 60 seconds on one page always.
Alright, you have an empty case:

Find in inc/functions_online.php:

		case "member":
		case "member_login":

Either remove the member case, or add whatever was intended. The member_login case is fine, as are the rest, it's only the member case.
No, that is intended. It like an "or" logical operation. If "member" or "member_login". Either way, it's not related to this bug report.
(2009-04-07, 04:29 PM)Ryan Gordon Wrote: [ -> ]No, that is intended. It like an "or" logical operation. If "member" or "member_login". Either way, it's not related to this bug report.

I know what it is, but if it wasn't intended, it would show the exact status for both cases. Didn't hurt to point it out nonetheless.

EDIT: Ah, just noticed the if else statement within the two cases, nevermind.
(2009-04-07, 04:16 PM)Ryan Gordon Wrote: [ -> ]However, this report doesn't really have any concrete evidence of something going wrong. A lot can circumstantial. People don't just take exactly 60 seconds on one page always.

No, but how can someone's location change multiple times even though they haven't reloaded anything?? And when I asked you ages ago if you were replying a thread, you said you weren't, but the WOL said you were, so something wasn't right there.
(2009-04-07, 05:57 PM)MattRogowski Wrote: [ -> ]
(2009-04-07, 04:16 PM)Ryan Gordon Wrote: [ -> ]However, this report doesn't really have any concrete evidence of something going wrong. A lot can circumstantial. People don't just take exactly 60 seconds on one page always.

No, but how can someone's location change multiple times even though they haven't reloaded anything?? And when I asked you ages ago if you were replying a thread, you said you weren't, but the WOL said you were, so something wasn't right there.

I'm not saying that there isn't a bug, but you've also included a lot of other things in your bug report that can be circumstantial. First of all, the time indicator only includes minutes and hours. It doesn't include seconds. I can open 10 tabs in the same 60 seconds and then go idle for a while. Doesn't mean I randomly changed locations.

Edit: I guess I understand if you checked after the member has been idle for a while and then you check back and they're still idle but the page has changed. You might be able to get more exaggerated reproducible results if you increase the WOL limit to like 5 hours or something crazy like that and then do some experimenting.
Just now I was viewing the WOL in another browser as a guest, apparently I was marking forums as read, despite the fact my last 3 actions had been opening a forum.
Pages: 1 2 3