SBN wrote: Gives a whole new meaning to "Up all night to get Lucky," doesn't it?
I really wanted to make the game post the lyrics to @mscha's ottification of that song, but it will have to wait until I get back from Japan (I'm bringing the song and lyrics with me, so I can write Q04B-specific lyrics). But Lucky moves at approximately the right tempo, so you can imagine it. The real problem is that the 5-beat repeating pattern in the animation doesn't match the 4:4 metrical signature of the song. There's a future molpy boost that will have a 4:4 pattern, but that'll have to wait too
and I have learned why one must polyfill Function::bind for Mobile Safari.
While working on the Lucky boost I saw any number of mustardly things happening in Q04B when I try to reload and test.
Empty grid (no tiles)
Grid with tiles, looks okay but when you try to move, nothing happens
Lucky works on desktop, but not on mobile
Lucky works on mobile, but not on desktop
Lucky starts but won't stop (where did I put that thwapstick?)
After a period of no change, the first new revision loads into browser, but can't get the next revision to show up unless I wait at least 10 minutes
I've figured out much of what is going on. Imagine that a webpage is changing all the time, and you keep hitting F5 to see the updates. Perhaps it's a liveblog of an event, or a hotdog, or a news story. Due to the nature of browser caches and the Cache-Control: headers provided by servers, it is often the case that you'll get no more than one new version of a webpage every ten minutes, or some other fixed period of time. I mention ten minutes because it's a very common expiry interval. For example, if you fetch castle.chirpingmustard.com the Expires: field is exactly ten minutes after the Date: field, and there is no Cache-Control: must-revalidate. This means that if you've just loaded the page, then 1 minute later @Eternal Density or another of the SB hotdog vendors puts an update there, and then another minute later you navigate away and then navigate back, you won't see the new version unless you explicitly reload or wait longer before navigating back.
I've addressed this partially by putting Cache-Control: max-age=0 on the manifest and Cache-Control: max-age=60, must-revalidate on everything else. I then discovered another : If someone tries to get a file at the same moment my bots are sending a new version of that file to the webserver, they might get a completely empty "file". This happens annoyingly often to version.js, so I've had to put special code in the rest of the game to handle a missing version.js. Fun.
So, here are some things to do when any of the above things happen:
- Go to the Options&Info page get the game data from the Import/Export section. Save this somewhere.
- Try reloading. If mustard persists, just leave the mustardy screen displayed for a few minutes, then try a reload. If mustard persists, Wait half a newpix and try yet again. (It takes two times, because the first time the mustard is there but the browser is checking for and downloading a new version; but you still have to reload again to actually see the new version).
- If mustard persists, PM me (I'm probably trying to fix it, but maybe I'm completely unaware).
- If you got your game data from Import/Export, then you can go to another browser. That browser won't have a mustardy copy of the hotdog, so you have a fresh shot at getting the updated version. Also, in another browser you can empty the browser cache and application data, something you might not want to do in your main browser.
Having said all that, I'm going to Japan for a week, so I won't be changing Q04B and hopefully that means no new problems. (I did test it a lot after making my most recent changes, and it seems stable.) But if it's looking bad, export, empty your browser cache and try again.
ᏕIn fact, it may be related to what was happening here and here, though GitHub surely has its own layers of cacheing that add extra mustard.
Edit: What, huh? My script told me I was going to be the goat. Huh.
OTTify something Japanese — ゴジラ (Godzilla), トトロ, ...
You get the idea.