Releases: stroexd/GuildMute
Releases · stroexd/GuildMute
Release list
v0.5.1
GuildMute
v0.5.1 (2026-06-29)
Full Changelog Previous Releases
- v0.5.1 — WIM whisper fix & guild-change warning
Co-authored-by: Claude noreply@anthropic.com - Merge pull request #1 from stroexd/claude/wim-whisper-guild-change-kdyl7b
Fix WIM whisper passthrough and stale mute list after guild change - Warn instead of clearing mute list on guild change
Auto-clearing on /gm guild was too destructive — the list may have been
built up over time via passive learning and manual scans. Instead, print
how many entries remain from the previous guild and hint at /gm scan
(to add new members) or /gm clear (to start fresh), leaving the choice
to the user. - Fix WIM whisper passthrough and stale mute list after guild change
Two issues reported: guild members' whispers still appearing via WIM
after /gm guild change, and history being empty (nothing was filtered).
Filter.lua: Insert our ChatFrame_AddMessageEventFilter at position 1 so
it runs before WIM's filter. WIM redirects whispers to its popup window
and returns true in its own filter; if it registered before us, our
filter never ran. Moving to position 1 ensures we suppress the message
first and WIM never sees it.
Core.lua: When /gm guild changes to a different guild, clear the mute
list and hint to run /gm scan. Previously, changing guild left the old
guild's names in the list while the new guild's members were never added,
so their whispers passed through unfiltered (explaining the empty history).
v0.5.0
GuildMute
v0.5.0 (2026-06-03)
Full Changelog Previous Releases
- Remove blocked /who auto-scan (protected SendWho)
SendWho()/C_FriendList.SendWho() is a protected function that only runs
from a hardware event (keypress/click). The C_Timer-driven auto-scan ran
outside any hardware event, so on Anniversary realms it triggered
ADDON_ACTION_BLOCKED: "GuildMute tried to call the protected function
'SendWho()'".
Drop the periodic scan entirely: remove StartAutoScan, the
PLAYER_ENTERING_WORLD trigger, the /gm interval command and the
scanIntervalMin setting. The roster now fills passively (mouseover/target)
plus manual /gm scan, which is a hardware event and works. Bump to 0.5.0.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - CI: bump actions/checkout to v5 (Node 24)
actions/checkout@v4 runs on Node 20, which GitHub is deprecating on the
runners. v5 runs on Node 24.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - Update README.md
removed example guild
v0.4.1
GuildMute
v0.4.1 (2026-04-26)
Full Changelog Previous Releases
- Release 0.4.1: wire up CurseForge upload
- Set CurseForge project ID in TOC
- Long-form README in HeyListen style; trim CURSEFORGE.md
README is now the canonical long description (Why, Requirements,
Installation, Setup with concrete example, Sharing the list across
characters, full Commands table, Limitations, License, Author) — same
shape and tone as HeyListen's README.
CURSEFORGE.md keeps the two summary variants and points the long
description at README.md so we don't maintain two copies. - Add icon, CurseForge listing copy, generate PNGs
- Media/icon.svg: bronze ring (matches HeyListen for in-house
consistency), dark crimson disc, parchment speech bubble with three
dots, diagonal red "no" slash. Reads as "muted chat" at 32px and up. - Media/build-icons.sh: SVG -> PNG renderer (reused from HeyListen),
outputs 32/64/128/256/512. - Media/icon-*.png: pre-rendered listing assets.
- CURSEFORGE.md: short and long summary plus Markdown long-description
ready to paste into the CurseForge project page. - .pkgmeta ignores Media/icon.svg, Media/build-icons.sh, and
CURSEFORGE.md from the packaged release zip.
- Media/icon.svg: bronze ring (matches HeyListen for in-house
v0.4.0
GuildMute
v0.4.0 (2026-04-26)
Full Changelog Previous Releases
- CurseForge release polish: LICENSE, CHANGELOG, .pkgmeta, release workflow
Brings the project structure in line with HeyListen so a tag push will
build and release through BigWigsMods/packager.- LICENSE (MIT, 2026 Stroe-Spineshatter).
- CHANGELOG.md covering 0.1.0 through 0.4.0 (Keep a Changelog format).
- .pkgmeta declaring Ace3 + LibStub externals and ignoring dev-only
config from the packaged build. - .github/workflows/release.yml triggering on v* tags via
BigWigsMods/packager@v2. - TOC: X-License: MIT and X-Website pointing at the repo.
X-Curse-Project-ID is intentionally omitted; can be added once the
project exists on CurseForge.
- Drop hardcoded guild default; align ignore rules with HeyListen (0.4.0)
- targetGuild no longer defaults to "Dawnwalkers"; user must set it
with /gm guild on first start. Until set, GuildMute idles
silently (filter is a no-op, no /who scans run). - All targetGuild reads now handle nil cleanly (status, export, etc.).
- Setting the guild now (re)starts the auto-scan ticker.
- .gitignore matches HeyListen: .idea/, .vscode/, /dev-link.sh, etc.
IntelliJ project files and dev-link.sh removed from tracking.
- targetGuild no longer defaults to "Dawnwalkers"; user must set it
- In-session history of filtered messages (0.3.0)
Records what GuildMute hides so you can audit it. Default on.- History.lua: ring buffer of 200 entries; in memory only, never
written to SavedVariables (avoids whisper bodies on disk and
unbounded growth). - Filter.lua records before suppressing; gated to DEFAULT_CHAT_FRAME's
pass so the per-frame filter loop doesn't double-count. - /gm history [N] show last N (default 20) in chat
- /gm history all read-only viewer in the IO frame
- /gm history clear|on|off
- IO:ShowText is the new generic read-only frame helper.
- History.lua: ring buffer of 200 entries; in memory only, never
- Auto-scan and export/import (0.2.0)
- Periodic /who scan: configurable via /gm interval , default 30,
0 disables. Restarted on PLAYER_ENTERING_WORLD so login and /reload
also trigger an initial scan ~5s in. Auto-scans only print when new
names are found, to avoid chat spam. - Export/Import frame (IO.lua): /gm export shows a copyable EditBox
with the full list and target guild; /gm import takes pasted payload
and merges into the local list. Lets you carry the same list across
characters/accounts when multiboxing. - Status output now includes the auto-scan interval.
- Periodic /who scan: configurable via /gm interval , default 30,
- Initial commit: GuildMute 0.1.0
Hides whispers and party/raid chat from members of a target guild
(default: Dawnwalkers) on TBC Classic Anniversary.
Builds the mute list via three paths:- silent auto-learn from mouseover/target via GetGuildInfo
- /gm refresh runs /who g-"" and harvests results
- /gm add for manual entries
Per-realm SavedVariables; Ace3-based; toggleable filtering.