mirror of
https://github.com/tulir/mautrix-whatsapp
synced 2024-06-18 10:58:20 +02:00
Always return RUNNING as global bridge state event
This commit is contained in:
parent
cc80c90565
commit
59fa4e6480
|
@ -29,6 +29,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/Rhymen/go-whatsapp"
|
"github.com/Rhymen/go-whatsapp"
|
||||||
|
|
||||||
log "maunium.net/go/maulogger/v2"
|
log "maunium.net/go/maulogger/v2"
|
||||||
|
|
||||||
"maunium.net/go/mautrix/id"
|
"maunium.net/go/mautrix/id"
|
||||||
|
@ -220,14 +221,7 @@ func (prov *ProvisioningAPI) BridgeStatePing(w http.ResponseWriter, r *http.Requ
|
||||||
var global BridgeState
|
var global BridgeState
|
||||||
global.StateEvent = StateRunning
|
global.StateEvent = StateRunning
|
||||||
var remote BridgeState
|
var remote BridgeState
|
||||||
if user.Conn == nil {
|
if user.Conn != nil {
|
||||||
if user.Session == nil {
|
|
||||||
global.StateEvent = StateUnconfigured
|
|
||||||
} else {
|
|
||||||
remote.StateEvent = StateBadCredentials
|
|
||||||
remote.Error = WANotConnected
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if user.Conn.IsConnected() && user.Conn.IsLoggedIn() {
|
if user.Conn.IsConnected() && user.Conn.IsLoggedIn() {
|
||||||
pingID := atomic.AddUint32(&bridgeStatePingID, 1)
|
pingID := atomic.AddUint32(&bridgeStatePingID, 1)
|
||||||
user.log.Debugfln("Pinging WhatsApp mobile due to bridge status /ping API request (ID %d)", pingID)
|
user.log.Debugfln("Pinging WhatsApp mobile due to bridge status /ping API request (ID %d)", pingID)
|
||||||
|
@ -255,24 +249,22 @@ func (prov *ProvisioningAPI) BridgeStatePing(w http.ResponseWriter, r *http.Requ
|
||||||
} else if user.Conn.IsLoginInProgress() {
|
} else if user.Conn.IsLoginInProgress() {
|
||||||
remote.StateEvent = StateConnecting
|
remote.StateEvent = StateConnecting
|
||||||
remote.Error = WAConnecting
|
remote.Error = WAConnecting
|
||||||
} else if user.Conn.IsConnected() {
|
} else if !user.Conn.IsConnected() && user.Session != nil {
|
||||||
global.StateEvent = StateUnconfigured
|
remote.StateEvent = StateBadCredentials
|
||||||
} else {
|
remote.Error = WANotConnected
|
||||||
if user.Session == nil {
|
} // else: unconfigured
|
||||||
global.StateEvent = StateUnconfigured
|
} else if user.Session != nil {
|
||||||
} else {
|
remote.StateEvent = StateBadCredentials
|
||||||
remote.StateEvent = StateBadCredentials
|
remote.Error = WANotConnected
|
||||||
remote.Error = WANotConnected
|
} // else: unconfigured
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
global = global.fill(nil)
|
global = global.fill(nil)
|
||||||
resp := GlobalBridgeState{BridgeState: global}
|
resp := GlobalBridgeState{
|
||||||
|
BridgeState: global,
|
||||||
|
RemoteStates: map[string]BridgeState{},
|
||||||
|
}
|
||||||
if len(remote.StateEvent) > 0 {
|
if len(remote.StateEvent) > 0 {
|
||||||
remote = remote.fill(user)
|
remote = remote.fill(user)
|
||||||
resp.RemoteStates = map[string]BridgeState{
|
resp.RemoteStates[remote.RemoteID] = remote
|
||||||
remote.RemoteID: remote,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
user.log.Debugfln("Responding bridge state in bridge status endpoint: %+v", resp)
|
user.log.Debugfln("Responding bridge state in bridge status endpoint: %+v", resp)
|
||||||
jsonResponse(w, http.StatusOK, &resp)
|
jsonResponse(w, http.StatusOK, &resp)
|
||||||
|
|
Loading…
Reference in a new issue