#74 Secure snippet compiler missing after environment cleanup
Status: Awaiting review · Area: UI & Interface · Addons & API
Addons like Clique cannot bind spells to keyboard keys because secure handlers error out during startup.
Current behavior
Issue: - impossible for addons like clique, danders etc to bind spells for Mouse over on keyboard keys -> Blizzard_RestrictedAddOnEnvironment/RestrictedExecution.lua:79: attempt to call a nil value (loadstring_untainted=nil). Secure handlers crash during initialization when calling CallRestrictedClosure. Root Cause: In Blizzard_EnvironmentCleanup.toc, line 8 omits camelot from Blizzard_RestrictedAddOnEnvironment dependency rules ([AllowLoadGameType classic, standard]). Because of this, Blizzard_EnvironmentCleanup runs prematurely and wipes loadstring_untainted before RestrictedExecution.lua can capture it into a local variable. Standalone Out-of-Combat Repro: /run local f=CreateFrame("Frame",nil,UIParent,"SecureHandlerBaseTemplate"); f:Execute('self:SetAttribute("probe",true)'); print("Secure snippet:",f:GetAttribute("probe")) (Result: Throws nil error in RestrictedExecution.lua:79) Proposed Fix: In Blizzard_EnvironmentCleanup.toc, update line 8:
Expected behavior
Addons should be able to bind spells to keyboard keys to work on frames, as blizzard click casting feature only allows mouse left/right (with/without modifiers) click bindings
How to reproduce
Install clique, danders or other forever specific addon with the ability to bind spells to keyboard keys -> the spells wont work in forever, but in classic or retail they do