m->d: Fix HTML entities showing in reply preview

This commit is contained in:
Cadence Ember 2023-10-13 23:23:15 +13:00
parent 480c7a6bd9
commit 999276e407
5 changed files with 71 additions and 5 deletions

View file

@ -813,6 +813,55 @@ test("event2message: should include a reply preview when message ends with a blo
)
})
test("event2message: entities are not escaped in main message or reply preview", async t => {
// Intended result: Testing? in italics, followed by the sequence "':.`[]&things
t.deepEqual(
await eventToMessage({
type: "m.room.message",
sender: "@cadence:cadence.moe",
content: {
msgtype: "m.text",
body: "> <@cadence:cadence.moe> _Testing?_ \"':.`[]&things\n\n_Testing?_ \"':.`[]&things",
format: "org.matrix.custom.html",
formatted_body: "<mx-reply><blockquote><a href=\"https://matrix.to/#/!fGgIymcYWOqjbSRUdV:cadence.moe/$yIWjZPi6Xk56fBxJwqV4ANs_hYLjnWI2cNKbZ2zwk60?via=cadence.moe&via=feather.onl&via=mythic.onl\">In reply to</a> <a href=\"https://matrix.to/#/@cadence:cadence.moe\">@cadence:cadence.moe</a><br><em>Testing?</em> \"':.`[]&amp;things</blockquote></mx-reply><em>Testing?</em> &quot;':.`[]&amp;things",
"m.relates_to": {
"m.in_reply_to": {
event_id: "$yIWjZPi6Xk56fBxJwqV4ANs_hYLjnWI2cNKbZ2zwk60"
}
}
},
event_id: "$2I7odT9okTdpwDcqOjkJb_A3utdO4V8Cp3LK6-Rvwcs",
room_id: "!fGgIymcYWOqjbSRUdV:cadence.moe"
}, data.guild.general, {
api: {
getEvent: mockGetEvent(t, "!fGgIymcYWOqjbSRUdV:cadence.moe", "$yIWjZPi6Xk56fBxJwqV4ANs_hYLjnWI2cNKbZ2zwk60", {
type: "m.room.message",
sender: "@cadence:cadence.moe",
content: {
"msgtype": "m.text",
"body": "_Testing?_ \"':.`[]&things",
"format": "org.matrix.custom.html",
"formatted_body": "<em>Testing?</em> &quot;':.`[]&amp;things"
},
event_id: "$yIWjZPi6Xk56fBxJwqV4ANs_hYLjnWI2cNKbZ2zwk60",
room_id: "!fGgIymcYWOqjbSRUdV:cadence.moe"
})
}
}),
{
messagesToDelete: [],
messagesToEdit: [],
messagesToSend: [{
username: "cadence [they]",
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"
}]
}
)
})
test("event2message: editing a rich reply to a sim user", async t => {
const eventsFetched = []
t.deepEqual(