One person may now leave and rejoin and collabedit will still work.

Collabedit now always starts by sending the shadow from one person to the other. This case on a rejoin the saved shadow will be sent to the new user.
can you use the socket's client ID instead of leaving it blank?