Handle expired invites & fix test registration (#73)
This PR addresses a bridge crash discovered while backfilling old channels, alongside a wee QoL fix for the test suite. * **Expired Events (`d2m`):** Wraps Discord scheduled event/invite link lookups in a try-catch block. If a link is expired (404 or Discord error 10006), the bridge now posts a fallback `m.notice` rather than throwing an error and halting message conversion. * **Test Suite Setup:** Updates `test.js` to initialize the mock registration object using `getTemplateRegistration()` preventing test runner crashes when running without a local `registration.yaml` file. Co-authored-by: Cadence Ember <cadence@disroot.org> Reviewed-on: https://gitdab.com/cadence/out-of-your-element/pulls/73 Co-authored-by: Bea <beanie@theargo.space> Co-committed-by: Bea <beanie@theargo.space>
This commit is contained in:
committed by
cadence
co-authored by
Cadence Ember
parent
cd8549da38
commit
f5ee130463
@@ -1538,6 +1538,28 @@ test("message2event: vc invite event renders embed with room link", async t => {
|
||||
])
|
||||
})
|
||||
|
||||
test("message2event: expired/invalid invites are sent as-is", async t => {
|
||||
const events = await messageToEvent({content: "https://discord.gg/placeholder?event=1381190945646710824"}, {}, {}, {
|
||||
snow: {
|
||||
invite: {
|
||||
async getInvite() {
|
||||
throw new Error(`{"message": "Unknown Invite", "code": 10006}`)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
t.deepEqual(events, [
|
||||
{
|
||||
$type: "m.room.message",
|
||||
body: "https://discord.gg/placeholder?event=1381190945646710824",
|
||||
format: "org.matrix.custom.html",
|
||||
formatted_body: "<a href=\"https://discord.gg/placeholder?event=1381190945646710824\">https://discord.gg/placeholder?event=1381190945646710824</a>",
|
||||
"m.mentions": {},
|
||||
msgtype: "m.text",
|
||||
}
|
||||
])
|
||||
})
|
||||
|
||||
test("message2event: channel links are converted even inside lists (parser post-processer descends into list items)", async t => {
|
||||
let called = 0
|
||||
const events = await messageToEvent({
|
||||
|
||||
Reference in New Issue
Block a user