File Details
v0.10.31
- R
- Mar 20, 2026
- 5.79 MB
- 13
- 12.0.1+1
- Retail
File Name
Cerebro-v0.10.31.zip
Supported Versions
- 12.0.1
- 11.2.7
Cerebro
v0.10.31 (2026-03-20)
- chore: Bump version to 0.10.31
Batch EPGP broadcast reduces boss kill sync from 120-180s to ≤5s. Adds convergence tracking, Sync Leader exclusive boss kill processing, and PR sort tiebreaker in RCLC voting frame. - Merge pull request #37 from Shezzannn/feature/sync-efficiency
feat(sync): Batch EPGP broadcast, convergence tracking, Sync Leader boss kill - fix(sync): address PR37 validation findings — quarantine guard, dedup, ACK hardening
C1: Add quarantine guard to BATCH_EPGP_UPDATE handler (blocks ingestion
during factory reset window)
C2: Add IsOfficerSafe() guard to BATCH_ACK handler (only Sync Leader
needs convergence tracking)
C3: Add dual-channel batch dedup via batchKey (senderName:timestamp)
to prevent double-processing
A1: InvalidateHashCache() before ComputeRosterHash in ACK path so
the ACK carries post-award hash, not stale cached value
B: Change BroadcastBatchEPGPUpdate from dual-channel (RAID+GUILD) to
single-channel (RAID when in raid, GUILD otherwise); benched
players receive awards via PushAfterAward snapshot sync - fix(ui): CustomEP popup crash on WoW 12.x (self.text → self.Text)\n\nStaticPopup frames renamed 'text' to 'Text' (capital T) in WoW 12.x.\nBoth OnShow callbacks now use defensive fallback: (self.Text or self.text)\nto support both old and new client versions.
- fix(sync): add IsOfficer guard to BATCH_EPGP_UPDATE, Sync Leader-only heartbeat, RCLC PR sort tiebreaker\n\n- BATCH_EPGP_UPDATE handler: add IsOfficer(sender) guard at handler level\n (prevents wasted iteration and false BATCH_ACK for non-officer senders)\n- SyncScheduler:OnHeartbeat(): gate periodic V2 heartbeats to Sync Leader\n only during raids (~85% bandwidth reduction). Event-driven heartbeats\n via NotifyStateChange() are unaffected.\n- RCLC_Bridge: 3-tier tiebreaker in PR sort (PR → response rank → name)\n to eliminate visual shuffle from Lua's unstable table.sort
- feat(sync): batch EPGP broadcast, convergence tracking, Sync Leader boss kill
9 changes to reduce EP/GP sync latency from 120-180s to ≤5s:- Change 1: BroadcastBatchEPGPUpdate (1 RPC instead of N)
- Change 2: BATCH_EPGP_UPDATE RPC handler with BATCH_ACK
- Change 3: PushAfterAward immediate snapshot push (1s debounce)
- Change 4: Frame-level hash caching for ComputeRosterHash/ConfigHash
- Change 5: Batch-aware AwardEPToSelected (silent collect + batch)
- Change 6: Sync Leader exclusive boss kill (IsSyncLeader gate)
- Change 7: Dynamic combat exit polling via UnitAffectingCombat
- Change 8: Silent award option for AwardEP/ChargeGP
- Change 9: Convergence tracker with straggler retry + officer reports
Files changed: EPGP.lua, Session.lua, CommunicationV2.lua, SyncScheduler.lua, .luacheckrc

