Die Private Nachricht ist an dieselbe SID gegangen.
Dann steckt der Bug scheinbar in der Session-ID-Generierung. Mit unterschiedlichen Credentials sollte man auch unterschiedliche IDs bekommen. Bzw. solltest du die Session-ID nach dem Erlangen neuer Rechte mindestens auffrischen. Habe den gleichen Test gerade nochmal durchgeführt und ich konnte die Nachricht schon wieder lesen. Wieso benutzt du für Sockets überhaupt Session-IDs? Anders als HTTP sind WebSockets stateful, man braucht diese Krücke also gar nicht.