﻿id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,phab_field
4482,Nuke XmppClient GUIMessage struct,elexis,,"The lobby xmpp code sends messages to JS via custom struct.
But that is bad since it hardcodes a set of possible arguments.
Some examples:
* If someone changes the nickname, the old nick will be sent in `text` and the new name will be sent in `data`, entirely undescriptive
* If someone is kicked (https://code.wildfiregames.com/D116), the nickname will be sent in `text and the disconnect reason in the `data` field

The custom struct is then parsed to a `JS::MutableHandleValue` in `GuiPollMessage`.

Instead we should create those JS values directly, thus allowing to easily add further arguments. It would also allow merging the ""kick"" and ""ban"" case and just pass another boolean.

The code will then appear comparable to `CNetClient::GuiPoll` and `PushGuiMessage`.
",defect,new,Nice to Have,Backlog,Multiplayer lobby,,simple,,
