| author | Stephen Paul Weber
<singpolyma@singpolyma.net> 2025-03-17 13:54:28 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2025-03-17 13:54:28 UTC |
| parent | ad0b5501f85ad754310cd1359779ceca04cefe65 |
| snikket/Message.hx | +6 | -5 |
diff --git a/snikket/Message.hx b/snikket/Message.hx index 2eb5028..620eafa 100644 --- a/snikket/Message.hx +++ b/snikket/Message.hx @@ -217,12 +217,8 @@ class Message { final replace = stanza.getChild("replace", "urn:xmpp:message-correct:0"); final replaceId = replace?.attr?.get("id"); - if (replaceId != null) { - msg.versions = [msg.clone()]; - Reflect.setField(msg, "localId", replaceId); - } - if (msg.text == null && msg.attachments.length < 1 && msg.versions.length < 1) return new Message(msg.chatId(), msg.senderId(), msg.threadId, UnknownMessageStanza(stanza)); + if (msg.text == null && msg.attachments.length < 1 && replaceId == null) return new Message(msg.chatId(), msg.senderId(), msg.threadId, UnknownMessageStanza(stanza)); for (fallback in stanza.allTags("fallback", "urn:xmpp:fallback:0")) { msg.payloads.push(fallback); @@ -296,6 +292,11 @@ class Message { } } + if (replaceId != null) { + msg.versions = [msg.clone()]; + Reflect.setField(msg, "localId", replaceId); + } + return new Message(msg.chatId(), msg.senderId(), msg.threadId, ChatMessageStanza(msg)); } }