General Information
With MessageViewer you can inspect and send Addon-to-Addon messages.
The Addon allows you to inspect all sent and received messages as well as send your own without the need to use slash commands. The tool is primarily targeted at Addon developers who want to debug and prototype their inter-Addon communication.
Howto
The Addon window can be opened/closed with /messageviewer
or /mv
. It is separated into three logical parts: filter list, message history, message details.
Filtering
On the left side are two lists. The top list counts all messages as they are sent and received per identifier/type pair. The below list shows all currently active message acceptors, i.e. the identifier/type combinations the client is currently accepting. The text fields below the acceptor list can be used to add a new identifier/type pair to the accepted combinations. The *
character represents the wildcard rule. Selecting an entry in either list shows the message history of all messages which fit the selected identifier/type pair.
Message History
The big list in the center shows the message history. It includes all recorded messages which fit into the identifier/type pair selected in one of the lists on the left. The messages are sorted in chronological order with oldest at the top. The message list will automatically scroll down when new messages are received/sent as long as the scrollbar is scrolled completely down. Selecting a message in the list shows its text content in the top-right text box.
Message Info
The top text box on the right side displays the content of the currently selected message. Below are controls to send new messages. When using the Send button the <target> field must contain either a valid unit specifier or the concrete name of a character. Using the Broadcast button the <target> field must contain either a valid unit specifier or the concrete name of a character if the tell checkbox is marked, otherwise if channel is marked the name of a chat channel. The <target> field is ignored if neither tell nor channel are marked on broadcasts.
While the Incoming option is enabled the Send and Broadcast buttons work differently. Instead of sending out messages to other players they simulate the reception of messages. The simulated messages are received from the character with the name as typed in the <sender> field. Note that simulated incoming messages respect the currently accepted identifier/type combinations, thus attempting to simulate a message for which no acceptor is configured gets ignored.
Both incoming and outgoing messages can be compressed/uncompressed. Checking the Auto uncompress option causes new selected messages to be automatically uncompressed before being displayed. Checking the Auto compress option causes messages you compose manually to be automatically compressed in the background before being sent.
Miscellaneous
MessageViewer automatically starts recording all messages as soon as it is started, so do not enable the Addon if you aren't actively using it. If you want to debug the traffic of your own Addon using MessageViewer, it is possible it won't catch all your outgoing messages if loaded after your Addon. To avoid this and ensure it does capture all your traffic set MessageViewer as optional dependency to your own Addon with the following TOC entry:
Dependencies = { MessageViewer = { "optional", "before" }, }
This way MessageViewer is guaranteed to load before your Addon and capture all your traffic but your Addon will keep working even if MessageViewer is not present or disabled (which is the usual case).