Various error log improvements #100

Open
l1s5 wants to merge 6 commits from l1s5/out-of-your-element:log-improvements into main
2 changed files with 8 additions and 2 deletions
Showing only changes of commit 3f6f02240e - Show all commits

Add error-logging rejection handlers for discord client

l1s5 2026-10-25 08:49:27 +09:00
Signed by untrusted user: l1s5
GPG key ID: D0A90CC905B58D9B

View file

@ -1,5 +1,6 @@
// @ts-check // @ts-check
const util = require("util")
const DiscordTypes = require("discord-api-types/v10") const DiscordTypes = require("discord-api-types/v10")
const {Endpoints, SnowTransfer} = require("snowtransfer") const {Endpoints, SnowTransfer} = require("snowtransfer")
const {reg} = require("../matrix/read-registration") const {reg} = require("../matrix/read-registration")
@ -55,7 +56,9 @@ class DiscordClient {
this.guildChannelMap = new Map() this.guildChannelMap = new Map()
if (listen !== "no") { if (listen !== "no") {
this.cloud.on("event", message => { this.cloud.on("event", message => {
discordPackets.onPacket(this, message, listen) discordPackets.onPacket(this, message, listen).catch(e => {
console.error(`Unhandled error while processing Discord packet ${message.t}:\n${util.inspect(e, false, 4, false)}`)
})
}) })
} }

View file

@ -1,6 +1,7 @@
// @ts-check // @ts-check
const assert = require("assert").strict const assert = require("assert").strict
const util = require("util")
const {scheduler} = require("timers/promises") const {scheduler} = require("timers/promises")
const passthrough = require("../passthrough") const passthrough = require("../passthrough")
const {sync} = passthrough const {sync} = passthrough
@ -216,7 +217,9 @@ async function onPacket(client, message, listen) {
const optionalEvents = ["TYPING_START"] const optionalEvents = ["TYPING_START"]
if (alwaysRealTimeEvents.includes(message.t) || homeserverStatus.homeserverStatus.isRealTime()) { if (alwaysRealTimeEvents.includes(message.t) || homeserverStatus.homeserverStatus.isRealTime()) {
// real time // real time
dispatchPacketToBridge(client, message) dispatchPacketToBridge(client, message).catch(e => {
console.error(`Unhandled error while sending Discord packet ${message.t} to the bridge:\n${util.inspect(e, false, 4, false)}`)
})
} else if (optionalEvents.includes(message.t)) { } else if (optionalEvents.includes(message.t)) {
// when not real time, skip optional events // when not real time, skip optional events
} else { } else {