File Details
107
- R
- May 4, 2026
- 301.49 KB
- 49
- 12.0.5
- Retail
File Name
BazCore-107.zip
Supported Versions
- 12.0.5
BazCore
107 (2026-05-04)
Full Changelog Previous Releases
- v107: BazCore:SafeBool helper for Midnight tainted booleans
Adds a shared helper alongside SafeString and SafeNumber. Midnight
extended secret-taint to booleans on certain API surfaces - notably
LuaDurationObject:IsZero() on cooldown duration objects when the
spell data flows through tainted events. A direct boolean test (if x then,not x) on a tainted bool throws ADDON_ACTION_BLOCKED, and
the throw happens INSIDE the test so a pcall around it doesn't help.
SafeBool round-trips through string.format("%s", b) - same laundering
pattern SafeString uses for tainted strings - and compares the result
against the canonical "true" string. Returns a clean Lua boolean
(or nil for missing input).
Companion guidance in the dev reference (S10): prefer the duration
object's own :HasSecretValues() method as a gate when available,
since it's documented ReturnsNeverSecret = true and avoids the
round-trip entirely. Use SafeBool when you have a value of unknown
taint and need to test it directly.
Discovered while building BazBars cooldown-fade (since reverted -
the underlying detection problem can't be fully solved with these
primitives alone, but the helper is still useful for future work).