Ostoic / RaidBrowser

Bringing LFR to Wrath of the Lich King (Non-Classic)
MIT License
36 stars 19 forks source link

Tooltip no longer showing up #23

Closed SimonVerboven closed 1 year ago

SimonVerboven commented 1 year ago

I've been using this addon for a while now while playing on Warmane, but yesterday or today suddenly the tooltip on hover stopped working. I'm referring to the original text you get to see when you post over an entry in the Raid Browser frame.

I did not install any new addons, and I've even tested the addon by running it on a fresh WoW install without any addons other than this one, and the result is always the same.

I turned on Lua error display as I figured something must be going wrong, and indeed, upon hovering over the entry I then get the following:

Message: [string "local a=GameTooltip;local b,c,d,e,f,g,h,i=a..."]:1: bad argument #3 to 'format' (number expected, got nil)
Time: 01/24/23 17:42:57
Count: 1
Stack: [C]: in function `format'
[string "local a=GameTooltip;local b,c,d,e,f,g,h,i=a..."]:1: in function <[string "local a=GameTooltip;local b,c,d,e,f,g,h,i=a..."]:1>

Locals: (*temporary) = "%s %u |c%s%s (%u/%u/%u) (%.0f)"
(*temporary) = "Level"
(*temporary) = nil
(*temporary) = "ffffd100"
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "number expected, got nil"

As mentioned, the addon has been working fine for months and only now this error popped up, even on a fresh WoW install.

Also maybe worth mentioning is that I tried replacing my addon with the latest version from here on Github, but this didn't make a difference (possibly even was the same version, didn't check).

MassCraxx commented 1 year ago

I might have found a solution for this. Maybe test out https://github.com/MassCraxx/RaidBrowser/tree/dev and let me know if this works for you.

kylep1998 commented 1 year ago

i copied your core and gui files and it works now @MassCraxx

Ostoic commented 1 year ago

I'll look into this tonight when I get off work. Thanks for making an issue!

adechan commented 1 year ago

Works great! Nice job @MassCraxx <3

SimonVerboven commented 1 year ago

Can confirm it's working here as well. Downloaded the core & gui files and replaced my local ones and things are working fine again. Did something change on Warmane side? Bit odd it stopped working out of the blue.

Ostoic commented 1 year ago

Can confirm it's working here as well. Downloaded the core & gui files and replaced my local ones and things are working fine again. Did something change on Warmane side? Bit odd it stopped working out of the blue.

Honestly, I'm not exactly sure what happened. I haven't been playing WoW recently, and the only thing I've heard from friends that do still play is that they restricted the global channel to ASCII text only.

I saw that @MassCraxx fixed a bug where the wrong variable name was returned for the minutes text in the time formatting function in gui.lua. Otherwise, they just moved the OnClick and OnEnter/OnLeave listeners into a more sane location. Perhaps because of this, there was a global variable name conflict that was causing the function to return a null value instead of the number of minutes since the last message was sent.

As for a change by Warmane, the only thing I could think of that would allow Warmane to modify Lua on the client-side is a new anticheat scan. One of the checks they used to do is to inject Lua into the client to test for global variables or chat messages that would indicate PQR or EWT usage. Perhaps they are polluting the global namespace? Occam's razor suggests this is probably something else though.

Ostoic commented 1 year ago

Actually instead of all that nonsense (lol), I think Warmane just slightly modified the behavior of GetSavedInstanceInfo. Instead of returning (what I believe was) 0 for the number of seconds remaining until one of your saved instances resets, they return nil in the event that an instance is not saved. Perhaps @MassCraxx might be able to provide some insight?