Repository navigation
HeadsUpCDM
v2026.4.15.0 (2026-04-15)
Full Changelog Previous Releases
- fix: restore Ayije CDM coexistence after 3.80 ForceRestyleAll regression (#14)
- fix: prevent Ayije 3.80 ForceRestyleAll from resizing our CDM frames
Ayije 3.80 added a new ForceRestyleAll function (registered as the
"viewers_style" refresh callback) that iterates every active itemFrame
in Essential and BuffIcon viewers and calls ApplyStyle, which calls
frame:SetSize() with Ayjie's configured icon size — resizing our 48x48
frames and breaking visual alignment with our row anchors.
Add a fifth interop patch that hooks CDM.ApplyStyle and early-returns
when the frame is a Blizzard CDM item frame (has cooldownID) in one of
our owned viewers. The cooldownID gate keeps Ayjie's own tracker frames
(Trinkets/Defensives, which are styled with vName=ESSENTIAL but lack
cooldownID) on their normal styling path.
Also extend the version-safety check to require ApplyStyle.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com - chore: address review feedback
- Make Patch 5 conditional on CDM.ApplyStyle existing, and remove
ApplyStyle from the mandatory version gate so Patches 1-4 still
activate on pre-3.80 Ayije builds. - Return false (not bare return) from the ApplyStyle skip path for
consistency with Patches 1-2. - Add a regression test asserting the nil-frame guard delegates safely.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com - fix: prevent Ayije 3.80 ForceRestyleAll from resizing our CDM frames