View Single Post
12-12-18, 05:10 AM   #4
Kanegasi
A Molten Giant
 
Kanegasi's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2007
Posts: 666
I noticed the same problem. I have an addon called TrueChatFrameHistory that saves and restores chatframes across reloads, logouts, and exits directly through the actual chat elements. With this change, if I exit the game, my guild chat is a giant scrolling list of “Unknown” because this escape sequence is pulling data from the communities stream that resets upon logout/exit.

This |Kv#|k is, in my opinion, abusing the obfuscation element of bnet names to tunnel stream chat from communities into the chatframe. This Kk escape sequence used to only be used to display bnet names in such a way that addons can’t see the name, only the escape sequence.

What’s even more frustrating is that whatever code that does this happens after the CHAT_MSG_GUILD event, so when I try to force arg1 into the most recent element, it’s replaced. Even weirder is that one time during testing, the previous element was replaced, then the new chat element appeared, both having the same text, and both with the Kk escape sequence. I really hope whatever shit they have doing this isn’t a watchdog that will keep replacing the element text.

I’ve decided to give up on injecting plain text into the historyBuffer and am working on just dumping the communities guild stream directly into the chatframe so I don’t have to worry about my history addon having bad data.

Edit: it just occurred to me that OP said the actual arg1 is the Kk sequence. I completely missed that during my tinkering last night. In etrace, the text showed up, in all my temporary hooks along the path text takes between the event and chatframe display, the text showed up. Looks like every single position formatted the sequence and that’s why the weird replacement happened above. I don’t think guild messages show up anywhere now.

Edit2: Anyone can "test" this out by logging into a character in a guild, say something in gchat or wait for someone to do so, then doing the following to print exactly what that first message said:

/run print("\124Kv1\124k")

Last edited by Kanegasi : 12-12-18 at 04:23 PM.
  Reply With Quote