galley-0.83.0: Conversations
Safe HaskellSafe-Inferred
LanguageGHC2021

Galley.API.MLS.Removal

Synopsis

Documentation

createAndSendRemoveProposals Source #

Arguments

:: forall r t. (Member (Error FederationError) r, Member (Input UTCTime) r, Member TinyLog r, Member BackendNotificationQueueAccess r, Member ExternalAccess r, Member NotificationSubsystem r, Member ProposalStore r, Member (Input Env) r, Member Random r, Foldable t) 
=> Local ConvOrSubConv 
-> t LeafIndex 
-> Qualified UserId 
-> ClientMap

The client map that has all the recipients of the message. This is an argument, and not constructed within the function, because of a special case of subconversations where everyone but the subconversation leaver client should get the remove proposal message; in this case the recipients are a strict subset of all the clients represented by the in-memory conversation/subconversation client maps.

-> Sem r () 

Send remove proposals for a set of clients to clients in the ClientMap.

data RemoveUserIncludeMain Source #

A flag to determine whether removeUser should operate on the parent conversation as well as all the subconversations.

Constructors

RemoveUserIncludeMain

Remove user clients from all subconversations, including the parent.

RemoveUserExcludeMain

Remove user clients from all subconversations, but not the parent.

This can be used when the clients are already in the process of being removed from the main conversation, for example as a result of a commit containing a remove proposal.