Forums » Bugs

Active Players Page stuck on Friday

Oct 27, 2015 jordanmorgan14f link
Look, a lot of us work too, but keeping the page on Friday isn't going to make Friday come any faster. You can still turn up on a Tuesday.
Oct 27, 2015 incarnate link
It isn't stuck for me. Did you try reloading?

The expires for those images are set pretty low (10 minutes), but some browser(s) may still be trying to hang onto their cache for some reason.
Oct 28, 2015 jordanmorgan14f link
I do normally look at the forums via smartphone, so it might be a cookie thing
Oct 28, 2015 incarnate link
It shouldn't be related to cookies; but smartphones browsers may be particularly paranoid about re-downloading images if they can possibly avoid it (to avoid using data), so all the more likely to hang onto cached items.
Oct 28, 2015 Darth Nihilus link
Yea, on every device that I use to check the active players page it makes me actually hit the refresh button, even after I've first loaded the page, to see the most recent graph.

As in, it doesn't show the latest graph by default, even if it is the first time you've been on the page that day. If you haven't cleared your cache, it will show the last graph that you saw.

You must force a refresh to update the graph.
Oct 28, 2015 yodaofborg link
I did say years and years ago, that simply putting a ? at the end of the image url may fix this. I say may, because like stated, some browsers (especially mobile) may cache the image regardless.

https://www.vendetta-online.com/h/images/extras/daily.activity.png?

Click that and it will refresh.
Oct 28, 2015 jordanmorgan14f link
Yah worked it out. Just clicked refresh *derp*
Oct 28, 2015 Savet link
A simple ? might not force it, but a ?ts=<datetime> would.
Oct 28, 2015 jordanmorgan14f link
You guys internet too much.

Teach me your ways.
Oct 30, 2015 Savet link
Browsers cache (store locally) files for performance. For a header image like the VO logo, this is a good thing, but for a dynamic image, this can result in the behavior described, where the browser loads the cached version instead of the remote version. They generally do not cache dynamic URLs, things with a ?something=value1&somethingelse=value2.

By using a dynamic link to the image, with a name value pair which is likely to be unique based on date/time that it is loaded, it should prevent the browser from using the cached version since the URL used to load the image would be unique.

You can set your browser to not use cached files, but it is not realistic to expect every user to do this, so the proper fix would be to use a dynamic URL.
Oct 30, 2015 incarnate link
I'm considering moving the active-players page to the public space, outside of the login cookie.

I want the 10-minute expires to work correctly, so that if we get a sudden spike in interest, all the various transparent proxies out there are doing their thing correctly (and there are a lot, in front of mobile gateways, at the big cellular providers).

Pretending the image is dynamic will force it to be reloaded constantly, whether it has changed or not.

Any browser forcibly caching an item in excess of the expire time is kinda behaving poorly. Although it isn't mandated by RFC to purge the data unless I set the max-age directive in the cache control header.

But, fundamentally, the site isn't broken. Some browsers are behaving dubiously, and it requires a re-load in those cases. And if people don't reload.. meh?
Nov 01, 2015 Savet link
Any browser forcibly caching an item in excess of the expire time is kinda behaving poorly. Although it isn't mandated by RFC to purge the data unless I set the max-age directive in the cache control header.

But, fundamentally, the site isn't broken. Some browsers are behaving dubiously, and it requires a re-load in those cases. And if people don't reload.. meh?


But as a site operator and service provider, it is unfortunately on you to deal with the many horrible implementations of the standard or it looks like you are the one that is broken. This is getting better as IE continues to lose market share to more standards compliant browsers, but it's still a reality of the modern web.
Nov 02, 2015 incarnate link
Not really, if people don't reload, I don't consider the issue that critical. This isn't like the site rendering super-wrongly on 40% of browsers or something. Worst-case, we can put some text on the page that says "if the graph appears out of date, try re-loading the page".

And the browsers in question are mostly mobile, so IE doesn't deserve blame here (however rare that case may be). Most likely Android-Chrome and Safari hang onto their caches as long as possible..
Nov 02, 2015 Savet link
Just make it a dynamic image. The more text you give a user, the less they read. I'm not disagreeing with you, but it's about perspective. Don't create the opportunity for the user to feel like it's anyone's fault, just implement the workaround.
Nov 03, 2015 incarnate link
Again, I'm looking at making the page public, and potentially putting a bunch of other graphs on there that may be of wider interest to the world. If it gets slashdotted, I want the expires to actually work as intended (and/or CDN, if we add one).

I think you've made your case as well as can be expected. The points are good. I'll consider it.
Nov 04, 2015 yodaofborg link
You want the expires to work as intended, but will they? See the thing about the Internet is not only do the 1st tier ISP's have their own priorities, the 2nd tier ones do too. So do the tier 3 etc etc, and then you have to deal with how different devices/servers/routers deal with your "supposed" instructions to not cache, or when to re-cache. There is no way you can have control over this, especially when you are dealing with the multitude of devices connecting to your "service" via differing "services".

All you can hope to do is make it work for the masses, and your current implimention only works for those of us who will refresh a page after loading.

Do I smell A PS4 port coming? Dunno, but Sonys browser is "even worse" than Internet Explorer 6. Not only does it bugger up pages to make them fit a TV, but all connections run via a Sony Proxy. You simply cannot expect your web server to be the only "say-so" when it comes to caching. Things Like Opera-MAX/Cloudflare/Amazon Cloud make things EVEN WORSE (for users). ISP's may use these services even if the web host does not, think AOL. Or Comcasts first DSL service.

Making the image into a direct dynamic image as suggested will mitigate the crys, and if you start hitting bandwidth issues, can you not just host this (and a script to keep it up to date) externally? Maybe with one of the above services?

Of course, just bringing back the old "who is online" list is not going to happen, so how about just removing this service all together? The graph tells us nothing (1 Serco could be online, 2 Itani and 22 UiT and still the graph would not truly represent this) - remove it - problem gone.
Nov 04, 2015 Pizzasgood link
Lol @ the "I can't deal with the idea of relative quantities so it must be totally useless" argument.

I don't have a problem with making people who insist on using crappy tech hit reload.
Nov 04, 2015 incarnate link
Yoda, I have none of the expectations/assumptions that you're assigning to me. I already referenced transparent proxies above, that's why I'm maintaining expires. No, I don't expect all caches to obey expire. Or.. care?

All you can hope to do is make it work for the masses, and your current implimention only works for those of us who will refresh a page after loading.

Actually, just some people who previously loaded it, might have to refresh. WORKS AS EXPECTED.

I could also just add a max-age header to that page, which would eliminate all the mobile browser issues entirely.

and if you start hitting bandwidth issues, can you not just host this (and a script to keep it up to date) externally? Maybe with one of the above services?

Yes, good idea. For instance, a CDN could be useful for that, as I referenced above. Those work on expires. So, that's why I'm keeping expires.

how about just removing this service all together?

You would rather I remove something that many people do like (displays density of population, and relative distribution by nation), rather than have some people click "reload". Noted. I disagree.

I think you've made your case as well as can be expected.

By this I was attempting to gently say: "thank you, discussion concluded".
Nov 04, 2015 jordanmorgan14f link
Don't worry Incarnate, I will translate. What he is trying to say is "Get the fuck out of my face with that nonsense"
Nov 05, 2015 incarnate link
Ok, I think this thread has hit its useful lifespan, locking..