git » sdk » commit 7a43c79

Use most complete version when we clone

author Stephen Paul Weber
2025-03-17 13:54:28 UTC
committer Stephen Paul Weber
2025-03-17 13:54:28 UTC
parent ad0b5501f85ad754310cd1359779ceca04cefe65

Use most complete version when we clone

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));
 	}
 }