File Details
v1.1.0
- R
- Apr 29, 2026
- 288.65 KB
- 10
- 12.0.5
- Retail
File Name
GOBIGnINTERRUPT-v1.1.0.zip
Supported Versions
- 12.0.5
GOBIGnINTERRUPT
v1.1.0 (2026-04-29)
Full Changelog Previous Releases
- v1.1.0 - non-addon peer coverage: auraAliases + spec-aware AuraMap + polling fix
Major non-addon-peer detection improvements that v1.0.1 missed.
auraAliases on 8 spells whose buff name differs from the cast name:
Ascendance (Ele/Enh/Resto), Metamorphosis (Hav/Veng), Berserk (Guardian),
Voidform (Void Eruption), Incarnation: King of the Jungle (Feral). These
resolve via Evidence's UNIT_AURA path for peers without GBI installed.
AuraMap.LookupByName is now spec-aware. byNameClass[name][class] is a
candidate list; LookupByName(name, classToken, specID) picks the entry
matching the unit's spec. Resolves the Bladestorm 227847/46924 collision
(Arms vs Fury) and the Ascendance 114050/114051/114052 spec triplet that
previously had last-loaded-wins behavior.
Evidence.lua poll loop no longer breaks on private auras. M+ encounters
broadcast Private Auras at arbitrary slots; reading those throws under
pcall. The oldbreakmissed every legit CD buff at higher slots,
which manifested as party CDs being detectable outside combat but
invisible during boss fights. New code skips unreadable slots and
requires two consecutive nils for end-of-list detection. Evidence also
passes specID to LookupByName and logs castedAt in the poll-detect debug
line so the back-date launder is visible in /gbi log output.
Removed speculative 342245 ("Alter Time" 50s) — it collided with 110909
by name+class and made name-based detection non-deterministic.
Audit-finding fixes:
Brain.lua C_Timer.After now uses (endsAt - now), not full effDur. For
back-dated Evidence detections, OnCDReady, inFlight decrement, and the
all-ready latch were firing N seconds late where N was the back-date
amount. Visual swipe was correct (Bar uses endsAt) but secondary
triggers misfired.
Brain.UpdateRemaining guards against nil endsAt. Stack-resource entries
(Devourer DH Void Meta) intentionally have endsAt=nil; a stray D delta
from a peer would have crashed math.abs.
UnitOverlay.lua ensureContainer preserves c.icons across host rebinds.
Compact party frames re-sort on roster updates / INSPECT_READY /
PLAYER_SPECIALIZATION_CHANGED — the oldc.icons = {}wipe erased
every live cooldown's state AND every placeholder until the next
M.Show() repopulated, which manifested as the overlay flickering empty
and live cooldowns "forgetting" they were on CD. Reparent each icon
onto the new container; defensively re-stamp SetCooldown for entries
with active endsAt. noAddonTag is also detached on rebind.
Dev tooling: tools/check-junction.ps1 to detect junction divergence
(when an addon manager replaces the symlink with a real copy).
.gitignore excludes audit/test scaffolding.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

