Detect timeouts as server down
This commit is contained in:
@@ -181,9 +181,14 @@ async function onPacket(client, message, listen) {
|
||||
// Event dispatcher for OOYE bridge operations
|
||||
if (listen === "full" && message.t) {
|
||||
const alwaysRealTimeEvents = ["PRESENCE_UPDATE"]
|
||||
const optionalEvents = ["TYPING_START"]
|
||||
if (alwaysRealTimeEvents.includes(message.t) || homeserverStatus.homeserverStatus.isRealTime()) {
|
||||
// real time
|
||||
dispatchPacketToBridge(client, message)
|
||||
} else if (optionalEvents.includes(message.t)) {
|
||||
// when not real time, skip optional events
|
||||
} else {
|
||||
// queue required events
|
||||
homeserverStatus.homeserverStatus.queuePacket(message)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,7 +171,10 @@ async function sendError(roomID, source, type, e, payload) {
|
||||
}
|
||||
})
|
||||
} catch (e) {
|
||||
if (e instanceof mreq.MatrixServerError && [502, 503].includes(e.httpStatus) && e.errcode === "CX_SERVER_ERROR") {
|
||||
if (
|
||||
e.toString().includes("fetch failed")
|
||||
|| (e instanceof mreq.MatrixServerError && [502, 503].includes(e.httpStatus) && e.errcode === "CX_SERVER_ERROR")
|
||||
) {
|
||||
// Matrix homeserver is down (reverse proxy indicated failure)
|
||||
homeserverStatus.homeserverStatus.setErrorWithPacket(payload)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user