Bug - Not A Bug r15472 - Negative impact on Ezandora's Guide functionality - still broken in r15474

Magus_Prime

Well-known member
It seems that the changes to header handling in r15472 broke Guide's ability to automatically open the Guide pane in a side frame in the relay browser. Reverting to r15471 restores the expected behavior.

Tried with both Firefox and Chrome.
 
Last edited:

lostcalpolydude

Developer
Staff member
It seems that the changes to header handling in r15472 broke Guide's ability to automatically open the Guide pane in a side frame in the relay browser. Reverting to r15471 restores the expected behavior.

Tried with both Firefox and Chrome.

Guide has some behavior where it only does that if you have default frame sizes. Resize them at all and it doesn't work. I think Ezandora will finally have to change that part of her script.
 

Magus_Prime

Well-known member
But I haven't changed the frame sizes. This is failing on two different computers, with both Firefox and Chrome, something in the changes for r15472 are at the root of the problem.
 

lostcalpolydude

Developer
Staff member
You never changed the frame sizes during the past several years while KoL has had the ability to remember frame sizes?
 

Magus_Prime

Well-known member
Not that I can recall but even if I had the functionality works in every version of KoLmafia prior to r15472. I'm happy to provide any additional information that might help pinpoint the issue. What would help?
 

lostcalpolydude

Developer
Staff member
Not that I can recall but even if I had the functionality works in every version of KoLmafia prior to r15472. I'm happy to provide any additional information that might help pinpoint the issue. What would help?

Every version prior to 15472 ignored your KoL settings for saving frame sizes, so there's no surprise there. Apparently you never resized frames after opening the relay browser and then tried opening Guide in older mafia versions (go ahead, try it now if you don't believe me), which gives the same result you're seeing now.
 

Magus_Prime

Well-known member
I don't doubt your explanation but I can't try it just now as I'm at work. :) Your first sentence in your most recent post increased my understanding of what is happening. Thank you for the additional explanation.
 

Veracity

Developer
Staff member
Looking at debug logs showing browser interactions, I see no bug with KoLmafia relaying headers from the browser to KoL and relaying headers from KoL to the Browser - as compared to what I saw before 15472. In other words, it sure looks to me like KoLmafia is doing a better job of being an HTTP proxy.

From what I've gathered here, Guide wants to manipulate the size of frames - which seems inherently suspicious. KoL chooses the initial size of frames, but then it is completely up to the browser - which is to say, the user who controls the mouse and keyboard - to widen frames to their taste. Apparently, Guide wants to interpose itself in the middle and, somehow, change frame sizes, and have those changes override what the user did with their mouse in the browser. To be blunt, I'd call that a violation of user interface design: it is perfectly fine to override KoL's default appearance in a relay script - that's what relay scripts are for - but overriding user decisions about such is just broken. That's exactly the kind of thing that makes me scream when a web site overrides my will and changes something out from under me: if it gives me the power to change a UI element and I choose to do so, leave it the way I set it, damn it!

In this case, KoL provides an account option to remember and obey user-chosen frame widths in subsequent sessions. Without that, it sets the frame widths to its own choice every time you run it, but if you set that option, you are telling KoL that you want those widths - and please remember them next time, so I don't have to adjust them every session.

So, if Guide is changing "KoL's default frame widths", I fully expect that it would work only if the user did not say "let ME choose the frame widths, rather than using the defaults."

If Ezandora wants to discuss how (or whether) Guide should override user-specified user interface decisions - as emphasized and enforced by setting an account option in KoL itself - I'm all ears, but barring that, I have no intention of revisiting the changes in 15472/15474 any time soon.
 

Veracity

Developer
Staff member
Let me sum this up and, I hope, make it completely clear:

It is a goal/requirement of KoLmafia's Relay Browser that it not break KoL's interface. So, when the rollover timer did not show up in the charpane of the Relay Browser because we changed the HTML of the page, I fixed that, and that KoL feature now works just as well in the Relay Browser as it does in vanilla KoL. Similarly, when I became aware that KoL had a "remember my frame widths" option which didn't work in the Relay Browser because our behavior as an HTTP proxy was inadequate, I fixed that, and that KoL feature now works as well in the Relay Browser as it does in vanilla KoL.

In other words, it is a goal/requirement of KoLmafia that we do not REMOVE functionality from the KoL browser experience. We can ADD things - some of which are later implemented by KoL itself in different (and, depending on your taste, inferior ways). For example, we had Stationary Buttons before KoL had a CAB, we had up-arrow and shrug links in the charpane before KoL added more limited versions of those, we had "use" links upon item acquisition, before KoL added a right-click popup menu to acquired items, and we had counters in the charpane before KoL added timers. In some cases, KoL's implementation of the feature conflicts with KoLmafia's - CAB vs. Stationary Buttons is a prime example - but we do not override KoL's feature; we look at KoL's configuration options and only put in our feature if you have disabled KoL's feature.

Now, third-party addons that, effectively, run in the browser - Greasemonkey (which really is in the browser), and KoLmafia Relay Scripts (which are between the browser and KoL, but are otherwise similar) - can drastically modify the KoL interface and completely change the whole experience. They may or may not work with arbitrary KoL interface options; it is a goal of KoLmafia itself that it work, regardless of how KoL is configured, but if you install optional interface-modifying add-ons, it is not KoLmafia's job to force them to adhere to that same level of compatibility. As an example, consider ActiveChat. Before KoL came out with mchat.php ("Modern Chat"), this was layered on top of KoL chat and gave you tabbed chat. In order to use it, you had to set a collection of KoL char settings Just So.

And now, it appears that Guide requires a particular KoL Interface option - "remember my frame widths" - to be set Just So. In particular, off. The fact that it used to work regardless of that setting because KoLmafia had a bug that prevented that option from working does NOT mean that when KoLmafia fixes its bug and the KoL option now works correctly in the Relay Browser and Guide no longer works unless you have that KoL setting off (as it does, according to Lxndr in the Guide thread), that this "negative impact on Guide functionality" is a KoLmafia bug.

It is not a KoLmafia bug. It may not even be a Guide bug. It just means that if you want to use Guide, you have to configure a particular KoL option in a particular way, much as Active Chat required you to configure particular KoL options in particular ways.

I have nothing more to say about this Bug Report.
 
Top