Skip to content

fix(oUF): guard secret IsAuraFilteredOutByInstanceID returns in aura filter flags#1853

Open
mjodheim wants to merge 1 commit into
tukui-org:mainfrom
mjodheim:fix/12.0-secret-aura-filter-taint
Open

fix(oUF): guard secret IsAuraFilteredOutByInstanceID returns in aura filter flags#1853
mjodheim wants to merge 1 commit into
tukui-org:mainfrom
mjodheim:fix/12.0-secret-aura-filter-taint

Conversation

@mjodheim

Copy link
Copy Markdown
Contributor

In Midnight (12.0), C_UnitAuras.IsAuraFilteredOutByInstanceID returns a secret boolean for secret auras. InstanceFiltered and ComputeAuraFlags did not <return> with no secret guard, so the auraIsX flags became secret and tainted UF:VerifyFilter's and/or chain — collapsing the execution budget into "script ran too long" freezes during the per-aura filter loop (observed at UnitFrames/Elements/Auras.lua:760, stack through oUF/elements/auras.lua -> UF:AuraFilter -> UF:VerifyFilter).

These were the only unguarded IsAuraFilteredOutByInstanceID returns in the file — every other API read here already uses oUF:NotSecretValue.

Routes the three call sites through a NotFilteredOut helper that coerces the result to a plain boolean via oUF:NotSecretValue; a secret aura defaults to false (not matched by the special filter), which is a safe no-freeze default. The and short-circuits so not never touches a secret value. Strict no-op when the return is not secret.

Sits cleanly on top of the merged #1851 (ComputeAuraFlags). Verified in-game: the Auras.lua:760 watchdog error and the associated freezes are gone.

…filter flags

C_UnitAuras.IsAuraFilteredOutByInstanceID returns a secret boolean for
secret auras in Midnight (12.0). InstanceFiltered/ComputeAuraFlags did
`not <return>` with no secret guard, so the auraIsX flags became secret
and tainted UF:VerifyFilter's and/or chain, collapsing the execution
budget -> "script ran too long" freezes during the per-aura filter loop
(observed at UnitFrames/Elements/Auras.lua:760).

Route the three call sites through a NotFilteredOut helper that coerces
the result to a plain boolean via oUF:NotSecretValue; a secret aura
defaults to false (not matched by the special filter). Strict no-op when
the return is not secret.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant