WeakAuras

WeakAuras

204M Downloads

Version 5.11.1 seems to block whispers from off server players

Daleykai opened this issue ยท 3 comments

commented

Is there an existing issue for this?

  • I have searched the existing open and closed issues.

Description

Starting today with the latest 5.11.1 build. I am unable to get whispers from people on my connected realms but not my actual server. I have another mod that plays a sound on whispers and I would hear the alert, but no messages. I disabled everything til I found it was limited to just Weakauras. I rolled back to version 5.10.1 and problem went away.

WeakAuras Version

Weakaruas 5.11.1

World of Warcraft Flavor

Retail (Default)

World of Warcraft Region

US/NA

Tested with only WeakAuras

  • Yes

Lua Error

No response

Reproduction Steps

Disable all mods, but Weakauras. Have someone from one of the other connected realms whisper me. No whisper. Have someone on my realm whisper me. I get the whispers.

Last Good Version

Weakaruas 5.10.1

Screenshots

No response

Export String

No response

commented

some other notes:

  • raw chat msg events still come through, thankfully
  • with only WeakAuras enabled on retail client & with default cvars, upon receiving a whisper a tab opens as if you received a whisper, but no message is printed into that tab
  • reproduction requires that the other party not be in a group with you, and also not be on your realm (as OP mentioned).
commented

I was able to reproduce this. git bisect turned up the following:

63963e5 is the first bad commit
commit 63963e5
Author: Infus [email protected]
Date: Sun Mar 3 12:06:27 2024 +0100

Include the url on linking an aura in chat

Also fix a bug where any text beyond the WA-link was being dropped.

Fixes: #4890

WeakAuras/Transmission.lua | 1 +
.../AceGUI-Widgets/AceGUIWidget-WeakAurasDisplayButton.lua | 6 +++++-
2 files changed, 6 insertions(+), 1 deletion(-)

commented

If I'm understanding this filter correctly, the problem is in this block, where we obliterate any message that is:

  • a whisper
  • from someone who is:
    • not a BattleNet or RealID friend, and
    • not in our party, raid, or guild

That does seem like the correct behavior to me, provided that any WA link was found. Unfortunately the check that's actually performed is that the message is non-empty after the processing step, which itself was bugged & would never be the case if no [WeakAuras - MyAura] link was detected.

if newMsg ~= "" then
local trimmedPlayer = Ambiguate(player, "none")
local guid = select(5, ...)
if event == "CHAT_MSG_WHISPER" and not UnitInRaid(trimmedPlayer) and not UnitInParty(trimmedPlayer) and not (IsGuildMember and IsGuildMember(guid)) then
local _, num = BNGetNumFriends()
for i=1, num do
if C_BattleNet then -- introduced in 8.2.5 PTR
local toon = C_BattleNet.GetFriendNumGameAccounts(i)
for j=1, toon do
local gameAccountInfo = C_BattleNet.GetFriendGameAccountInfo(i, j);
if gameAccountInfo.characterName == trimmedPlayer and gameAccountInfo.clientProgram == "WoW" then
return false, newMsg, player, l, cs, t, flag, channelId, ...; -- Player is a real id friend, allow it
end
end
else -- keep old method for 8.2 and Classic
local toon = BNGetNumFriendGameAccounts(i)
for j=1, toon do
local _, rName, rGame = BNGetFriendGameAccountInfo(i, j)
if rName == trimmedPlayer and rGame == "WoW" then
return false, newMsg, player, l, cs, t, flag, channelId, ...; -- Player is a real id friend, allow it
end
end
end
end
return true -- Filter strangers
else
return false, newMsg, player, l, cs, t, flag, channelId, ...;
end