-
-
Notifications
You must be signed in to change notification settings - Fork 293
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hide dynFrame if combat starts with living threads #5083
base: main
Are you sure you want to change the base?
Conversation
@@ -1668,8 +1668,8 @@ local function scanForLoadsImpl(toCheck, event, arg1, ...) | |||
local encounter_id = WeakAuras.CurrentEncounter and WeakAuras.CurrentEncounter.id or 0 | |||
|
|||
if (event == "ENCOUNTER_START") then | |||
encounter_id = tonumber (arg1) | |||
CreateEncounterTable (encounter_id) | |||
encounter_id = tonumber(arg1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
well I didn't mean to include this change, but oh well. I'm not taking it out.
b5ab754
to
8080b4c
Compare
nothing that we put into dynFrame threads is meant for in-combat execution anyways, so to avoid random unexpectedly short timeouts, pause execution if combat starts, and resume after combat ends. There's potential for WeakAuras to be 'broken' during that combat session (due to dynamic groups being Pause()'d), but we probably couldn't have unbroken it given that ResumeAllDynamicGroups is too costly to call during combat lockdown without risking a timeout. Fixes WeakAuras#4967 (or at least, reduces its likelihood)
8080b4c
to
e65b267
Compare
Hmm, I think I agree with your analysis of where the bug comes from. I wonder whether dynFrame:AddAction should also do a InCombatLookdown check before showing the dynFrame. And I'm not sure what will happen if a user logins while in an encounter, whether that fires PLAYER_REGEN_DISABLED or not, and if that comes after PLAYER_LOGIN or not. |
nothing that we put into dynFrame threads is meant for in-combat execution anyways, so to avoid random unexpectedly short timeouts, pause execution if combat starts, and resume after combat ends.
There's potential for WeakAuras to be 'broken' during that combat session (due to dynamic groups being Pause()'d), but we probably couldn't have unbroken it given that ResumeAllDynamicGroups is too costly to call during combat lockdown without risking a timeout.
Fixes #4967 (or at least, reduces its likelihood)