m->d move reply message preview to own line
This commit is contained in:
parent
1ed40bb5f4
commit
6a03c96984
4 changed files with 32 additions and 10 deletions
|
@ -61,10 +61,10 @@ module.exports = {
|
|||
formatted_body: "\u26a0 <strong>Bridged event from Discord not delivered</strong>"
|
||||
+ `<br>Gateway event: ${gatewayMessage.t}`
|
||||
+ `<br>${e.toString()}`
|
||||
+ `<details><summary>Error trace</summary>`
|
||||
+ `<pre>${stackLines.join("\n")}</pre></details>`
|
||||
+ `<details><summary>Original payload</summary>`
|
||||
+ `<pre>${util.inspect(gatewayMessage.d, false, 4, false)}</pre></details>`,
|
||||
+ `<div><details><summary>Error trace</summary>`
|
||||
+ `<pre>${stackLines.join("\n")}</pre></details></div>`
|
||||
+ `<div><details><summary>Original payload</summary>`
|
||||
+ `<pre>${util.inspect(gatewayMessage.d, false, 4, false)}</pre></details></div>`,
|
||||
"m.mentions": {
|
||||
user_ids: ["@cadence:cadence.moe"]
|
||||
}
|
||||
|
|
|
@ -173,9 +173,9 @@ async function eventToMessage(event, guild, di) {
|
|||
replyLine += `Ⓜ️**${senderName}**: `
|
||||
}
|
||||
const repliedToContent = repliedToEvent.content.formatted_body || repliedToEvent.content.body
|
||||
const contentPreviewChunks = chunk(repliedToContent.replace(/.*<\/mx-reply>/, "").replace(/(?:\n|<br>)+/g, " ").replace(/<[^>]+>/g, ""), 24)
|
||||
const contentPreviewChunks = chunk(repliedToContent.replace(/.*<\/mx-reply>/, "").replace(/(?:\n|<br>)+/g, " ").replace(/<[^>]+>/g, ""), 50)
|
||||
const contentPreview = contentPreviewChunks.length > 1 ? contentPreviewChunks[0] + "..." : contentPreviewChunks[0]
|
||||
replyLine += contentPreview + "\n"
|
||||
replyLine = `> ${replyLine}\n> ${contentPreview}\n`
|
||||
})()
|
||||
|
||||
// Handling mentions of Discord users
|
||||
|
|
|
@ -40,10 +40,10 @@ function guard(type, fn) {
|
|||
formatted_body: "\u26a0 <strong>Matrix event not delivered to Discord</strong>"
|
||||
+ `<br>Event type: ${type}`
|
||||
+ `<br>${e.toString()}`
|
||||
+ `<details><summary>Error trace</summary>`
|
||||
+ `<pre>${stackLines.join("\n")}</pre></details>`
|
||||
+ `<details><summary>Original payload</summary>`
|
||||
+ `<pre>${util.inspect(event, false, 4, false)}</pre></details>`,
|
||||
+ `<div><details><summary>Error trace</summary>`
|
||||
+ `<pre>${stackLines.join("\n")}</pre></details></div>`
|
||||
+ `<div><details><summary>Original payload</summary>`
|
||||
+ `<pre>${util.inspect(event, false, 4, false)}</pre></details></div>`,
|
||||
"m.mentions": {
|
||||
user_ids: ["@cadence:cadence.moe"]
|
||||
}
|
||||
|
|
22
notes.md
22
notes.md
|
@ -1,5 +1,27 @@
|
|||
# d2m
|
||||
|
||||
## Known issues
|
||||
|
||||
- m->d attachments do not work
|
||||
- m->d edits do not work
|
||||
- m->d spoilers do not work
|
||||
- d->m support the rest of the attachments by reading the matrix spec instead of the current approach of whitelisting mime types
|
||||
- d->m emojis do not work at all (inline chat, single emoji size, reactions, bridged state)
|
||||
- m->d code blocks have slightly too much spacing
|
||||
- m->d some reactions don't work because of the variation selector
|
||||
- <--> check whether I implemented deletions
|
||||
- rooms will be set up even if the bridge does not have permission for them, then break when it restarts and tries to reach messages
|
||||
- test private threads as part of this
|
||||
- solution part 1: calculate the permissions to see if the bot should be able to do stuff
|
||||
- solution part 2: attempt a get messages request anyway before bridging a new room, just to make sure!
|
||||
- solution part 3: revisit the permissions to add newly available rooms and to close newly inaccessible rooms
|
||||
- consider a way to jump to a timestamp by making up a discord snowflake. practical? helpful?
|
||||
- clean up and write documentation to selfhost
|
||||
- pluralkit considerations for artemis
|
||||
- consider whether to use nested spaces for channel categories and threads
|
||||
|
||||
## Mapping
|
||||
|
||||
Remember that a discord message may be transformed to multiple matrix messages.
|
||||
|
||||
A database will be used to store the discord id to matrix event id mapping. Table columns:
|
||||
|
|
Loading…
Reference in a new issue