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

@@ -292,6 +292,9 @@ func (prov *ProvisioningAPI) Logout(w http.ResponseWriter, r *http.Request) {
}
user.Conn.RemoveHandlers()
user.Conn = nil
user.removeFromJIDMap()
// TODO this causes a foreign key violation, which should be fixed
//ce.User.JID = ""
user.SetSession(nil)
jsonResponse(w, http.StatusOK, Response{true, "Logged out successfully."})
}
@@ -351,6 +354,7 @@ func (prov *ProvisioningAPI) Login(w http.ResponseWriter, r *http.Request) {
}
user.ConnectionErrors = 0
user.JID = strings.Replace(user.Conn.Info.Wid, whatsappExt.OldUserSuffix, whatsappExt.NewUserSuffix, 1)
user.addToJIDMap()
user.SetSession(&session)
_ = c.WriteJSON(map[string]interface{}{
"success": true,