From a6251e850c75a938462c30db83efd5d31df451bb Mon Sep 17 00:00:00 2001 From: Cadence Ember Date: Tue, 30 Jul 2024 23:45:26 +1200 Subject: [PATCH] Use small text for m->d replies --- m2d/converters/event-to-message.js | 6 +-- m2d/converters/event-to-message.test.js | 72 ++++++++++++------------- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/m2d/converters/event-to-message.js b/m2d/converters/event-to-message.js index c22e1a81..7b88adbf 100644 --- a/m2d/converters/event-to-message.js +++ b/m2d/converters/event-to-message.js @@ -541,7 +541,7 @@ async function eventToMessage(event, guild, di) { .replace(/]*data-mx-spoiler\b[^>]*>.*?<\/span>/g, "[spoiler]") // Good enough method of removing spoiler content. (I don't want to break out the HTML parser unless I have to.) .replace(/<[^>]+>/g, "") // Completely strip all HTML tags and formatting. ), 50) - replyLine = "> " + contentPreviewChunks[0] + replyLine = "> -# " + contentPreviewChunks[0] if (contentPreviewChunks.length > 1) replyLine = replyLine.replace(/[,.']$/, "") + "..." replyLine += "\n" return @@ -595,14 +595,14 @@ async function eventToMessage(event, guild, di) { repliedToContent = entities.decodeHTML5Strict(repliedToContent) // Remove entities like & " const contentPreviewChunks = chunk(repliedToContent, 50) if (contentPreviewChunks.length) { - contentPreview = ":\n> " + contentPreviewChunks[0] + contentPreview = ":\n> -# " + contentPreviewChunks[0] if (contentPreviewChunks.length > 1) contentPreview = contentPreview.replace(/[,.']$/, "") + "..." } else { console.log("Unable to generate reply preview for this replied-to event because we stripped all of it:", repliedToEvent) contentPreview = "" } } - replyLine = `> ${replyLine}${contentPreview}\n` + replyLine = `> -# ${replyLine}${contentPreview}\n` })() if (event.content.format === "org.matrix.custom.html" && event.content.formatted_body) { diff --git a/m2d/converters/event-to-message.test.js b/m2d/converters/event-to-message.test.js index 6d750a59..c054abc8 100644 --- a/m2d/converters/event-to-message.test.js +++ b/m2d/converters/event-to-message.test.js @@ -999,8 +999,8 @@ test("event2message: rich reply to a sim user", async t => { messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 <@111604486476181504>:" - + "\n> Slow news day." + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 <@111604486476181504>:" + + "\n> -# Slow news day." + "\nTesting this reply, ignore", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/azCAhThKTojXSZJRoWwZmhvU", allowed_mentions: { @@ -1071,8 +1071,8 @@ test("event2message: rich reply to a rich reply to a multi-line message should c messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**:" - + "\n> I just checked in a fix that will probably work..." + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**:" + + "\n> -# I just checked in a fix that will probably work..." + "\nwill try later (tomorrow if I don't forgor)", avatar_url: undefined, allowed_mentions: { @@ -1151,8 +1151,8 @@ test("event2message: rich reply to an already-edited message will quote the new messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647><@111604486476181504>:" - + "\n> this is the new content. heya!" + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647><@111604486476181504>:" + + "\n> -# this is the new content. heya!" + "\nhiiiii....", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/azCAhThKTojXSZJRoWwZmhvU", allowed_mentions: { @@ -1205,7 +1205,7 @@ test("event2message: rich reply to a missing event will quote from formatted_bod messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> But who sees the seashells she sells sitting..." + content: "> -# But who sees the seashells she sells sitting..." + "\nWhat a tongue-bender...", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/azCAhThKTojXSZJRoWwZmhvU", allowed_mentions: { @@ -1356,8 +1356,8 @@ test("event2message: should avoid using blockquote contents as reply preview in messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 <@111604486476181504>:" - + "\n> that can't be true! there's no way :o" + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 <@111604486476181504>:" + + "\n> -# that can't be true! there's no way :o" + "\nI agree!", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/azCAhThKTojXSZJRoWwZmhvU", allowed_mentions: { @@ -1445,8 +1445,8 @@ test("event2message: should include a reply preview when message ends with a blo messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**_ooye_cookie**:" - + "\n> https://tootsuite.net/Warp-Gate2.gif tanget: @..." + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**_ooye_cookie**:" + + "\n> -# https://tootsuite.net/Warp-Gate2.gif tanget: @..." + "\naichmophobia", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/azCAhThKTojXSZJRoWwZmhvU", allowed_mentions: { @@ -1529,8 +1529,8 @@ test("event2message: should include a reply preview when replying to a descripti messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/497161350934560778/1162625810109317170 <@1109360903096369153>:" - + "\n> It looks like this queue has ended." + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/497161350934560778/1162625810109317170 <@1109360903096369153>:" + + "\n> -# It looks like this queue has ended." + `\nso you're saying on matrix side I would have to edit ^this^ to add "Timed out" before the blockquote?`, avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/azCAhThKTojXSZJRoWwZmhvU", allowed_mentions: { @@ -1582,8 +1582,8 @@ test("event2message: entities are not escaped in main message or reply preview", messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**:" - + "\n> Testing? \"':.`[]&things" + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**:" + + "\n> -# Testing? \"':.`[]&things" + "\n_Testing?_ \"':.\\`\\[\\]&things", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/azCAhThKTojXSZJRoWwZmhvU", allowed_mentions: { @@ -1632,8 +1632,8 @@ test("event2message: reply preview converts emoji formatting when replying to a messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**:" - + "\n> <:hippo:230201364309868544>" + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**:" + + "\n> -# <:hippo:230201364309868544>" + "\nreply", avatar_url: undefined, allowed_mentions: { @@ -1682,8 +1682,8 @@ test("event2message: reply preview can guess custom emoji based on the name if i messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**:" - + "\n> <:hippo:230201364309868544>" + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**:" + + "\n> -# <:hippo:230201364309868544>" + "\nreply", avatar_url: undefined, allowed_mentions: { @@ -1732,8 +1732,8 @@ test("event2message: reply preview uses emoji title text when replying to an unk messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**:" - + "\n> :svkftngur_gkdne:" + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**:" + + "\n> -# :svkftngur_gkdne:" + "\nreply", avatar_url: undefined, allowed_mentions: { @@ -1782,8 +1782,8 @@ test("event2message: reply preview ignores garbage image", async t => { messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**:" - + "\n> I am having a nice day" + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**:" + + "\n> -# I am having a nice day" + "\nreply", avatar_url: undefined, allowed_mentions: { @@ -1832,7 +1832,7 @@ test("event2message: reply to empty message doesn't show an extra line or anythi messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**" + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**cadence [they]**" + "\nreply", avatar_url: undefined, allowed_mentions: { @@ -1914,8 +1914,8 @@ test("event2message: editing a rich reply to a sim user", async t => { id: "1144874214311067708", message: { username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 <@111604486476181504>:" - + "\n> Slow news day." + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 <@111604486476181504>:" + + "\n> -# Slow news day." + "\nEditing this reply, which is also a test", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/azCAhThKTojXSZJRoWwZmhvU", allowed_mentions: { @@ -2205,8 +2205,8 @@ test("event2message: rich reply to a matrix user's long message with formatting" messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 Ⓜ️**cadence [they]**:" - + "\n> i should have a little happy test list bold em..." + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 Ⓜ️**cadence [they]**:" + + "\n> -# i should have a little happy test list bold em..." + "\n**no you can't!!!**", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/azCAhThKTojXSZJRoWwZmhvU", allowed_mentions: { @@ -2268,7 +2268,7 @@ test("event2message: rich reply to an image", async t => { messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 <@111604486476181504> 🖼️" + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 <@111604486476181504> 🖼️" + "\nCaught in 8K UHD VR QLED Epic Edition", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/azCAhThKTojXSZJRoWwZmhvU", allowed_mentions: { @@ -2323,8 +2323,8 @@ test("event2message: rich reply to a spoiler should ensure the spoiler is hidden messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 <@111604486476181504>:" - + "\n> [spoiler] cw crossword spoilers you'll never..." + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 <@111604486476181504>:" + + "\n> -# [spoiler] cw crossword spoilers you'll never..." + "\nomg NO WAY!!", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/azCAhThKTojXSZJRoWwZmhvU", allowed_mentions: { @@ -2378,8 +2378,8 @@ test("event2message: with layered rich replies, the preview should only be the r messagesToEdit: [], messagesToSend: [{ username: "cadence [they]", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 Ⓜ️**cadence [they]**:" - + "\n> two" + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>https://discord.com/channels/112760669178241024/687028734322147344/1144865310588014633 Ⓜ️**cadence [they]**:" + + "\n> -# two" + "\nthree", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/azCAhThKTojXSZJRoWwZmhvU", allowed_mentions: { @@ -2434,8 +2434,8 @@ test("event2message: if event is a reply and starts with a quote, they should be messagesToEdit: [], messagesToSend: [{ username: "Rose", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**Rose**:" - + "\n> i have a feeling that clients are meant to strip..." + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**Rose**:" + + "\n> -# i have a feeling that clients are meant to strip..." + "\n" + "\n> To strip the fallback on the `body`, the client should iterate over each line of the string, removing any lines that start with the fallback prefix (\"> “, including the space, without quotes) and stopping when a line is encountered without the prefix. This prefix is known as the “fallback prefix sequence”.", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/syndicated.gay/ZkBUPXCiXTjdJvONpLJmcbKP", @@ -2494,7 +2494,7 @@ test("event2message: rich reply to a deleted event", async t => { messagesToEdit: [], messagesToSend: [{ username: "Ampflower 🌺", - content: "> <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**Ampflower 🌺** (in reply to a deleted message)" + content: "> -# <:L1:1144820033948762203><:L2:1144820084079087647>Ⓜ️**Ampflower 🌺** (in reply to a deleted message)" + "\nHuh it did the same thing here too", avatar_url: "https://matrix.cadence.moe/_matrix/media/r0/download/cadence.moe/PRfhXYBTOalvgQYtmCLeUXko", allowed_mentions: {