Patch 4.1: Addon Messages Will Be Filtered

UI and Macro
Addon authors that use chat messages should check that their addons still work in 4.1

Authors will need to add calls to RegisterAddonMessagePrefix() in order to receive addon messages of a particular prefix, presumably during PLAYER_ENTERING_WORLD for the majority of addons. Note that this system errs on the side of sending too much; it is possible for addon messages to make it to the CHAT_MSG_ADDON handlers when no addon has registered it.

  • RegisterAddonMessagePrefix( <string> )

    • Returns a boolean if successful (could fail if it hits the client side limit of 512 prefixes).

  • IsAddonMessagePrefixRegistered( <string> )

    • Returns a Boolean if the prefix has been registered.

  • <table> GetRegisteredAddonMessagePrefixes( <table> )

    • Returns a table (or you can pass in a table), that will be filled in with all prefixes that were registered.

Prefixes are limited to 16 characters now, and they no longer take up a portion of the 256 character chat message limit. The server has a 64 prefix limit. If you exceed this limit your client will not filter any messages.

Also: SendAddonMessage() is now allowed for the OFFICER channel.
Thanks Zar!
thanks
Cool, the way this is described means that as long as any addon that's using addon messaging registers the prefixes it needs, it should otherwise be able to behave exactly as it does today. (It should also reduce event clutter for developers who're working on something but turn off other event-spammy addons when in guilds/parties with people still running those addons).
Forgive my ignorance, but does this mean that Addon messages at login are going to be either a) shortened and/or b) become inoperable unless an update takes place?
I assume this is a step towards reducing the amount of bandwidth consumed by addon communication for all players. In which case, good move.
Thank you for this information, Zarhym.
Does that means i wont receive addon messages from addons i don't have?
I remember in WotLK, GearScore used to send tons of messages, which impacted on your bandwidth, even if you didnt have the addon yourself. (and the messages sent to you would just die, while taking your bandwidth with them)
so...what addons does this affect?
Is there a possibility of getting an UnregisterAddonMessagePrefix?

Also, will the default UI access RegisterAddonMessagePrefix from a call stack that needs to be secure (action bars, unit frames, etc)?
03/11/2011 7:33 PMPosted by Sephres
so...what addons does this affect?


any and all that use addon messages (syncing). so more or less, what ones doesn't it effect.
03/11/2011 7:33 PMPosted by Sephres
so...what addons does this affect?


A lot of them. Any add-on that communicates across clients.
Does that means i wont receive addon messages from addons i don't have?
I remember in WotLK, GearScore used to send tons of messages, which impacted on your bandwidth, even if you didnt have the addon yourself. (and the messages sent to you would just die, while taking your bandwidth with them)


That sounds like exactly what this change does. I'm guessing that they're filtering on the server side now.
03/11/2011 7:03 PMPosted by Delritha
Forgive my ignorance, but does this mean that Addon messages at login are going to be either a) shortened and/or b) become inoperable unless an update takes place?


This is referring to the invisible whispers and invisible guild chat messages that many popular addons pass around among players. It doesn't affect addons' ability to display messages on your screen.

This seems like it's entirely to reduce bandwidth usage, so it sounds like everyone wins, minus the initial headache of upgrading addons.
Wait, so there's no command to unregister an addon prefix?

Also, the client has a 512 prefix limit but the server only recognizes the first 64?

Edit:
I think some clarifications are also necessary:
What happens exactly when no prefixes are registered?
What happens exactly if 65 prefixes are registered ?
What happens exactly if 513 prefixes are registered?
Is there both server- and client- side filtering or only server-side in each of these cases? "The server has a 64 prefix limit. If you exceed this limit your client will not filter any messages." doesn't make sense to me.
Isn't this going to keep another players addons that you don't have from talking to addons that you do have?
I always shiver in fear each time Blizzard changes the addon systems. I need some addons to improve the readability of the interface (since blizzard refuses to add it to the standard system), but programmers don't maintain their addons for ever.
03/12/2011 7:49 AMPosted by Welu
Isn't this going to keep another players addons that you don't have from talking to addons that you do have?


you mean like a lib that one of your addons is compatible with but doesn't load itself (thus doesn't register) Or say something like Xperl accepting a message from ora/CTRA and recognizing the event and adding it to xperls tank window? i can see where things like that would also be a problem.
03/12/2011 10:00 AMPosted by Omegal
Isn't this going to keep another players addons that you don't have from talking to addons that you do have?


you mean like a lib that one of your addons is compatible with but doesn't load itself (thus doesn't register) Or say something like Xperl accepting a message from ora/CTRA and recognizing the event and adding it to xperls tank window? i can see where things like that would also be a problem.


X-Perl presumably recognizes the events from ora/CTRA becauses it knows about the prefix they use, so it just needs to register for that prefix. So, in theory, X-Perl should work just fine after an update.

This is spectacular - finally a way to server filter addon spam. I'm guessing someone will write an addon to hook RegisterAddonMessagePrefix() so we can manually override what addon messages we wish to accept.

Just fantastic work blizz guys!

Join the Conversation

Return to Forum