diff --git a/d2m/actions/create-room.js b/d2m/actions/create-room.js index 29bcdc0..b641d37 100644 --- a/d2m/actions/create-room.js +++ b/d2m/actions/create-room.js @@ -63,9 +63,8 @@ async function channelToKState(channel, guild) { assert.ok(typeof spaceID === "string") const row = db.prepare("SELECT nick, custom_avatar FROM channel_room WHERE channel_id = ?").get(channel.id) - assert(row) - const customName = row.nick - const customAvatar = row.custom_avatar + const customName = row?.nick + const customAvatar = row?.custom_avatar const [convertedName, convertedTopic] = convertNameAndTopic(channel, guild, customName) const avatarEventContent = {} diff --git a/m2d/converters/event-to-message.test.js b/m2d/converters/event-to-message.test.js index f0c4664..a45c23b 100644 --- a/m2d/converters/event-to-message.test.js +++ b/m2d/converters/event-to-message.test.js @@ -27,3 +27,31 @@ test("event2message: janky test", t => { }] ) }) + +test("event2message: long messages are split", t => { + t.deepEqual( + eventToMessage({ + content: { + body: ("a".repeat(130) + " ").repeat(19), + msgtype: "m.text" + }, + event_id: "$g07oYSZFWBkxohNEfywldwgcWj1hbhDzQ1sBAKvqOOU", + origin_server_ts: 1688301929913, + room_id: "!kLRqKKUQXcibIMtOpl:cadence.moe", + sender: "@cadence:cadence.moe", + type: "m.room.message", + unsigned: { + age: 405299 + } + }), + [{ + username: "cadence", + content: (("a".repeat(130) + " ").repeat(15)).slice(0, -1), + avatar_url: undefined + }, { + username: "cadence", + content: (("a".repeat(130) + " ").repeat(4)).slice(0, -1), + avatar_url: undefined + }] + ) +}) diff --git a/matrix/read-registration.js b/matrix/read-registration.js index a1d920d..54d77ae 100644 --- a/matrix/read-registration.js +++ b/matrix/read-registration.js @@ -1,8 +1,12 @@ // @ts-check const fs = require("fs") +const assert = require("assert").strict const yaml = require("js-yaml") /** @ts-ignore @type {import("../types").AppServiceRegistrationConfig} */ const reg = yaml.load(fs.readFileSync("registration.yaml", "utf8")) -module.exports = reg \ No newline at end of file +assert(reg.ooye.max_file_size) +assert(reg.ooye.namespace_prefix) +assert(reg.ooye.server_name) +module.exports = reg