forked from MirrorHub/mautrix-whatsapp
Add proper bridge state errors for different logout types
This commit is contained in:
parent
44f232f37b
commit
73241b6f21
2 changed files with 11 additions and 1 deletions
|
@ -48,6 +48,8 @@ type BridgeErrorCode string
|
|||
|
||||
const (
|
||||
WALoggedOut BridgeErrorCode = "wa-logged-out"
|
||||
WAAccountBanned BridgeErrorCode = "wa-account-banned"
|
||||
WAUnknownLogout BridgeErrorCode = "wa-unknown-logout"
|
||||
WANotConnected BridgeErrorCode = "wa-not-connected"
|
||||
WAConnecting BridgeErrorCode = "wa-connecting"
|
||||
WAServerTimeout BridgeErrorCode = "wa-server-timeout"
|
||||
|
@ -56,6 +58,8 @@ const (
|
|||
|
||||
var bridgeHumanErrors = map[BridgeErrorCode]string{
|
||||
WALoggedOut: "You were logged out from another device. Relogin to continue using the bridge.",
|
||||
WAAccountBanned: "Your account was banned from WhatsApp. You can contact support from the WhatsApp mobile app on your phone.",
|
||||
WAUnknownLogout: "You were logged out for an unknown reason. Relogin to continue using the bridge.",
|
||||
WANotConnected: "You're not connected to WhatsApp",
|
||||
WAConnecting: "Reconnecting to WhatsApp...",
|
||||
WAServerTimeout: "The WhatsApp web servers are not responding. The bridge will try to reconnect.",
|
||||
|
|
8
user.go
8
user.go
|
@ -875,7 +875,13 @@ func (user *User) UpdateDirectChats(chats map[id.UserID][]id.RoomID) {
|
|||
}
|
||||
|
||||
func (user *User) handleLoggedOut(onConnect bool, reason events.ConnectFailureReason) {
|
||||
user.removeFromJIDMap(BridgeState{StateEvent: StateBadCredentials, Error: WALoggedOut, Message: reason.String()})
|
||||
errorCode := WAUnknownLogout
|
||||
if reason == events.ConnectFailureLoggedOut {
|
||||
errorCode = WALoggedOut
|
||||
} else if reason == events.ConnectFailureBanned {
|
||||
errorCode = WAAccountBanned
|
||||
}
|
||||
user.removeFromJIDMap(BridgeState{StateEvent: StateBadCredentials, Error: errorCode})
|
||||
user.DeleteConnection()
|
||||
user.Session = nil
|
||||
user.JID = types.EmptyJID
|
||||
|
|
Loading…
Reference in a new issue