DBM - Deadly Boss Mods (DBM-Core)

DBM - Deadly Boss Mods (DBM-Core)

530M Downloads

Pull/Break/etc will not work between users.

Sansaculotte opened this issue ยท 12 comments

commented

Describe the bug

When someone use dbm to pull, nothing happend i can't see the countdown
Do you have an error log of what happened?

To Reproduce

Screenshots

Did you try having DeadlyBossMods as the only enabled addon and everything else (especially something like ElvUI) disabled?

Which version of DeadlyBossMods are you using?

Was it working in a previous version? If yes, which was the last good one?

Additional context

commented

Can you check if you have this option turned on?

Untitled

commented

I had this same issue and I did not have "Do not show user sent timers (custom/pull/break)" selected in the options.

commented

This is a actual problem after last addon update.

commented

This is not caused by one of our updates, you could roll back to last version or ANY version of DBM and it's still broken, blizzard made a bad change

commented

This issue looks to apply to all user sent timers - breaks I send/receive are not going through either.

commented

TL/DR.

  • Blizzard made an API change without communication that affected all DBM versions released on and before Feb 14th. This left me scrambling to create a work around that utterly broke backwards compatibility in release pushed out Feb 15th, but ultimately is more robust long term because it relies less on blizzard chat api giving valid information and has better future proofing against needing such drastic change in future.

Long/technical Explanation:

  • CHAT_MSG_ADDON has several args it returns, one of which is the "sender" (who sent the comm)
  • this sender arg, up until this week, always was Name-realmname, period. Then, addons would call an api called Ambiguate that would automatically translate it to name only for same realm and name-realm for off realm. Then the comm is run through our own local handler.
  • This week, blizzard started sending only short names. no realm name. Ambiguate function became useless locally since they are already doing it (incorrectly) on server.. Why is it incorrect? because if we don't know realm name of sender we don't even know if sender is off realm or not without performing a bunch of redundant checks.
  • UPDATE: it appears the TARGET arg was changed to a fullname arg and does still get sent, but since this wasn't communicated it wasn't checked for since there was no reason to go "hey, i should check if target arg is now the full name arg". None the less, blizzard did consider addons with change, just didn't communicate that so I rewrote the sync handler for no reason. ๐Ÿ˜‚. I'm still happy with update though as it is far more robust anyways and easier to update in future.

"but why realm validate at all?"

  • because with cross realm groups, it is possible to have two players with same name. In fact that was one of first things I tested. I had two characters with exact same name join a group, and looked at comms from both, and they still both only sent short name with no realm, meaning it wasn't even possible to discern who sent what comm. Even if we scanned entire roster on comm to resolve player names/realms that way for normal cross realm situations, we can't even do that accurately if two of same name exist in raid.
  • The other reason is security. Even though DBM does a permission/rank check to send certain things like pull timers, it also performs this check on receiving said event to prevent trolling/abuse in situations like pugs and LFR. People learned as early as MoP that you could just run /scripts to spoof addon comms and it was at that time DBM massively tightened comm security, so every incoming sync runs through a sort of security/validation check, more so than most other mods since DBM had been more heavily targeted (especially with launch of classic where us and other mod makers received threats from users who threatened to try to break mods that "didn't belong in classic"). This extra security is why DBM was affected more so than other mods by the API change in fact (since validating incoming comms for cross realm was difficult when it was no longer possible to tell they were coming from cross realm)

So then that goes to nuclear solution

  • rewriting comms to now pass a protocol version and our OWN sender arg that still has realm name. this fixes problem but break comms for older mod users even more until they update.
  • This is ultimately route I chose after not hearing back from anyone I reached out to all day and even being told by one person the change WAS in fact intended to strip realm names from party and raid chat (which CHAT_ADDON_MSG just mirrors, so makes sense it inherited the change).
  • I decided, even if they did revert the change, the new code is more robust going forward anyways and gives me more finite control over it in event of future breakage. The best time to make breaking changes for better, is when things are already broken. Even implemented a clear sync protocol version system into it so future changes can just adjust that version just where it's needed without having to completely break backwards compatibility as badly in future.

So what does this mean going forward.

  • The problem will be resolved only for people who uses a version of DBM released on or after Feb 15th, 2023. ANYONE who doesn't update to latest will lose all functionality that relies on syncing (quite a bit, far more than just break and pull timers. Setting icons for example won't even work) until they update.
  • It also means compat with other mods like littlewigs in court of stars will be broken until they update their sync code to DBMs new format.
  • This means a lot of hassling users who hate updating their mods to update them because it's very mandatory in this case. Irony is, you won't even be able to version check old versions of DBM anymore because the sync code changed, so it'll just say they have no boss mod at all (although I guess that in itself hints it's probably out of date).
commented

new releases have been pushed that fix the issue, in a manner of speaking. The big caveat, there is absolutely 0 backwards compatibility at all with older versions of DBM, or even other addons ATM til they update their comms. For this reason, DBMs addon prefix was entirely changed in all versions of WoW

I would have liked to do more testing before tagging, but I tested what I could and preliminary results is, it's better than it was, so might as well rip the bandaid off.

commented

It looks like you can get full name from "TARGET" arg

But the rewrite is already done so no sense in reverting it now, it's still more robust/future proofing

commented

Closing as fixed

commented

@MysticalOS hi can you rework DBM for MoP too? I cant see pull / break timer when im raid leader :/ but if im not in part i see it - where can be problem?

commented

@MysticalOS hi can you rework DBM for MoP too? I cant see pull / break timer when im raid leader :/ but if im not in part i see it - where can be problem?

We do not support private server builds of DBM.

commented

@MysticalOS hi can you rework DBM for MoP too? I cant see pull / break timer when im raid leader :/ but if im not in part i see it - where can be problem?

We do not support private server builds of DBM.

OU :/ DBM is goo addon but on cta work corectly and n MoP no :/ i dont want switch to tohr :/