From 206314bbef02692015f32edbe0aa830d8c28bccb Mon Sep 17 00:00:00 2001 From: Jazz Turner-Baggs <473256+jazzz@users.noreply.github.com> Date: Thu, 18 Jun 2026 17:44:14 -0700 Subject: [PATCH] Update DirectV1 to support multiple members --- core/conversations/src/conversation/direct_v1.rs | 9 +++++++-- core/conversations/src/core.rs | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/core/conversations/src/conversation/direct_v1.rs b/core/conversations/src/conversation/direct_v1.rs index cc6757f..438f960 100644 --- a/core/conversations/src/conversation/direct_v1.rs +++ b/core/conversations/src/conversation/direct_v1.rs @@ -9,18 +9,23 @@ use crate::{ type DelegateGroup = GroupV1Convo; +/// A Conversation between two participants. #[derive(Debug)] pub struct DirectV1Convo { inner_group: DelegateGroup, } impl DirectV1Convo { + // Constructor must accept multiple IdentId's + // While the conversation is limited to 2 participants, each participants may + // have multiple Installations. pub fn new( cx: &mut ServiceContext, - participant: IdentIdRef, + // Constructor must accept multiple + members: &[IdentIdRef], ) -> Result { let mut inner_group = DelegateGroup::new(cx)?; - inner_group.add_member(cx, &[participant])?; + inner_group.add_member(cx, members)?; Ok(Self { inner_group }) } } diff --git a/core/conversations/src/core.rs b/core/conversations/src/core.rs index f43c8f8..d88a4a8 100644 --- a/core/conversations/src/core.rs +++ b/core/conversations/src/core.rs @@ -215,9 +215,9 @@ impl<'a, S: ExternalServices + 'static> Core { pub fn create_direct_convo_v1( &mut self, - pariticpant: IdentIdRef, + members: &[IdentIdRef], ) -> Result { - let convo = DirectV1Convo::new(&mut self.services, pariticpant)?; + let convo = DirectV1Convo::new(&mut self.services, members)?; let convo_id = convo.id().to_string(); self.register_convo(ConvoTypeOwned::Direct(Box::new(convo)))?;