git » sdk » commit d19146d

OMEMO: Allow contact device IDs to be null if unknown

author Matthew Wild
2025-05-27 12:15:13 UTC
committer Stephen Paul Weber
2025-09-29 13:58:56 UTC
parent f1fed24489c79ab2d443cd42a22810fe5079a7f1

OMEMO: Allow contact device IDs to be null if unknown

snikket/Chat.hx +2 -2
snikket/Client.hx +2 -2

diff --git a/snikket/Chat.hx b/snikket/Chat.hx
index c46d21b..927d4c0 100644
--- a/snikket/Chat.hx
+++ b/snikket/Chat.hx
@@ -95,7 +95,7 @@ abstract class Chat {
 	private var _encryptionMode: EncryptionMode = Unencrypted;
 
 	@:allow(snikket)
-	private var omemoContactDeviceIDs: Array<Int> = [];
+	private var omemoContactDeviceIDs: Null<Array<Int>> = null;
 
 	@:allow(snikket)
 	private function new(client:Client, stream:GenericStream, persistence:Persistence, chatId:String, uiState = Open, isBlocked = false, extensions: Null<Stanza> = null, readUpToId: Null<String> = null, readUpToBy: Null<String> = null, omemoContactDeviceIDs: Array<Int> = null) {
@@ -109,7 +109,7 @@ abstract class Chat {
 		this.readUpToId = readUpToId;
 		this.readUpToBy = readUpToBy;
 		this.displayName = chatId;
-		this.omemoContactDeviceIDs = omemoContactDeviceIDs ?? [];
+		this.omemoContactDeviceIDs = omemoContactDeviceIDs;
 	}
 
 	@:allow(snikket)
diff --git a/snikket/Client.hx b/snikket/Client.hx
index 56ad44d..53c5fba 100644
--- a/snikket/Client.hx
+++ b/snikket/Client.hx
@@ -551,7 +551,7 @@ class Client extends EventEmitter {
 				final chat = this.getDirectChat(JID.parse(pubsubEvent.getFrom()).asBare().asString(), false);
 				chat.setAvatarSha1(avatarSha1);
 				persistence.storeChats(accountId(), [chat]);
-				persistence.hasMedia("sha-1", avatarSha1, (has) -> {
+				persistence.hasMedia("sha-1", avatarSha1).then((has) -> {
 					if (has) {
 						this.trigger("chats/update", [chat]);
 					} else {
@@ -561,7 +561,7 @@ class Client extends EventEmitter {
 							if (item == null) return;
 							final dataNode = item.getChild("data", "urn:xmpp:avatar:data");
 							if (dataNode == null) return;
-							persistence.storeMedia(mime, Base64.decode(StringTools.replace(dataNode.getText(), "\n", "")).getData(), () -> {
+							persistence.storeMedia(mime, Base64.decode(StringTools.replace(dataNode.getText(), "\n", "")).getData()).then(_ -> {
 								this.trigger("chats/update", [chat]);
 							});
 						});