Fix needing to reconnect after initial login

This commit is contained in:
Tulir Asokan
2020-05-21 19:49:01 +03:00
parent e08676079a
commit 9002bf62ed
3 changed files with 29 additions and 0 deletions

View File

@@ -230,6 +230,13 @@ func (handler *CommandHandler) CommandLogout(ce *CommandEvent) {
ce.Reply("You're not logged in.")
return
}
puppet := handler.bridge.GetPuppetByJID(ce.User.JID)
if puppet.CustomMXID != "" {
err := puppet.SwitchCustomMXID("", "")
if err != nil {
ce.User.log.Warnln("Failed to logout-matrix while logging out of WhatsApp:", err)
}
}
err := ce.User.Conn.Logout()
if err != nil {
ce.User.log.Warnln("Error while logging out:", err)
@@ -242,6 +249,9 @@ func (handler *CommandHandler) CommandLogout(ce *CommandEvent) {
}
ce.User.Conn.RemoveHandlers()
ce.User.Conn = nil
ce.User.removeFromJIDMap()
// TODO this causes a foreign key violation, which should be fixed
//ce.User.JID = ""
ce.User.SetSession(nil)
ce.Reply("Logged out successfully.")
}