#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