mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2025-06-28 20:29:53 +00:00
core: add hostContact to CRUserAcceptedGroupSent (to transition from pending connection to group in ui) (#1295)
This commit is contained in:
parent
c78acfda33
commit
1bf3154488
4 changed files with 5 additions and 4 deletions
|
@ -554,6 +554,7 @@ export interface CRGroupMembers extends CR {
|
||||||
export interface CRUserAcceptedGroupSent extends CR {
|
export interface CRUserAcceptedGroupSent extends CR {
|
||||||
type: "userAcceptedGroupSent"
|
type: "userAcceptedGroupSent"
|
||||||
groupInfo: GroupInfo
|
groupInfo: GroupInfo
|
||||||
|
hostContact?: Contact // included when joining group via group link
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface CRUserDeletedMember extends CR {
|
export interface CRUserDeletedMember extends CR {
|
||||||
|
|
|
@ -871,7 +871,7 @@ processChatCommand = \case
|
||||||
updateGroupMemberStatus db userId fromMember GSMemAccepted
|
updateGroupMemberStatus db userId fromMember GSMemAccepted
|
||||||
updateGroupMemberStatus db userId membership GSMemAccepted
|
updateGroupMemberStatus db userId membership GSMemAccepted
|
||||||
updateCIGroupInvitationStatus user
|
updateCIGroupInvitationStatus user
|
||||||
pure $ CRUserAcceptedGroupSent g {membership = membership {memberStatus = GSMemAccepted}}
|
pure $ CRUserAcceptedGroupSent g {membership = membership {memberStatus = GSMemAccepted}} Nothing
|
||||||
where
|
where
|
||||||
updateCIGroupInvitationStatus user@User {userId} = do
|
updateCIGroupInvitationStatus user@User {userId} = do
|
||||||
AChatItem _ _ cInfo ChatItem {content, meta = CIMeta {itemId}} <- withStore $ \db -> getChatItemByGroupId db user groupId
|
AChatItem _ _ cInfo ChatItem {content, meta = CIMeta {itemId}} <- withStore $ \db -> getChatItemByGroupId db user groupId
|
||||||
|
@ -2434,7 +2434,7 @@ processAgentMessage (Just user@User {userId}) corrId agentConnId agentMessage =
|
||||||
createMemberConnectionAsync db user hostId connIds
|
createMemberConnectionAsync db user hostId connIds
|
||||||
updateGroupMemberStatusById db userId hostId GSMemAccepted
|
updateGroupMemberStatusById db userId hostId GSMemAccepted
|
||||||
updateGroupMemberStatus db userId membership GSMemAccepted
|
updateGroupMemberStatus db userId membership GSMemAccepted
|
||||||
toView $ CRUserAcceptedGroupSent gInfo {membership = membership {memberStatus = GSMemAccepted}}
|
toView $ CRUserAcceptedGroupSent gInfo {membership = membership {memberStatus = GSMemAccepted}} (Just ct)
|
||||||
else do
|
else do
|
||||||
let content = CIRcvGroupInvitation (CIGroupInvitation {groupId, groupMemberId, localDisplayName, groupProfile, status = CIGISPending}) memRole
|
let content = CIRcvGroupInvitation (CIGroupInvitation {groupId, groupMemberId, localDisplayName, groupProfile, status = CIGISPending}) memRole
|
||||||
ci <- saveRcvChatItem user (CDDirectRcv ct) msg msgMeta content Nothing
|
ci <- saveRcvChatItem user (CDDirectRcv ct) msg msgMeta content Nothing
|
||||||
|
|
|
@ -285,7 +285,7 @@ data ChatResponse
|
||||||
| CRUserContactLink {contactLink :: UserContactLink}
|
| CRUserContactLink {contactLink :: UserContactLink}
|
||||||
| CRUserContactLinkUpdated {contactLink :: UserContactLink}
|
| CRUserContactLinkUpdated {contactLink :: UserContactLink}
|
||||||
| CRContactRequestRejected {contactRequest :: UserContactRequest}
|
| CRContactRequestRejected {contactRequest :: UserContactRequest}
|
||||||
| CRUserAcceptedGroupSent {groupInfo :: GroupInfo}
|
| CRUserAcceptedGroupSent {groupInfo :: GroupInfo, hostContact :: Maybe Contact}
|
||||||
| CRUserDeletedMember {groupInfo :: GroupInfo, member :: GroupMember}
|
| CRUserDeletedMember {groupInfo :: GroupInfo, member :: GroupMember}
|
||||||
| CRGroupsList {groups :: [GroupInfo]}
|
| CRGroupsList {groups :: [GroupInfo]}
|
||||||
| CRSentGroupInvitation {groupInfo :: GroupInfo, contact :: Contact, member :: GroupMember}
|
| CRSentGroupInvitation {groupInfo :: GroupInfo, contact :: Contact, member :: GroupMember}
|
||||||
|
|
|
@ -114,7 +114,7 @@ responseToView testView = \case
|
||||||
CRContactRequestAlreadyAccepted c -> [ttyFullContact c <> ": sent you a duplicate contact request, but you are already connected, no action needed"]
|
CRContactRequestAlreadyAccepted c -> [ttyFullContact c <> ": sent you a duplicate contact request, but you are already connected, no action needed"]
|
||||||
CRUserContactLinkCreated cReq -> connReqContact_ "Your new chat address is created!" cReq
|
CRUserContactLinkCreated cReq -> connReqContact_ "Your new chat address is created!" cReq
|
||||||
CRUserContactLinkDeleted -> viewUserContactLinkDeleted
|
CRUserContactLinkDeleted -> viewUserContactLinkDeleted
|
||||||
CRUserAcceptedGroupSent _g -> [] -- [ttyGroup' g <> ": joining the group..."]
|
CRUserAcceptedGroupSent _g _ -> [] -- [ttyGroup' g <> ": joining the group..."]
|
||||||
CRUserDeletedMember g m -> [ttyGroup' g <> ": you removed " <> ttyMember m <> " from the group"]
|
CRUserDeletedMember g m -> [ttyGroup' g <> ": you removed " <> ttyMember m <> " from the group"]
|
||||||
CRLeftMemberUser g -> [ttyGroup' g <> ": you left the group"] <> groupPreserved g
|
CRLeftMemberUser g -> [ttyGroup' g <> ": you left the group"] <> groupPreserved g
|
||||||
CRGroupDeletedUser g -> [ttyGroup' g <> ": you deleted the group"]
|
CRGroupDeletedUser g -> [ttyGroup' g <> ": you deleted the group"]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue