Fix delete-session not deleting all cached state

This commit is contained in:
Tulir Asokan
2020-10-04 13:55:09 +03:00
parent 1379e46e1e
commit f21f57f09f
2 changed files with 5 additions and 1 deletions

View File

@@ -107,7 +107,10 @@ func (user *User) addToJIDMap() {
func (user *User) removeFromJIDMap() {
user.bridge.usersLock.Lock()
delete(user.bridge.usersByJID, user.JID)
jidUser, ok := user.bridge.usersByJID[user.JID]
if ok && user == jidUser {
delete(user.bridge.usersByJID, user.JID)
}
user.bridge.usersLock.Unlock()
user.bridge.Metrics.TrackLoginState(user.JID, false)
}