From 65b26aadd5cba9e8be04b79def0f7ac61b2fcf22 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Thu, 23 Jan 2025 14:06:58 -0800 Subject: [PATCH 1/2] remove pinned frames url from the code --- bindings_ffi/src/mls.rs | 50 ------------ bindings_node/src/conversation.rs | 31 -------- bindings_node/src/conversations.rs | 3 - bindings_node/src/permissions.rs | 10 --- bindings_node/test/Conversations.test.ts | 24 ------ bindings_wasm/src/conversation.rs | 30 -------- bindings_wasm/src/conversations.rs | 6 -- bindings_wasm/src/permissions.rs | 13 ---- xmtp_mls/src/configuration.rs | 1 - xmtp_mls/src/groups/group_mutable_metadata.rs | 14 +--- xmtp_mls/src/groups/intents.rs | 7 -- xmtp_mls/src/groups/mod.rs | 76 ------------------- 12 files changed, 1 insertion(+), 264 deletions(-) diff --git a/bindings_ffi/src/mls.rs b/bindings_ffi/src/mls.rs index a9dfbdbc8..8855d587d 100644 --- a/bindings_ffi/src/mls.rs +++ b/bindings_ffi/src/mls.rs @@ -788,7 +788,6 @@ pub struct FfiPermissionPolicySet { pub update_group_name_policy: FfiPermissionPolicy, pub update_group_description_policy: FfiPermissionPolicy, pub update_group_image_url_square_policy: FfiPermissionPolicy, - pub update_group_pinned_frame_url_policy: FfiPermissionPolicy, pub update_message_expiration_ms_policy: FfiPermissionPolicy, } @@ -817,10 +816,6 @@ impl TryFrom for PolicySet { MetadataField::GroupImageUrlSquare.to_string(), policy_set.update_group_image_url_square_policy.try_into()?, ); - metadata_permissions_map.insert( - MetadataField::GroupPinnedFrameUrl.to_string(), - policy_set.update_group_pinned_frame_url_policy.try_into()?, - ); // MessageExpirationFromMillis follows the same policy as MessageExpirationMillis metadata_permissions_map.insert( MetadataField::MessageExpirationFromMillis.to_string(), @@ -850,7 +845,6 @@ pub enum FfiMetadataField { GroupName, Description, ImageUrlSquare, - PinnedFrameUrl, } impl From<&FfiMetadataField> for MetadataField { @@ -859,7 +853,6 @@ impl From<&FfiMetadataField> for MetadataField { FfiMetadataField::GroupName => MetadataField::GroupName, FfiMetadataField::Description => MetadataField::Description, FfiMetadataField::ImageUrlSquare => MetadataField::GroupImageUrlSquare, - FfiMetadataField::PinnedFrameUrl => MetadataField::GroupPinnedFrameUrl, } } } @@ -1454,7 +1447,6 @@ pub struct FfiCreateGroupOptions { pub group_name: Option, pub group_image_url_square: Option, pub group_description: Option, - pub group_pinned_frame_url: Option, pub custom_permission_policy_set: Option, pub message_expiration_from_ms: Option, pub message_expiration_ms: Option, @@ -1466,7 +1458,6 @@ impl FfiCreateGroupOptions { name: self.group_name, image_url_square: self.group_image_url_square, description: self.group_description, - pinned_frame_url: self.group_pinned_frame_url, message_expiration_from_ms: self.message_expiration_from_ms, message_expiration_ms: self.message_expiration_ms, } @@ -1681,24 +1672,6 @@ impl FfiConversation { Ok(self.inner.group_description(&provider)?) } - pub async fn update_group_pinned_frame_url( - &self, - pinned_frame_url: String, - ) -> Result<(), GenericError> { - self.inner - .update_group_pinned_frame_url(pinned_frame_url) - .await?; - - Ok(()) - } - - pub fn group_pinned_frame_url(&self) -> Result { - let provider = self.inner.mls_provider()?; - self.inner - .group_pinned_frame_url(&provider) - .map_err(Into::into) - } - pub fn admin_list(&self) -> Result, GenericError> { let provider = self.inner.mls_provider()?; self.inner.admin_list(&provider).map_err(Into::into) @@ -2215,9 +2188,6 @@ impl FfiGroupPermissions { update_group_image_url_square_policy: get_policy( MetadataField::GroupImageUrlSquare.as_str(), ), - update_group_pinned_frame_url_policy: get_policy( - MetadataField::GroupPinnedFrameUrl.as_str(), - ), update_message_expiration_ms_policy: get_policy( MetadataField::MessageExpirationMillis.as_str(), ), @@ -2945,7 +2915,6 @@ mod tests { group_name: Some("Group Name".to_string()), group_image_url_square: Some("url".to_string()), group_description: Some("group description".to_string()), - group_pinned_frame_url: Some("pinned frame".to_string()), custom_permission_policy_set: None, message_expiration_from_ms: None, message_expiration_ms: None, @@ -2959,7 +2928,6 @@ mod tests { assert_eq!(group.group_name().unwrap(), "Group Name"); assert_eq!(group.group_image_url_square().unwrap(), "url"); assert_eq!(group.group_description().unwrap(), "group description"); - assert_eq!(group.group_pinned_frame_url().unwrap(), "pinned frame"); } // Looks like this test might be a separate issue @@ -4458,7 +4426,6 @@ mod tests { update_group_name_policy: FfiPermissionPolicy::Admin, update_group_description_policy: FfiPermissionPolicy::Admin, update_group_image_url_square_policy: FfiPermissionPolicy::Admin, - update_group_pinned_frame_url_policy: FfiPermissionPolicy::Admin, update_message_expiration_ms_policy: FfiPermissionPolicy::Admin, }; assert_eq!(alix_permission_policy_set, expected_permission_policy_set); @@ -4488,7 +4455,6 @@ mod tests { update_group_name_policy: FfiPermissionPolicy::Allow, update_group_description_policy: FfiPermissionPolicy::Allow, update_group_image_url_square_policy: FfiPermissionPolicy::Allow, - update_group_pinned_frame_url_policy: FfiPermissionPolicy::Allow, update_message_expiration_ms_policy: FfiPermissionPolicy::Admin, }; assert_eq!(alix_permission_policy_set, expected_permission_policy_set); @@ -4519,7 +4485,6 @@ mod tests { update_group_name_policy: FfiPermissionPolicy::Allow, update_group_description_policy: FfiPermissionPolicy::Allow, update_group_image_url_square_policy: FfiPermissionPolicy::Allow, - update_group_pinned_frame_url_policy: FfiPermissionPolicy::Allow, update_message_expiration_ms_policy: FfiPermissionPolicy::Allow, }; assert_eq!(alix_permission_policy_set, expected_permission_policy_set); @@ -4549,7 +4514,6 @@ mod tests { update_group_name_policy: FfiPermissionPolicy::Allow, update_group_description_policy: FfiPermissionPolicy::Allow, update_group_image_url_square_policy: FfiPermissionPolicy::Allow, - update_group_pinned_frame_url_policy: FfiPermissionPolicy::Allow, update_message_expiration_ms_policy: FfiPermissionPolicy::Admin, }; assert_eq!(alix_permission_policy_set, expected_permission_policy_set); @@ -4583,7 +4547,6 @@ mod tests { update_group_name_policy: FfiPermissionPolicy::Admin, update_group_description_policy: FfiPermissionPolicy::Admin, update_group_image_url_square_policy: FfiPermissionPolicy::Admin, - update_group_pinned_frame_url_policy: FfiPermissionPolicy::Admin, update_message_expiration_ms_policy: FfiPermissionPolicy::Admin, }; assert_eq!(alix_group_permissions, expected_permission_policy_set); @@ -4611,7 +4574,6 @@ mod tests { update_group_name_policy: FfiPermissionPolicy::Admin, update_group_description_policy: FfiPermissionPolicy::Admin, update_group_image_url_square_policy: FfiPermissionPolicy::Allow, - update_group_pinned_frame_url_policy: FfiPermissionPolicy::Admin, update_message_expiration_ms_policy: FfiPermissionPolicy::Admin, }; assert_eq!(alix_group_permissions, new_expected_permission_policy_set); @@ -4663,7 +4625,6 @@ mod tests { update_group_name_policy: FfiPermissionPolicy::Admin, update_group_description_policy: FfiPermissionPolicy::Allow, update_group_image_url_square_policy: FfiPermissionPolicy::Admin, - update_group_pinned_frame_url_policy: FfiPermissionPolicy::Admin, add_member_policy: FfiPermissionPolicy::Allow, remove_member_policy: FfiPermissionPolicy::Deny, update_message_expiration_ms_policy: FfiPermissionPolicy::Admin, @@ -4674,7 +4635,6 @@ mod tests { group_name: Some("Test Group".to_string()), group_image_url_square: Some("https://example.com/image.png".to_string()), group_description: Some("A test group".to_string()), - group_pinned_frame_url: Some("https://example.com/frame.png".to_string()), custom_permission_policy_set: Some(custom_permissions), message_expiration_from_ms: None, message_expiration_ms: None, @@ -4712,10 +4672,6 @@ mod tests { group_permissions_policy_set.update_group_image_url_square_policy, FfiPermissionPolicy::Admin ); - assert_eq!( - group_permissions_policy_set.update_group_pinned_frame_url_policy, - FfiPermissionPolicy::Admin - ); assert_eq!( group_permissions_policy_set.update_message_expiration_ms_policy, FfiPermissionPolicy::Admin @@ -4780,7 +4736,6 @@ mod tests { update_group_name_policy: FfiPermissionPolicy::Admin, update_group_description_policy: FfiPermissionPolicy::Allow, update_group_image_url_square_policy: FfiPermissionPolicy::Admin, - update_group_pinned_frame_url_policy: FfiPermissionPolicy::Admin, add_member_policy: FfiPermissionPolicy::Allow, remove_member_policy: FfiPermissionPolicy::Deny, update_message_expiration_ms_policy: FfiPermissionPolicy::Admin, @@ -4792,7 +4747,6 @@ mod tests { update_group_name_policy: FfiPermissionPolicy::Admin, update_group_description_policy: FfiPermissionPolicy::Allow, update_group_image_url_square_policy: FfiPermissionPolicy::Admin, - update_group_pinned_frame_url_policy: FfiPermissionPolicy::Admin, add_member_policy: FfiPermissionPolicy::Allow, remove_member_policy: FfiPermissionPolicy::Deny, update_message_expiration_ms_policy: FfiPermissionPolicy::Admin, @@ -4803,7 +4757,6 @@ mod tests { group_name: Some("Test Group".to_string()), group_image_url_square: Some("https://example.com/image.png".to_string()), group_description: Some("A test group".to_string()), - group_pinned_frame_url: Some("https://example.com/frame.png".to_string()), custom_permission_policy_set: Some(custom_permissions_invalid_1), message_expiration_from_ms: None, message_expiration_ms: None, @@ -4824,7 +4777,6 @@ mod tests { group_name: Some("Test Group".to_string()), group_image_url_square: Some("https://example.com/image.png".to_string()), group_description: Some("A test group".to_string()), - group_pinned_frame_url: Some("https://example.com/frame.png".to_string()), custom_permission_policy_set: Some(custom_permissions_valid.clone()), message_expiration_from_ms: None, message_expiration_ms: None, @@ -4845,7 +4797,6 @@ mod tests { group_name: Some("Test Group".to_string()), group_image_url_square: Some("https://example.com/image.png".to_string()), group_description: Some("A test group".to_string()), - group_pinned_frame_url: Some("https://example.com/frame.png".to_string()), custom_permission_policy_set: Some(custom_permissions_valid.clone()), message_expiration_from_ms: None, message_expiration_ms: None, @@ -4866,7 +4817,6 @@ mod tests { group_name: Some("Test Group".to_string()), group_image_url_square: Some("https://example.com/image.png".to_string()), group_description: Some("A test group".to_string()), - group_pinned_frame_url: Some("https://example.com/frame.png".to_string()), custom_permission_policy_set: Some(custom_permissions_valid), message_expiration_from_ms: None, message_expiration_ms: None, diff --git a/bindings_node/src/conversation.rs b/bindings_node/src/conversation.rs index 98c27179b..d8d4cfeb1 100644 --- a/bindings_node/src/conversation.rs +++ b/bindings_node/src/conversation.rs @@ -522,37 +522,6 @@ impl Conversation { Ok(group_description) } - #[napi] - pub async fn update_group_pinned_frame_url(&self, pinned_frame_url: String) -> Result<()> { - let group = MlsGroup::new( - self.inner_client.clone(), - self.group_id.clone(), - self.created_at_ns, - ); - - group - .update_group_pinned_frame_url(pinned_frame_url) - .await - .map_err(ErrorWrapper::from)?; - - Ok(()) - } - - #[napi] - pub fn group_pinned_frame_url(&self) -> Result { - let group = MlsGroup::new( - self.inner_client.clone(), - self.group_id.clone(), - self.created_at_ns, - ); - - let group_pinned_frame_url = group - .group_pinned_frame_url(&group.mls_provider().map_err(ErrorWrapper::from)?) - .map_err(ErrorWrapper::from)?; - - Ok(group_pinned_frame_url) - } - #[napi(ts_args_type = "callback: (err: null | Error, result: Message | undefined) => void")] pub fn stream(&self, callback: JsFunction) -> Result { let tsfn: ThreadsafeFunction = diff --git a/bindings_node/src/conversations.rs b/bindings_node/src/conversations.rs index 7111e7fcc..1dc56c5bc 100644 --- a/bindings_node/src/conversations.rs +++ b/bindings_node/src/conversations.rs @@ -120,7 +120,6 @@ pub struct CreateGroupOptions { pub group_name: Option, pub group_image_url_square: Option, pub group_description: Option, - pub group_pinned_frame_url: Option, pub custom_permission_policy_set: Option, pub message_expiration_from_ms: Option, pub message_expiration_ms: Option, @@ -132,7 +131,6 @@ impl CreateGroupOptions { name: self.group_name, image_url_square: self.group_image_url_square, description: self.group_description, - pinned_frame_url: self.group_pinned_frame_url, message_expiration_from_ms: self.message_expiration_from_ms, message_expiration_ms: self.message_expiration_ms, } @@ -161,7 +159,6 @@ impl Conversations { group_name: None, group_image_url_square: None, group_description: None, - group_pinned_frame_url: None, custom_permission_policy_set: None, message_expiration_from_ms: None, message_expiration_ms: None, diff --git a/bindings_node/src/permissions.rs b/bindings_node/src/permissions.rs index 1eb667f64..38dd11f3c 100644 --- a/bindings_node/src/permissions.rs +++ b/bindings_node/src/permissions.rs @@ -160,7 +160,6 @@ pub struct PermissionPolicySet { pub update_group_name_policy: PermissionPolicy, pub update_group_description_policy: PermissionPolicy, pub update_group_image_url_square_policy: PermissionPolicy, - pub update_group_pinned_frame_url_policy: PermissionPolicy, pub update_message_expiration_ms_policy: PermissionPolicy, } @@ -213,9 +212,6 @@ impl GroupPermissions { update_group_image_url_square_policy: get_policy( XmtpMetadataField::GroupImageUrlSquare.as_str(), ), - update_group_pinned_frame_url_policy: get_policy( - XmtpMetadataField::GroupPinnedFrameUrl.as_str(), - ), update_message_expiration_ms_policy: get_policy( XmtpMetadataField::MessageExpirationMillis.as_str(), ), @@ -241,10 +237,6 @@ impl TryFrom for PolicySet { XmtpMetadataField::GroupImageUrlSquare.to_string(), policy_set.update_group_image_url_square_policy.try_into()?, ); - metadata_permissions_map.insert( - XmtpMetadataField::GroupPinnedFrameUrl.to_string(), - policy_set.update_group_pinned_frame_url_policy.try_into()?, - ); metadata_permissions_map.insert( XmtpMetadataField::MessageExpirationMillis.to_string(), policy_set.update_message_expiration_ms_policy.try_into()?, @@ -266,7 +258,6 @@ pub enum MetadataField { GroupName, Description, ImageUrlSquare, - PinnedFrameUrl, } impl From<&MetadataField> for XmtpMetadataField { @@ -275,7 +266,6 @@ impl From<&MetadataField> for XmtpMetadataField { MetadataField::GroupName => XmtpMetadataField::GroupName, MetadataField::Description => XmtpMetadataField::Description, MetadataField::ImageUrlSquare => XmtpMetadataField::GroupImageUrlSquare, - MetadataField::PinnedFrameUrl => XmtpMetadataField::GroupPinnedFrameUrl, } } } diff --git a/bindings_node/test/Conversations.test.ts b/bindings_node/test/Conversations.test.ts index ad280521b..d6f7919bb 100644 --- a/bindings_node/test/Conversations.test.ts +++ b/bindings_node/test/Conversations.test.ts @@ -51,7 +51,6 @@ describe('Conversations', () => { updateGroupNamePolicy: 0, updateGroupDescriptionPolicy: 0, updateGroupImageUrlSquarePolicy: 0, - updateGroupPinnedFrameUrlPolicy: 0, updateMessageExpirationMsPolicy: 2, }) expect(group.addedByInboxId()).toBe(client1.inboxId()) @@ -103,7 +102,6 @@ describe('Conversations', () => { updateGroupNamePolicy: 2, updateGroupDescriptionPolicy: 1, updateGroupImageUrlSquarePolicy: 0, - updateGroupPinnedFrameUrlPolicy: 3, updateMessageExpirationMsPolicy: 2, }, }) @@ -119,7 +117,6 @@ describe('Conversations', () => { updateGroupNamePolicy: 2, updateGroupDescriptionPolicy: 1, updateGroupImageUrlSquarePolicy: 0, - updateGroupPinnedFrameUrlPolicy: 3, updateMessageExpirationMsPolicy: 2, }) }) @@ -141,7 +138,6 @@ describe('Conversations', () => { updateGroupNamePolicy: 0, updateGroupDescriptionPolicy: 0, updateGroupImageUrlSquarePolicy: 0, - updateGroupPinnedFrameUrlPolicy: 0, updateMessageExpirationMsPolicy: 2, }) @@ -158,7 +154,6 @@ describe('Conversations', () => { updateGroupNamePolicy: 0, updateGroupDescriptionPolicy: 0, updateGroupImageUrlSquarePolicy: 0, - updateGroupPinnedFrameUrlPolicy: 0, updateMessageExpirationMsPolicy: 2, }) @@ -176,7 +171,6 @@ describe('Conversations', () => { updateGroupNamePolicy: 1, updateGroupDescriptionPolicy: 0, updateGroupImageUrlSquarePolicy: 0, - updateGroupPinnedFrameUrlPolicy: 0, updateMessageExpirationMsPolicy: 2, }) }) @@ -203,7 +197,6 @@ describe('Conversations', () => { updateGroupDescriptionPolicy: 0, updateGroupImageUrlSquarePolicy: 0, updateGroupNamePolicy: 0, - updateGroupPinnedFrameUrlPolicy: 0, updateMessageExpirationMsPolicy: 0, }) expect(group.addedByInboxId()).toBe(client1.inboxId()) @@ -341,7 +334,6 @@ describe('Conversations', () => { updateGroupNamePolicy: 2, updateGroupDescriptionPolicy: 2, updateGroupImageUrlSquarePolicy: 2, - updateGroupPinnedFrameUrlPolicy: 2, updateMessageExpirationMsPolicy: 2, }) @@ -354,19 +346,6 @@ describe('Conversations', () => { expect(groupWithDescription.groupName()).toBe('') expect(groupWithDescription.groupImageUrlSquare()).toBe('') expect(groupWithDescription.groupDescription()).toBe('foo') - - const groupWithPinnedFrameUrl = await client1 - .conversations() - .createGroup([user2.account.address], { - groupPinnedFrameUrl: 'https://frameurl.xyz', - }) - expect(groupWithPinnedFrameUrl).toBeDefined() - expect(groupWithPinnedFrameUrl.groupName()).toBe('') - expect(groupWithPinnedFrameUrl.groupImageUrlSquare()).toBe('') - expect(groupWithPinnedFrameUrl.groupDescription()).toBe('') - expect(groupWithPinnedFrameUrl.groupPinnedFrameUrl()).toBe( - 'https://frameurl.xyz' - ) }) it('should update group metadata', async () => { @@ -386,9 +365,6 @@ describe('Conversations', () => { await group.updateGroupDescription('bar') expect(group.groupDescription()).toBe('bar') - - await group.updateGroupPinnedFrameUrl('https://frameurl.xyz') - expect(group.groupPinnedFrameUrl()).toBe('https://frameurl.xyz') }) it('should stream all groups', async () => { diff --git a/bindings_wasm/src/conversation.rs b/bindings_wasm/src/conversation.rs index 6509c5873..5269c0c16 100644 --- a/bindings_wasm/src/conversation.rs +++ b/bindings_wasm/src/conversation.rs @@ -474,36 +474,6 @@ impl Conversation { Ok(group_description) } - #[wasm_bindgen(js_name = updateGroupPinnedFrameUrl)] - pub async fn update_group_pinned_frame_url( - &self, - pinned_frame_url: String, - ) -> Result<(), JsError> { - let group = self.to_mls_group(); - - group - .update_group_pinned_frame_url(pinned_frame_url) - .await - .map_err(|e| JsError::new(&format!("{e}")))?; - - Ok(()) - } - - #[wasm_bindgen(js_name = groupPinnedFrameUrl)] - pub fn group_pinned_frame_url(&self) -> Result { - let group = self.to_mls_group(); - - let group_pinned_frame_url = group - .group_pinned_frame_url( - &group - .mls_provider() - .map_err(|e| JsError::new(&format!("{e}")))?, - ) - .map_err(|e| JsError::new(&format!("{e}")))?; - - Ok(group_pinned_frame_url) - } - #[wasm_bindgen(js_name = createdAtNs)] pub fn created_at_ns(&self) -> i64 { self.created_at_ns diff --git a/bindings_wasm/src/conversations.rs b/bindings_wasm/src/conversations.rs index 6eeb0f426..24c7181c2 100644 --- a/bindings_wasm/src/conversations.rs +++ b/bindings_wasm/src/conversations.rs @@ -126,8 +126,6 @@ pub struct CreateGroupOptions { pub group_image_url_square: Option, #[wasm_bindgen(js_name = groupDescription)] pub group_description: Option, - #[wasm_bindgen(js_name = groupPinnedFrameUrl)] - pub group_pinned_frame_url: Option, #[wasm_bindgen(js_name = customPermissionPolicySet)] pub custom_permission_policy_set: Option, #[wasm_bindgen(js_name = messageExpirationFromMillis)] @@ -145,7 +143,6 @@ impl CreateGroupOptions { group_name: Option, group_image_url_square: Option, group_description: Option, - group_pinned_frame_url: Option, custom_permission_policy_set: Option, message_expiration_from_ms: Option, message_expiration_ms: Option, @@ -155,7 +152,6 @@ impl CreateGroupOptions { group_name, group_image_url_square, group_description, - group_pinned_frame_url, custom_permission_policy_set, message_expiration_from_ms, message_expiration_ms, @@ -169,7 +165,6 @@ impl CreateGroupOptions { name: self.group_name, image_url_square: self.group_image_url_square, description: self.group_description, - pinned_frame_url: self.group_pinned_frame_url, message_expiration_from_ms: self.message_expiration_from_ms, message_expiration_ms: self.message_expiration_ms, } @@ -216,7 +211,6 @@ impl Conversations { group_name: None, group_image_url_square: None, group_description: None, - group_pinned_frame_url: None, custom_permission_policy_set: None, message_expiration_from_ms: None, message_expiration_ms: None, diff --git a/bindings_wasm/src/permissions.rs b/bindings_wasm/src/permissions.rs index 2baa7ca74..d6fcab52e 100644 --- a/bindings_wasm/src/permissions.rs +++ b/bindings_wasm/src/permissions.rs @@ -168,8 +168,6 @@ pub struct PermissionPolicySet { pub update_group_description_policy: PermissionPolicy, #[wasm_bindgen(js_name = updateGroupImageUrlSquarePolicy)] pub update_group_image_url_square_policy: PermissionPolicy, - #[wasm_bindgen(js_name = updateGroupPinnedFrameUrlPolicy)] - pub update_group_pinned_frame_url_policy: PermissionPolicy, #[wasm_bindgen(js_name = updateMessageExpirationPolicy)] pub update_message_expiration_ms_policy: PermissionPolicy, } @@ -186,7 +184,6 @@ impl PermissionPolicySet { update_group_name_policy: PermissionPolicy, update_group_description_policy: PermissionPolicy, update_group_image_url_square_policy: PermissionPolicy, - update_group_pinned_frame_url_policy: PermissionPolicy, update_message_expiration_ms_policy: PermissionPolicy, ) -> Self { Self { @@ -197,7 +194,6 @@ impl PermissionPolicySet { update_group_name_policy, update_group_description_policy, update_group_image_url_square_policy, - update_group_pinned_frame_url_policy, update_message_expiration_ms_policy, } } @@ -254,9 +250,6 @@ impl GroupPermissions { update_group_image_url_square_policy: get_policy( XmtpMetadataField::GroupImageUrlSquare.as_str(), ), - update_group_pinned_frame_url_policy: get_policy( - XmtpMetadataField::GroupPinnedFrameUrl.as_str(), - ), update_message_expiration_ms_policy: get_policy( XmtpMetadataField::MessageExpirationMillis.as_str(), ), @@ -280,10 +273,6 @@ impl TryFrom for PolicySet { XmtpMetadataField::GroupImageUrlSquare.to_string(), policy_set.update_group_image_url_square_policy.try_into()?, ); - metadata_permissions_map.insert( - XmtpMetadataField::GroupPinnedFrameUrl.to_string(), - policy_set.update_group_pinned_frame_url_policy.try_into()?, - ); metadata_permissions_map.insert( XmtpMetadataField::MessageExpirationMillis.to_string(), policy_set.update_message_expiration_ms_policy.try_into()?, @@ -305,7 +294,6 @@ pub enum MetadataField { GroupName, Description, ImageUrlSquare, - PinnedFrameUrl, } impl From<&MetadataField> for XmtpMetadataField { @@ -314,7 +302,6 @@ impl From<&MetadataField> for XmtpMetadataField { MetadataField::GroupName => XmtpMetadataField::GroupName, MetadataField::Description => XmtpMetadataField::Description, MetadataField::ImageUrlSquare => XmtpMetadataField::GroupImageUrlSquare, - MetadataField::PinnedFrameUrl => XmtpMetadataField::GroupPinnedFrameUrl, } } } diff --git a/xmtp_mls/src/configuration.rs b/xmtp_mls/src/configuration.rs index 118231a57..d3c0e9389 100644 --- a/xmtp_mls/src/configuration.rs +++ b/xmtp_mls/src/configuration.rs @@ -54,7 +54,6 @@ pub const GROUP_PERMISSIONS_EXTENSION_ID: u16 = 0xff02; pub const DEFAULT_GROUP_NAME: &str = ""; pub const DEFAULT_GROUP_DESCRIPTION: &str = ""; pub const DEFAULT_GROUP_IMAGE_URL_SQUARE: &str = ""; -pub const DEFAULT_GROUP_PINNED_FRAME_URL: &str = ""; // If a metadata field name starts with this character, // and it does not have a policy set, it is a super admin only field diff --git a/xmtp_mls/src/groups/group_mutable_metadata.rs b/xmtp_mls/src/groups/group_mutable_metadata.rs index e1285a2aa..cd9b6119f 100644 --- a/xmtp_mls/src/groups/group_mutable_metadata.rs +++ b/xmtp_mls/src/groups/group_mutable_metadata.rs @@ -13,7 +13,7 @@ use xmtp_proto::xmtp::mls::message_contents::{ use crate::configuration::{ DEFAULT_GROUP_DESCRIPTION, DEFAULT_GROUP_IMAGE_URL_SQUARE, DEFAULT_GROUP_NAME, - DEFAULT_GROUP_PINNED_FRAME_URL, MUTABLE_METADATA_EXTENSION_ID, + MUTABLE_METADATA_EXTENSION_ID, }; use super::GroupMetadataOptions; @@ -46,7 +46,6 @@ pub enum MetadataField { GroupName, Description, GroupImageUrlSquare, - GroupPinnedFrameUrl, MessageExpirationFromMillis, MessageExpirationMillis, } @@ -58,7 +57,6 @@ impl MetadataField { MetadataField::GroupName => "group_name", MetadataField::Description => "description", MetadataField::GroupImageUrlSquare => "group_image_url_square", - MetadataField::GroupPinnedFrameUrl => "group_pinned_frame_url", MetadataField::MessageExpirationFromMillis => "message_expiration_from_ms", MetadataField::MessageExpirationMillis => "message_expiration_ms", } @@ -120,11 +118,6 @@ impl GroupMutableMetadata { opts.image_url_square .unwrap_or_else(|| DEFAULT_GROUP_IMAGE_URL_SQUARE.to_string()), ); - attributes.insert( - MetadataField::GroupPinnedFrameUrl.to_string(), - opts.pinned_frame_url - .unwrap_or_else(|| DEFAULT_GROUP_PINNED_FRAME_URL.to_string()), - ); if let Some(message_expiration_from_ms) = opts.message_expiration_from_ms { attributes.insert( @@ -164,10 +157,6 @@ impl GroupMutableMetadata { MetadataField::GroupImageUrlSquare.to_string(), DEFAULT_GROUP_IMAGE_URL_SQUARE.to_string(), ); - attributes.insert( - MetadataField::GroupPinnedFrameUrl.to_string(), - DEFAULT_GROUP_PINNED_FRAME_URL.to_string(), - ); let admin_list = vec![]; let super_admin_list = vec![]; Self { @@ -185,7 +174,6 @@ impl GroupMutableMetadata { MetadataField::GroupName, MetadataField::Description, MetadataField::GroupImageUrlSquare, - MetadataField::GroupPinnedFrameUrl, MetadataField::MessageExpirationMillis, ] } diff --git a/xmtp_mls/src/groups/intents.rs b/xmtp_mls/src/groups/intents.rs index 369cbad10..f2483b209 100644 --- a/xmtp_mls/src/groups/intents.rs +++ b/xmtp_mls/src/groups/intents.rs @@ -234,13 +234,6 @@ impl UpdateMetadataIntentData { field_value: group_description, } } - - pub fn new_update_group_pinned_frame_url(pinned_frame_url: String) -> Self { - Self { - field_name: MetadataField::GroupPinnedFrameUrl.to_string(), - field_value: pinned_frame_url, - } - } } impl From for Vec { diff --git a/xmtp_mls/src/groups/mod.rs b/xmtp_mls/src/groups/mod.rs index 7ec7ce91f..b69c461c3 100644 --- a/xmtp_mls/src/groups/mod.rs +++ b/xmtp_mls/src/groups/mod.rs @@ -292,7 +292,6 @@ pub struct GroupMetadataOptions { pub name: Option, pub image_url_square: Option, pub description: Option, - pub pinned_frame_url: Option, pub message_expiration_from_ms: Option, pub message_expiration_ms: Option, } @@ -1107,37 +1106,6 @@ impl MlsGroup { } } - pub async fn update_group_pinned_frame_url( - &self, - pinned_frame_url: String, - ) -> Result<(), GroupError> { - let provider = self.client.mls_provider()?; - if self.metadata(&provider).await?.conversation_type == ConversationType::Dm { - return Err(GroupError::DmGroupMetadataForbidden); - } - let intent_data: Vec = - UpdateMetadataIntentData::new_update_group_pinned_frame_url(pinned_frame_url).into(); - let intent = self.queue_intent(&provider, IntentKind::MetadataUpdate, intent_data)?; - - self.sync_until_intent_resolved(&provider, intent.id).await - } - - pub fn group_pinned_frame_url( - &self, - provider: &XmtpOpenMlsProvider, - ) -> Result { - let mutable_metadata = self.mutable_metadata(provider)?; - match mutable_metadata - .attributes - .get(&MetadataField::GroupPinnedFrameUrl.to_string()) - { - Some(pinned_frame_url) => Ok(pinned_frame_url.clone()), - None => Err(GroupError::GroupMutableMetadata( - GroupMutableMetadataError::MissingExtension, - )), - } - } - /// Retrieves the admin list of the group from the group's mutable metadata extension. pub fn admin_list(&self, provider: &XmtpOpenMlsProvider) -> Result, GroupError> { let mutable_metadata = self.mutable_metadata(provider)?; @@ -2611,7 +2579,6 @@ pub(crate) mod tests { name: Some("Group Name".to_string()), image_url_square: Some("url".to_string()), description: Some("group description".to_string()), - pinned_frame_url: Some("pinned frame".to_string()), message_expiration_from_ms: None, message_expiration_ms: None, }, @@ -2633,15 +2600,10 @@ pub(crate) mod tests { .attributes .get(&MetadataField::Description.to_string()) .unwrap(); - let amal_group_pinned_frame_url: &String = binding - .attributes - .get(&MetadataField::GroupPinnedFrameUrl.to_string()) - .unwrap(); assert_eq!(amal_group_name, "Group Name"); assert_eq!(amal_group_image_url, "url"); assert_eq!(amal_group_description, "group description"); - assert_eq!(amal_group_pinned_frame_url, "pinned frame"); } #[wasm_bindgen_test(unsupported = tokio::test(flavor = "current_thread"))] @@ -2866,44 +2828,6 @@ pub(crate) mod tests { assert_eq!(amal_group_image_url, "a url"); } - #[wasm_bindgen_test(unsupported = tokio::test(flavor = "current_thread"))] - async fn test_update_group_pinned_frame_url() { - let amal = ClientBuilder::new_test_client(&generate_local_wallet()).await; - - // Create a group and verify it has the default group name - let policy_set = Some(PreconfiguredPolicies::AdminsOnly.to_policy_set()); - let amal_group = amal - .create_group(policy_set, GroupMetadataOptions::default()) - .unwrap(); - amal_group.sync().await.unwrap(); - - let group_mutable_metadata = amal_group - .mutable_metadata(&amal_group.mls_provider().unwrap()) - .unwrap(); - assert!(group_mutable_metadata - .attributes - .get(&MetadataField::GroupPinnedFrameUrl.to_string()) - .unwrap() - .is_empty()); - - // Update group name - amal_group - .update_group_pinned_frame_url("a frame url".to_string()) - .await - .unwrap(); - - // Verify amal group sees update - amal_group.sync().await.unwrap(); - let binding = amal_group - .mutable_metadata(&amal_group.mls_provider().unwrap()) - .expect("msg"); - let amal_group_pinned_frame_url: &String = binding - .attributes - .get(&MetadataField::GroupPinnedFrameUrl.to_string()) - .unwrap(); - assert_eq!(amal_group_pinned_frame_url, "a frame url"); - } - #[wasm_bindgen_test(unsupported = tokio::test(flavor = "current_thread"))] async fn test_group_mutable_data_group_permissions() { let amal = ClientBuilder::new_test_client(&generate_local_wallet()).await; From ec1465a4aef311871952705090f507f845a592ef Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Sun, 2 Feb 2025 17:50:08 -0800 Subject: [PATCH 2/2] fix up a test --- xmtp_mls/src/groups/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xmtp_mls/src/groups/mod.rs b/xmtp_mls/src/groups/mod.rs index c506d58b0..a8744b772 100644 --- a/xmtp_mls/src/groups/mod.rs +++ b/xmtp_mls/src/groups/mod.rs @@ -2766,7 +2766,7 @@ pub(crate) mod tests { let group_mutable_metadata = amal_group .mutable_metadata(&amal_group.mls_provider().unwrap()) .unwrap(); - assert!(group_mutable_metadata.attributes.len().eq(&4)); + assert!(group_mutable_metadata.attributes.len().eq(&3)); assert!(group_mutable_metadata .attributes .get(&MetadataField::GroupName.to_string())