KittyCatS! Community Forum

Full Version: Unpacking in Cattery
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
(02-12-2014 04:33 AM)Tad Carlucci Wrote: [ -> ]I watched Charm have the problem. I pointed out to her that the official position is all such occurrences are "user error." While she could not guarantee she clicked the correct box, she was pretty adamant she had. But, since she was not 100% sure it was not her error, we let it drop.

I know where, in the code, the error must be occurring. But, until Rocky's post I had no idea WHY it was occurring.

The observation about incomplete loading seems a likely culprit for the triggering event.

If so, it's not the size of the list but the speed at which the page FULLY loads (n.b.: not "starts to appear" .. not "appears on the screen" .. I mean FULLY as in all scripts, style sheets, and images, complete downloading and are processed by your web browser). On my Firefox, that means the cursor stops spinning and the messages ("Waiting .." "Transferring .." ... stuff like that) stop appearing on the bottom of my screen. Different versions or different browsers will have different hints.

Rocky's solution of waiting a good long time before clicking is good. Of course, it's not the best since it's easy to forget to wait; but it should work.

KC: Disable the new buttons for unpack, rename, menagerie boxes until [ document.readyState == "complete" ] should solve this.

While we could do that, i don't think its the cause, since the id is sent directly from the buttons to the functions that handle unpacking/Menagerie. In the worse case, if some of the code would not be loaded, it would simply fail to unpack completely, but not unpack the wrong cat. It would also not result in wrong images or traits shown, as they are directly extracted from the table row with matching ID, regardless if other rows are not loaded yet. if somehow one of the lists would be erased before clicking unpack a second time for the same cat, it would result in the wrong image/cat showing up, but not the wrong cat beeing unpacked.

I also tested this in a test cattery with 1000 cats and 6000 boxes, but couldn't reproduce it while it was loading, in different browsers. Neither could i reproduce it by accessing the catteries of those who reported it.

This test cattery was, while it was loading, a bit hard to handle, and i selected a few times almost the wrong cat. Also, as many cats with very similar traits were listed below each other, i had a hard time to figure out if i really clicked the right cat...

However, we have a solution that will solve any wrong un-packings in future. It will cover all errors be they due to SL, KittyCatS, browser or user error.

Thank you for your input as always.

Regards
KittyCatS
At the instant the user clicks the button, the variable "active_cat" is set to the database ID number for the cat, as given by the button clicked upon.

If the web page is not fully loaded, the variable "active_cat" is set to the cat under the cursor at the instant document.readyState becomes "complete".

If, at that instant, the mouse is over a box other than the intended (that is, the user wiggled down-screen a couple millimeters after the click) the variable changes value.

So, if the user clicks a button (say to unpack a box) before the document is fully loaded and accidentally wiggles the mouse to the box below (as will happen occasionally), AND while the user is peering at the (yes, correct) confirmation box, the document becomes fully loaded, the variable "active_cat" will be changed to the wrong box.

This bug can occur on all four Cattery tabs but, on the other three, the user must move the mouse a great distance, which is extremely unlikely.

When this bug occurs on the Menagerie button for a box, the user has recourse (go in-world, get a Magic Bottle).

Did I ever mention I hate timing bugs? They're all but impossible to replicate, and are so randomly sporadic they're hard to catch in the Wild.

When this bug occurs on the Name button, the user simply need correct the names of the two boxes effected.

When this bug occurs on the Unbox button, however, there is no recourse, nor does the user have the several-minute-delay in-world unboxing provides.

I assume your fix is to re-instate the delay and allow the user some form of "stop unpacking" as they would have in-world. Go for it! Consistency is A Good Thing.

Did I ever mention I hate timing bugs? They're all but impossible to replicate and are often so sporadic they're hard to catch in the Wild.
HI all!! we were finally able to reproduce this.

Based on your input, we were able to reproduce it in our 6000 box test cattery in the short time frame right before the cattery stopped loading and still was "laggy". Before that point the buttons didn't work at all.

We could not reproduce it in the catteries of those who reported it, as they loaded too fast for us, but if other people's computers were at a higher load it could happen for them.

So... any kind of computer lag at any point, not just when loading the page could produce this error.

We created a work around for the problem now.

Anyone who has had a problem in the past regarding this issue, please file a ticket.
Additionally we will still provide the "general solution" mentioned in our previous post.

Thank all who brought this to our attention and sorry for the mess up!

Your KittyCatS Team
Pages: 1 2
Reference URL's