File Details
103
- R
- May 3, 2026
- 300.49 KB
- 4
- 12.0.5
- Retail
File Name
BazCore-103.zip
Supported Versions
- 12.0.5
BazCore
103 (2026-05-03)
Full Changelog Previous Releases
- BazCore v103 - Welcome message: defer one tick so BazChat reassigns DEFAULT_CHAT_FRAME first. The user reported the suite welcome line wasn't showing in chat, and noted that Guild MOTD also wasn't showing - the second symptom is a useful diagnostic clue. v102's welcome message ran inside the existing BazCoreSelfPages QueueForLogin handler. QueueForLogin handlers fire synchronously at PLAYER_LOGIN in registration order. BazCore's handler is queued at file load when Core.lua is parsed; BazChat's Replica:Start is queued at file load when its Init.lua is parsed. BazCore.toc loads BazCore before BazChat (BazChat depends on BazCore), so BazCore's welcome handler runs FIRST in the queue, then BazChat's start handler runs SECOND. BazChat's start handler does Window:CreateAll which reassigns _G.DEFAULT_CHAT_FRAME to its replica window 1 - that's how all subsequent print() calls and addon prints route into BazChat. But by the time our welcome print() ran, DEFAULT_CHAT_FRAME was still Blizzard's ChatFrame1 (hidden by BazChat's HideDefault:Apply earlier in the same handler). The print landed on a hidden frame, invisible. Same root cause as the missing Guild MOTD: Blizzard's chat-info system fires CHAT_MSG_GUILD_BOSS_EMOTE / GUILD_MOTD events which Blizzard's chat code prints to its own (hidden) ChatFrame1; BazChat's replica only receives messages it explicitly subscribes to via the chat event filter chain, and addon prints aren't part of that. Wrapping the welcome block in C_Timer.After(0, ...) defers it to the next event-loop tick - by then every other login-queued handler has completed including BazChat's DEFAULT_CHAT_FRAME reassignment, and our print routes into the replica's visible window. C_Timer.After(0, fn) is the canonical 'next tick' idiom in WoW; the timer fires on the very next OnUpdate which is after the synchronous PLAYER_LOGIN dispatch loop has wound down. No behavior change when BazChat isn't loaded - the welcome just runs one tick later than before, indistinguishable to the user, bump to 103