Meta information vanishing

I am using a ‘meta’ message to transmit player names to other players in the game room, but I have noticed that sometimes the message is received with no data attached.
At the moment I am catching this and discarding those messages but it seems that sometimes (not always) there is no ‘valid’ message so the remote player never gets my name.

// this is the call to my function, nickname is my local variable which definitely contains a valid name. I have capitalised the passthrough string to confirm that the message received is definitely from my calls and not a system call with a similar label…
setMeta( { nickname: nickname }, 'NickName' );

// this is my function setMeta, it’s just a public static wrapper with some sanity checks before calling idnet.multiplayer
public static function setMeta( _obj : Object, _pt : String = "" ):void { if ( idnet && Preloader.multiplayerStarted ) { trace( "IDI: setMeta", _obj, _pt); idnet.multiplayer.userMeta( _obj, _pt ); } }

// this is the debug log with multiplayer.debugLevel = 2, you can see the SMP message does not have a ‘meta’ field and that the capitalised ‘NickName’ passthrough is present

SMP: received {"pt":"NickName","action":"meta","errorcode":0,"section":"users","success":true}

So, what happened to the ‘meta’ data?

I’m surprised we didn’t catch an error when this was happening. I believe this should work now that the matchmaking, null room bug has been fixed. So the meta was being transmitted to the server but on the return back it stalled because of the error.

I believe this is correct response for the sender of the meta data.

However, other players should have been receiving a playerupdate action assuming the client updating the meta was in a room. The playerupdate part was likely failing due to the null room bug.

Y8 Games