From 8ea6c306b064aca4c88d8decb994e47ddecf7654 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Sun, 31 Mar 2024 11:20:53 -0700 Subject: [PATCH 1/4] cargo lock keeps changing --- bindings_ffi/Cargo.lock | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bindings_ffi/Cargo.lock b/bindings_ffi/Cargo.lock index f5f08b14c..9ef50517a 100644 --- a/bindings_ffi/Cargo.lock +++ b/bindings_ffi/Cargo.lock @@ -5353,7 +5353,6 @@ dependencies = [ name = "xmtp_mls" version = "0.1.0" dependencies = [ - "anyhow", "async-trait", "chrono", "diesel", @@ -5376,8 +5375,7 @@ dependencies = [ "thiserror", "tls_codec", "tokio", - "toml 0.7.8", - "tracing", + "toml 0.8.8", "xmtp_cryptography", "xmtp_proto", "xmtp_v2", From 49531ba4653d6e64c3dbe2e49350181d381b6dca Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Fri, 5 Apr 2024 16:32:49 -0700 Subject: [PATCH 2/4] set the message kind --- bindings_ffi/Cargo.lock | 6 ------ bindings_ffi/src/mls.rs | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/bindings_ffi/Cargo.lock b/bindings_ffi/Cargo.lock index ce3dade1a..f835d820b 100644 --- a/bindings_ffi/Cargo.lock +++ b/bindings_ffi/Cargo.lock @@ -5383,7 +5383,6 @@ dependencies = [ "pbjson-types 0.5.1", "prost 0.12.3", "serde", - "serde_json", "tokio", "tonic", "tower", @@ -5474,9 +5473,7 @@ name = "xmtp_v2" version = "0.1.0" dependencies = [ "aes-gcm", - "chrono", "ecdsa 0.15.1", - "ethers-core", "generic-array", "getrandom", "hex", @@ -5484,11 +5481,8 @@ dependencies = [ "k256 0.12.0", "rand", "rand_chacha", - "rlp", - "serde", "sha2", "sha3", - "thiserror", ] [[package]] diff --git a/bindings_ffi/src/mls.rs b/bindings_ffi/src/mls.rs index b5944251c..9ffd76210 100644 --- a/bindings_ffi/src/mls.rs +++ b/bindings_ffi/src/mls.rs @@ -484,6 +484,21 @@ impl FfiGroup { } } +#[derive(uniffi::Enum)] +pub enum GroupMessageKind { + Application = 1, + MembershipChange = 2, +} + +impl GroupMessageKind { + pub fn to_int(&self) -> i32 { + match self { + Self::Application => 1, + Self::MembershipChange => 2, + } + } +} + #[derive(uniffi::Record)] pub struct FfiMessage { pub id: Vec, @@ -491,6 +506,7 @@ pub struct FfiMessage { pub convo_id: Vec, pub addr_from: String, pub content: Vec, + pub kind: GroupMessageKind, } impl From for FfiMessage { @@ -501,6 +517,7 @@ impl From for FfiMessage { convo_id: msg.group_id, addr_from: msg.sender_account_address, content: msg.decrypted_message_bytes, + kind: msg.kind, } } } From 0a0a5b2757d65747cb4f00f14d7a0aaf49f69135 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Fri, 5 Apr 2024 17:03:42 -0700 Subject: [PATCH 3/4] get it compiling correctly --- bindings_ffi/src/mls.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/bindings_ffi/src/mls.rs b/bindings_ffi/src/mls.rs index 9ffd76210..759df7fee 100644 --- a/bindings_ffi/src/mls.rs +++ b/bindings_ffi/src/mls.rs @@ -19,7 +19,7 @@ use xmtp_mls::{ client::Client as MlsClient, groups::MlsGroup, storage::{ - group_message::StoredGroupMessage, EncryptedMessageStore, EncryptionKey, StorageOption, + group_message::StoredGroupMessage, EncryptedMessageStore, EncryptionKey, StorageOption, group_message::GroupMessageKind, }, types::Address, }; @@ -485,16 +485,16 @@ impl FfiGroup { } #[derive(uniffi::Enum)] -pub enum GroupMessageKind { - Application = 1, - MembershipChange = 2, +pub enum FfiGroupMessageKind { + Application, + MembershipChange, } -impl GroupMessageKind { - pub fn to_int(&self) -> i32 { - match self { - Self::Application => 1, - Self::MembershipChange => 2, +impl From for FfiGroupMessageKind { + fn from(kind: GroupMessageKind) -> Self { + match kind { + GroupMessageKind::Application => FfiGroupMessageKind::Application, + GroupMessageKind::MembershipChange => FfiGroupMessageKind::MembershipChange, } } } @@ -506,7 +506,7 @@ pub struct FfiMessage { pub convo_id: Vec, pub addr_from: String, pub content: Vec, - pub kind: GroupMessageKind, + pub kind: FfiGroupMessageKind, } impl From for FfiMessage { @@ -517,7 +517,7 @@ impl From for FfiMessage { convo_id: msg.group_id, addr_from: msg.sender_account_address, content: msg.decrypted_message_bytes, - kind: msg.kind, + kind: msg.kind.into(), } } } From 3aa3fb14ab18c2a9fa671607037aa8c3358fb715 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Fri, 5 Apr 2024 17:07:16 -0700 Subject: [PATCH 4/4] run cargo fmt to reformat it --- bindings_ffi/src/mls.rs | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/bindings_ffi/src/mls.rs b/bindings_ffi/src/mls.rs index 759df7fee..221efcc8a 100644 --- a/bindings_ffi/src/mls.rs +++ b/bindings_ffi/src/mls.rs @@ -19,7 +19,8 @@ use xmtp_mls::{ client::Client as MlsClient, groups::MlsGroup, storage::{ - group_message::StoredGroupMessage, EncryptedMessageStore, EncryptionKey, StorageOption, group_message::GroupMessageKind, + group_message::GroupMessageKind, group_message::StoredGroupMessage, EncryptedMessageStore, + EncryptionKey, StorageOption, }, types::Address, }; @@ -224,7 +225,10 @@ impl FfiConversations { Ok(out) } - pub fn process_streamed_welcome_message(&self, envelope_bytes: Vec) -> Result, GenericError> { + pub fn process_streamed_welcome_message( + &self, + envelope_bytes: Vec, + ) -> Result, GenericError> { let inner = self.inner_client.as_ref(); let group = inner.process_streamed_welcome_message(envelope_bytes)?; @@ -365,7 +369,13 @@ impl FfiGroup { ); let messages: Vec = group - .find_messages(None, opts.sent_before_ns, opts.sent_after_ns, None, opts.limit)? + .find_messages( + None, + opts.sent_before_ns, + opts.sent_after_ns, + None, + opts.limit, + )? .into_iter() .map(|msg| msg.into()) .collect(); @@ -373,7 +383,10 @@ impl FfiGroup { Ok(messages) } - pub async fn process_streamed_group_message(&self, envelope_bytes: Vec) -> Result { + pub async fn process_streamed_group_message( + &self, + envelope_bytes: Vec, + ) -> Result { let group = MlsGroup::new( self.inner_client.as_ref(), self.group_id.clone(), @@ -381,7 +394,7 @@ impl FfiGroup { ); let message = group.process_streamed_group_message(envelope_bytes).await?; let ffi_message = message.into(); - + Ok(ffi_message) }