I am using the Dart bindings version 1.2.3 and my app sometimes sends around a match ID as an invitation. Others may join using joinMatch(), but it can happen that the match already is over or the ID is wrong for other reasons and then the question is, how the failure to join that match is reported. The docs are here:
https://pub.dev/documentation/nakama/latest/nakama/NakamaWebsocketClient/joinMatch.html
and this is what I call:
_match = await NakamaWebsocketClient.instance.joinMatch( matchId );
I was first expecting an exception, then returning null, now I am checking for _match!.presences.isEmpty or the _match!.matchId . Maybe the correct way could be documented.