From a6bb248c0ad8f01162d831f9fdba784747cd90ac Mon Sep 17 00:00:00 2001 From: Cadence Ember Date: Tue, 16 Dec 2025 00:36:43 +1300 Subject: [PATCH] Fix pointer being included for cross-room replies --- src/d2m/converters/message-to-event.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/d2m/converters/message-to-event.js b/src/d2m/converters/message-to-event.js index ab011c7..5360702 100644 --- a/src/d2m/converters/message-to-event.js +++ b/src/d2m/converters/message-to-event.js @@ -267,6 +267,7 @@ async function messageToEvent(message, guild, options = {}, di) { const mentions = {} /** @type {{event_id: string, room_id: string, source: number, channel_id: string}?} */ let repliedToEventRow = null + let repliedToEventInDifferentRoom = false let repliedToUnknownEvent = false let repliedToEventSenderMxid = null @@ -491,6 +492,7 @@ async function messageToEvent(message, guild, options = {}, di) { if (repliedToEventRow) { // Generate a reply pointing to the Matrix event we found const latestRoomID = select("channel_room", "room_id", {channel_id: repliedToEventRow.channel_id}).pluck().get() // native replies don't work across room upgrades, so make sure the old and new message are in the same room + if (latestRoomID !== repliedToEventRow.room_id) repliedToEventInDifferentRoom = true html = (latestRoomID === repliedToEventRow.room_id ? "" : "") + `
In reply to ${repliedToUserHtml}` @@ -789,7 +791,7 @@ async function messageToEvent(message, guild, options = {}, di) { } // Rich replies - if (repliedToEventRow) { + if (repliedToEventRow && !repliedToEventInDifferentRoom) { Object.assign(events[0], { "m.relates_to": { "m.in_reply_to": {