Deleting clients creates MLS remove proposals#2674
Conversation
008b404 to
dabf8d8
Compare
66ecc4c to
888ad3d
Compare
8e0a381 to
cfbd4d6
Compare
cc71c48 to
8c4b1a4
Compare
8c4b1a4 to
8223edc
Compare
mdimjasevic
left a comment
There was a problem hiding this comment.
Overall this looks good, but I have some questions and comments that are inlined.
| >>= logAndIgnoreError "Error in onConversationUpdated call" usr | ||
|
|
||
| logAndIgnoreError message usr' res = do | ||
| case res of |
There was a problem hiding this comment.
A suggestion: you can use whenLeft here:
whenLeft :: Applicative m => Either a b -> (a -> m ()) -> m ()There was a problem hiding this comment.
ah nice, didn't know about this one
| removeRemoteMLSClients cids = do | ||
| for_ (bucketRemote (fromRange cids)) $ \remoteConvs -> do | ||
| runFederatedEither remoteConvs (rpc (ClientRemovedRequest usr cid (tUnqualified remoteConvs))) | ||
| >>= logAndIgnoreError "Error in onConversationUpdated call" usr |
There was a problem hiding this comment.
Shouldn't have the message been about "on-client-removed"?
There was a problem hiding this comment.
Yes, it is. rpc is bound to fedClient @'Galley @"on-client-removed". The reason we define this name outside is because creating the servant client rpc is costly apparently
There was a problem hiding this comment.
I am not sure I follow. I am asking if instead of:
logAndIgnoreError "Error in onConversationUpdated call" usrit should have been:
logAndIgnoreError "Error in onClientRemoved call" usrinstead.
|
@mdimjasevic Thanks for the review! I followed all your suggetions in 85575f0 |
Checklist
changelog.d