Skip to content
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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

emptyrivers
Copy link
Contributor

@emptyrivers emptyrivers commented May 15, 2024

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)

@emptyrivers emptyrivers added 🏨 Bugfix This pull request fixes an issue. 🏃 Performance Issue This issue concerns the performance impact of WeakAuras. labels May 15, 2024
@@ -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)
Copy link
Contributor Author

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.

@emptyrivers emptyrivers changed the title add build date to pr comment & edit isntead of recreate hide dynFrame if combat starts with living threads May 15, 2024
@emptyrivers emptyrivers force-pushed the pls_dont_time_me_out branch 2 times, most recently from b5ab754 to 8080b4c Compare May 15, 2024 16:30
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)
@InfusOnWoW
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏨 Bugfix This pull request fixes an issue. 🏃 Performance Issue This issue concerns the performance impact of WeakAuras.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

WA Options stuck on loading
2 participants