First of all, Steam and Galaxy don't allow cancelling joins, which means the only possible way to "cancel" is by waiting for the join to succeed, and then immediately leave the lobby. This is definitely not ideal.
Secondly, this needs to be implemented as some kind of queue, in order to allow sequences like these:
Join
Leave
Re-join the same lobby
This will have to be tested quite thoroughly. For example, what happens on each service if you try joining a lobby twice? What happens if you join 2 different lobbies?
There's a couple problems with this:
First of all, Steam and Galaxy don't allow cancelling joins, which means the only possible way to "cancel" is by waiting for the join to succeed, and then immediately leave the lobby. This is definitely not ideal.
Secondly, this needs to be implemented as some kind of queue, in order to allow sequences like these:
This will have to be tested quite thoroughly. For example, what happens on each service if you try joining a lobby twice? What happens if you join 2 different lobbies?