File Details
v0.31.0
- R
- May 5, 2026
- 349.90 KB
- 11
- 12.0.5
- Retail
File Name
GuildBankLedger-v0.31.0.zip
Supported Versions
- 12.0.5
GuildBankLedger
v0.31.0 (2026-05-05)
Full Changelog Previous Releases
- Merge pull request #16 from RussellFeinstein/feat/silvermoon-citizen-mute
Add Silvermoon Citizen ambient-chatter mute (v0.31.0) - Stamp release 0.31.0 (v0.31.0)
Bumps every version artifact for the Silvermoon Citizen ambient-mute
work landing in this PR: VERSION, .toc, Core.lua VERSION constant,
CHANGELOG.md header, in-game CHANGELOG_DATA, and project CLAUDE.md.
Minor bump because the release adds a new config key
(db.profile.chatFilters.muteAmbientNPCs), a new module (ChatFilters.lua),
a new slash command (/gbl bubbletest), and a new user-visible UI toggle.
DEV_BUILD remains nil.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com - Add Silvermoon Citizen ambient-chatter mute
New optional filter that suppresses both the chat-frame line and the
world speech bubble for Silvermoon Citizen NPCs around the guild bank.
Off by default; checkbox lives on a new always-visible personal-prefs
row in the main UI.
ChatFilters.lua holds the muted-name set as a Lua table so a future
addition is a one-line edit. Chat-frame side uses
ChatFrame_AddMessageEventFilter for MONSTER_SAY/YELL/EMOTE. Bubble side
uses AceEvent for SAY/YELL, queues the stripped message text, and a
50ms ticker walks C_ChatBubbles.GetAllChatBubbles() to hide bubbles
whose FontString text matches (exact, with substring fallback for
engine-side wrapping). Hide is SetAlpha(0) + Hide on the bubble and
its visible regions, plus reparenting to a hidden frame, since plain
Hide is sometimes re-shown by the engine.
A new /gbl bubbletest slash command dumps the API availability,
toggle state, suppression queue, and every active bubble's text with
a [MATCH] tag, for diagnosing the case where chat is muted but a
bubble survives.
Tests cover predicate gating (nil sender, toggle off, case sense,
default-off), formatting strip (color codes, item links, whitespace),
queue lifecycle, and exact + substring match.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com