mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-04-14 07:26:25 +00:00
fix compilation, todos
This commit is contained in:
@@ -2023,6 +2023,7 @@ processChatCommand' vr = \case
|
||||
updateCIGroupInvitationStatus user g CIGISAccepted `catchChatError` (toView . CRChatError (Just user))
|
||||
pure $ CRUserAcceptedGroupSent user g {membership = membership {memberStatus = GSMemAccepted}} Nothing
|
||||
Nothing -> throwChatError $ CEContactNotActive ct
|
||||
-- TODO [knocking] APIAcceptMember
|
||||
APIAcceptMember groupId gmId memRole -> withUser $ \user -> do
|
||||
-- Group gInfo@GroupInfo {membership} members <- withFastStore $ \db -> getGroup db vr user groupId
|
||||
-- pure $ CRJoinedGroupMember user gInfo m {memberStatus = GSMemConnected} -- GSMemApproved?
|
||||
|
||||
@@ -594,7 +594,8 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage =
|
||||
ucl <- withStore $ \db -> getUserContactLinkById db userId userContactLinkId
|
||||
let (UserContactLink {autoAccept}, gli_) = ucl
|
||||
when (connChatVersion < batchSend2Version) $ sendAutoReply ct' autoAccept
|
||||
forM_ gli_ $ \GroupLinkInfo {groupId, memberRole = gLinkMemRole, acceptance = _acceptance} -> do -- TODO
|
||||
-- TODO [knocking] legacy branch - do nothing?
|
||||
forM_ gli_ $ \GroupLinkInfo {groupId, memberRole = gLinkMemRole, acceptance = _acceptance} -> do
|
||||
groupInfo <- withStore $ \db -> getGroupInfo db vr user groupId
|
||||
subMode <- chatReadVar subscriptionMode
|
||||
groupConnIds <- createAgentConnectionAsync user CFCreateConnGrpInv True SCMInvitation subMode
|
||||
@@ -1330,7 +1331,6 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage =
|
||||
messageError "processUserContactRequest: chat version range incompatible for accepting group join request"
|
||||
| otherwise -> do
|
||||
let profileMode = ExistingIncognito <$> incognitoMembershipProfile gInfo
|
||||
-- useRole = userMemberRole gLinkMemRole $ acceptAsObserver cfg
|
||||
mem <- acceptGroupJoinRequestAsync user gInfo cReq useRole profileMode
|
||||
createInternalChatItem user (CDGroupRcv gInfo mem) (CIRcvGroupEvent RGEInvitedViaGroupLink) Nothing
|
||||
toView $ CRAcceptingGroupJoinRequestMember user gInfo mem
|
||||
@@ -1338,21 +1338,24 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage =
|
||||
| v < groupJoinRejectVersion ->
|
||||
messageWarning $ "processUserContactRequest (group " <> groupName' gInfo <> "): joining of " <> displayName <> " is blocked"
|
||||
| otherwise -> do
|
||||
-- TODO [knocking] reject via agent api without creating reply queue; revert rejection changes:
|
||||
-- TODO protocol (XGrpLinkReject), status (GSMemRejected), processing on CON, INFO
|
||||
mem <- acceptGroupJoinSendRejectAsync user gInfo cReq rjctReason
|
||||
toViewTE $ TERejectingGroupJoinRequestMember user gInfo mem rjctReason
|
||||
_ -> toView $ CRReceivedContactRequest user cReq
|
||||
where
|
||||
-- rejectionReason ChatConfig {profileNameLimit, allowedProfileName}
|
||||
-- | T.length displayName > profileNameLimit = Just GRRLongName
|
||||
-- | maybe False (\f -> not $ f displayName) allowedProfileName = Just GRRBlockedName
|
||||
-- | otherwise = Nothing
|
||||
-- userMemberRole linkRole = \case
|
||||
-- Just AOAll -> GRObserver
|
||||
-- Just AONameOnly | noImage -> GRObserver
|
||||
-- Just AOIncognito | noImage && isRandomName displayName -> GRObserver
|
||||
-- _ -> linkRole
|
||||
-- where
|
||||
-- noImage = maybe True (\(ImageData i) -> i == "") image
|
||||
-- TODO [knocking] move logic to bot
|
||||
-- where
|
||||
-- rejectionReason ChatConfig {profileNameLimit, allowedProfileName}
|
||||
-- | T.length displayName > profileNameLimit = Just GRRLongName
|
||||
-- | maybe False (\f -> not $ f displayName) allowedProfileName = Just GRRBlockedName
|
||||
-- | otherwise = Nothing
|
||||
-- userMemberRole linkRole = \case
|
||||
-- Just AOAll -> GRObserver
|
||||
-- Just AONameOnly | noImage -> GRObserver
|
||||
-- Just AOIncognito | noImage && isRandomName displayName -> GRObserver
|
||||
-- _ -> linkRole
|
||||
-- where
|
||||
-- noImage = maybe True (\(ImageData i) -> i == "") image
|
||||
|
||||
memberCanSend :: GroupMember -> CM () -> CM ()
|
||||
memberCanSend GroupMember {memberRole} a
|
||||
|
||||
@@ -1031,7 +1031,7 @@ memberActive m = case memberStatus m of
|
||||
GSMemIntroInvited -> False
|
||||
GSMemAccepted -> False
|
||||
GSMemAnnounced -> False
|
||||
GSMemPendingApproval -> True -- TODO [knocking] ?
|
||||
GSMemPendingApproval -> True -- TODO [knocking] False?
|
||||
GSMemConnected -> True
|
||||
GSMemComplete -> True
|
||||
GSMemCreator -> True
|
||||
@@ -1052,7 +1052,7 @@ memberCurrent' = \case
|
||||
GSMemIntroInvited -> True
|
||||
GSMemAccepted -> True
|
||||
GSMemAnnounced -> True
|
||||
GSMemPendingApproval -> True
|
||||
GSMemPendingApproval -> True -- TODO [knocking] False
|
||||
GSMemConnected -> True
|
||||
GSMemComplete -> True
|
||||
GSMemCreator -> True
|
||||
|
||||
Reference in New Issue
Block a user