Jaliborc / BagBrother

Shared services and codebase between Bagnon and Bagnonium
7 stars 33 forks source link

You are not in a raid group -spam #41

Closed ESpmdark closed 4 months ago

ESpmdark commented 8 months ago

Which software were you running?

Please describe the bug. When in a group thats formed through matchmaking (LFR, BG etc), the chat will prompt a "You are not in a raid group" everytime the event "GROUP_ROSTER_UPDATE" fires.

Please describe how to reproduce it. See description above. Discovered it was Bagnon doing it by running a hooksecurefunc and filtering out for channel "RAID" while in LFR.

Any Screenshots? No

Error Logs are Important! No error logs, as its not producing an error. Just chat output.

I've done a workaround for myself by updating the event handling to reflect the change of chat-type:

File: BagBrother\core\features\updateDetection.lua Line 31: self:RegisterUpdateEvent('GROUP_ROSTER_UPDATE', function() return (IsPartyLFG() and "INSTANCE_CHAT") or (IsInGroup() and 'RAID') end)

ESpmdark commented 8 months ago

The workaround functions for me in LFR, but I expect one would need to take into account the different type of groups that exist in a real solution. Perhaps swap out IsInGroup for: IsInRaid(1)

I dont know the ins and outs of excluding all the wrong type of groups, but thought I'd leave the suggestion.

Shauren commented 6 months ago

I just replaced self:RegisterUpdateEvent('GROUP_ROSTER_UPDATE', function() return IsInGroup() and 'RAID' end) with

    self:RegisterUpdateEvent('GROUP_ROSTER_UPDATE', function() return IsInGroup(LE_PARTY_CATEGORY_HOME) and 'PARTY' end)
    self:RegisterUpdateEvent('GROUP_ROSTER_UPDATE', function() return IsInRaid(LE_PARTY_CATEGORY_HOME) and 'RAID' end)
    self:RegisterUpdateEvent('GROUP_ROSTER_UPDATE', function() return IsInGroup(LE_PARTY_CATEGORY_INSTANCE) and 'INSTANCE_CHAT' end)

That should cover all possible group variations (it is possible to be both in HOME and INSTANCE groups at the same time, that is why I made it as multiple event handlers)

Jaliborc commented 4 months ago

I just replaced self:RegisterUpdateEvent('GROUP_ROSTER_UPDATE', function() return IsInGroup() and 'RAID' end) with

    self:RegisterUpdateEvent('GROUP_ROSTER_UPDATE', function() return IsInGroup(LE_PARTY_CATEGORY_HOME) and 'PARTY' end)
    self:RegisterUpdateEvent('GROUP_ROSTER_UPDATE', function() return IsInRaid(LE_PARTY_CATEGORY_HOME) and 'RAID' end)
    self:RegisterUpdateEvent('GROUP_ROSTER_UPDATE', function() return IsInGroup(LE_PARTY_CATEGORY_INSTANCE) and 'INSTANCE_CHAT' end)

That should cover all possible group variations (it is possible to be both in HOME and INSTANCE groups at the same time, that is why I made it as multiple event handlers)

My man! Will merge.