Raider.IO Mythic Plus, Raid Progress, and Recruitment

Raider.IO Mythic Plus, Raid Progress, and Recruitment

341M Downloads

Interface/AddOns/RaiderIO/core.lua:1267: Raider.IO Config expects Get(key[, fallback]) to only be used after the addon saved variables have been loaded.

JourneyOver opened this issue · 4 comments

commented

Not sure what is causing this problem, think it could be something coming from this UI compilation but they say that there addon doesn't touch anything to do with raider.io ... Mostly comes up on upon first login and or any subsequent /reload ..

Full error below:

Interface/AddOns/RaiderIO/core.lua:1267: Raider.IO Config expects Get(key[, fallback]) to only be used after the addon saved variables have been loaded.
Count: 1

Call Stack:
[string "=[C]"]: ?
[string "=[C]"]: in function `assert'
[string "@Interface/AddOns/RaiderIO/core.lua"]:1267: in function `Get'
[string "@Interface/AddOns/RaiderIO/core.lua"]:5726: in function <Interface/AddOns/RaiderIO/core.lua:5725>
[string "@Interface/AddOns/RaiderIO/core.lua"]:63: in function <Interface/AddOns/RaiderIO/core.lua:62>
[string "=[C]"]: ?
[string "@Interface/SharedXML/CallbackRegistry.lua"]:178: in function <Interface/SharedXML/CallbackRegistry.lua:177>
[string "=[C]"]: ?
[string "@Interface/SharedXML/CallbackRegistry.lua"]:181: in function `TriggerEvent'
[string "@Interface/SharedXML/Scroll/ScrollBox.lua"]:222: in function `SetScrollTargetOffset'
[string "@Interface/SharedXML/Scroll/ScrollBox.lua"]:714: in function <Interface/SharedXML/Scroll/ScrollBox.lua:696>
[string "=[C]"]: in function `Update'
[string "@Interface/SharedXML/Scroll/ScrollBox.lua"]:135: in function <Interface/SharedXML/Scroll/ScrollBox.lua:129>
[string "=[C]"]: in function `GetWidth'
[string "@Interface/AddOns/NDui/Core/Functions.lua"]:1041: in function `ReskinTrimScroll'
[string "@Interface/AddOns/NDui/Modules/Skins/Blizzard/FrameXML/FriendsFrame.lua"]:144: in function `func'
[string "@Interface/AddOns/NDui/Modules/Skins/Skins.lua"]:33: in function `LoadAddOnSkins'
[string "@Interface/AddOns/NDui/Modules/Skins/Skins.lua"]:60: in function `OnLogin'
[string "@Interface/AddOns/NDui/Init.lua"]:136: in function `func'
[string "@Interface/AddOns/NDui/Init.lua"]:23: in function <Interface/AddOns/NDui/Init.lua:18>

edit to add onto instead of creating a new issue: also not sure what is going on with raider.io but it has not been recording my keys correctly for at least the past 12-16 hours in terms of it showing up on the site right after the key like it usually does (this has been an ongoing issue with Throne of the tides compeltely) and instead takes a while for it to show up and with no verification mark. (though maybe this is because I'm still running 3.1.1 of the raider.io client and I see that you have done some "live tracking improvements" in pre-release versions (so guess I'm going to download and try them out over the next couple days and see if that at least improves things showing up on the site in a timely manner)

commented

Reading the callstack it appear that calling WhoFrame.ScrollBar:GetWidth() causes a cascade of events to trigger, it ultimately starts a Update process that also calls SetScrollTargetOffset and that in turn causes a OnScroll event to occur, thus causing RaiderIO to run it's own OnScroll handling code before RaiderIO fully loads, thus getting that error.

I am not quite sure yet, even if I looked over the codes and think I found out the cause, on what the best solution to this is, since ultimately I don't think anyone expects GetWidth to do more than getting the width of a widget, but in this case it appears more happen. 🤔

commented

Yea sadly I'm not sure as well what is the full cause of this issue, I'm still mostly leaning towards it being a issue coming from the UI compilation that I had linked especially since the UI compilation is in the error message. Right now I'm just mostly trying to ignore it since it seems to only happen on first login and whenever I do a /reload, but it would still be nice either way to get to the bottom of things and hopefully find a fix of some kind.

commented

I looked a bit more into it and noticed a missing load condition, so I added that in the commit just just now dba042f and it should fix this issue.

In short this block was added:

raiderio-addon/core.lua

Lines 5737 to 5739 in dba042f

function tooltip:CanLoad()
return WhoFrame and config:IsEnabled()
end

To ensure that this code only runs once the config module is ready to be used. So this way we hook the ScrollBox at a time when even if it is called, we are now ready to receive those events.

raiderio-addon/core.lua

Lines 5741 to 5746 in dba042f

function tooltip:OnLoad()
self:Enable()
local hookMap = { OnEnter = OnEnter, OnLeave = OnLeave }
ScrollBoxUtil:OnViewFramesChanged(WhoFrame.ScrollBox, function(buttons) HookUtil:MapOn(buttons, hookMap) end)
ScrollBoxUtil:OnViewScrollChanged(WhoFrame.ScrollBox, OnScroll)
end

Previously the OnLoad got executed too early in the process, which was not really intended.

After you try this code (will be part of the next addon update within the next 24 hours) let me know if this helped fix the issue with NDui.

commented

So I went ahead and made the code changes myself from your commit dba042f and went in and tested and it looks like that seems to have fixed the issue as I am no longer getting the lua error on login or doing /reload unless I revert the changes.

So it looks like everything is now working correctly for the time being with the changes that was done ^_^