cd2a99bd02
release / release (push) Successful in 3s
Calling bar:UpdateStates() on every zone load was the most likely path to the "AddOn 'Bartender4' prevented the call of the secure function 'SecureStateDriverManager:SetAttribute()'" warning — RegisterStateDriver runs internally and every zone fired it across all bars, sometimes while Bartender's own init was still resolving secure state. - Drop PLAYER_ENTERING_WORLD as a trigger. Bartender's own init handles the initial state; UPDATE_SHAPESHIFT_FORMS fires when forms become resolvable on login, so the original intent still holds. - Cache the shapeshift-form signature and skip the refresh if it hasn't actually changed since last run. Avoids redundant secure attribute churn from routine UPDATE_SHAPESHIFT_FORMS spam. - Combat-lockdown guard + PLAYER_REGEN_ENABLED queue-drain unchanged.