Skip to content

Commit 1dec209

Browse files
committed
Revert "Add TeamId to conversation.delete event"
This reverts commit dc6bc9c.
1 parent dc6bc9c commit 1dec209

File tree

13 files changed

+45
-85
lines changed

13 files changed

+45
-85
lines changed

integration/test/Test/Cells.hs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -77,24 +77,6 @@ testCellsCreationEvent = do
7777

7878
assertNoMessage q
7979

80-
testCellsDeletionEvent :: (HasCallStack) => App ()
81-
testCellsDeletionEvent = do
82-
-- start watcher before creating conversation
83-
q0 <- watchCellsEvents def
84-
(alice, tid, _) <- createTeam OwnDomain 1
85-
conv <- postConversation alice defProteus {team = Just tid, cells = True} >>= getJSON 201
86-
void $ deleteTeamConversation tid conv alice >>= assertSuccess
87-
88-
let q = q0 {filter = isConvDeleteNotif} :: QueueConsumer
89-
90-
event <- getMessage q %. "payload.0"
91-
printJSON event
92-
event %. "type" `shouldMatch` "conversation.delete"
93-
event %. "qualified_conversation.id" `shouldMatch` (conv %. "qualified_id.id")
94-
event %. "qualified_from" `shouldMatch` (alice %. "qualified_id")
95-
96-
assertNoMessage q
97-
9880
testCellsCreationEventIsSentOnlyOnce :: (HasCallStack) => App ()
9981
testCellsCreationEventIsSentOnlyOnce = do
10082
-- start watcher before creating conversation

libs/wire-api/src/Wire/API/Conversation.hs

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,6 @@ module Wire.API.Conversation
8787
ConversationRemoveMembers (..),
8888
AddPermissionUpdate (..),
8989

90-
-- * delete
91-
ConversationDelete (..),
92-
9390
-- * re-exports
9491
module Wire.API.Conversation.Member,
9592
)
@@ -1153,24 +1150,6 @@ instance ToSchema AddPermissionUpdate where
11531150
$ AddPermissionUpdate
11541151
<$> addPermission .= field "add_permission" schema
11551152

1156-
newtype ConversationDelete = ConversationDelete
1157-
{ teamId :: TeamId
1158-
}
1159-
deriving stock (Eq, Show)
1160-
deriving newtype (Arbitrary)
1161-
deriving (S.ToSchema, ToJSON, FromJSON) via Schema ConversationDelete
1162-
1163-
instance ToSchema ConversationDelete where
1164-
schema =
1165-
objectWithDocModifier
1166-
"ConversationDelete"
1167-
(description ?~ "The action of deleting a conversation")
1168-
$ ConversationDelete
1169-
<$> teamId
1170-
.= field
1171-
"teamId"
1172-
(unnamed (schema @TeamId))
1173-
11741153
--------------------------------------------------------------------------------
11751154
-- MultiVerb instances
11761155

libs/wire-api/src/Wire/API/Conversation/Action.hs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ type family ConversationAction (tag :: ConversationActionTag) :: Type where
6060
ConversationAction ConversationJoinTag = ConversationJoin
6161
ConversationAction ConversationLeaveTag = ()
6262
ConversationAction ConversationMemberUpdateTag = ConversationMemberUpdate
63-
ConversationAction ConversationDeleteTag = ConversationDelete
63+
ConversationAction ConversationDeleteTag = ()
6464
ConversationAction ConversationRenameTag = ConversationRename
6565
ConversationAction ConversationMessageTimerUpdateTag = ConversationMessageTimerUpdate
6666
ConversationAction ConversationReceiptModeUpdateTag = ConversationReceiptModeUpdate
@@ -136,7 +136,11 @@ conversationActionSchema SConversationLeaveTag =
136136
$ pure ()
137137
conversationActionSchema SConversationRemoveMembersTag = schema
138138
conversationActionSchema SConversationMemberUpdateTag = schema @ConversationMemberUpdate
139-
conversationActionSchema SConversationDeleteTag = schema
139+
conversationActionSchema SConversationDeleteTag =
140+
objectWithDocModifier
141+
"ConversationDelete"
142+
(S.description ?~ "The action of deleting a conversation")
143+
(pure ())
140144
conversationActionSchema SConversationRenameTag = schema
141145
conversationActionSchema SConversationMessageTimerUpdateTag = schema
142146
conversationActionSchema SConversationReceiptModeUpdateTag = schema
@@ -203,7 +207,7 @@ conversationActionToEvent tag now quid qcnv subconv action =
203207
let ConversationMemberUpdate target (OtherMemberUpdate role) = action
204208
update = MemberUpdateData target Nothing Nothing Nothing Nothing Nothing Nothing role
205209
in EdMemberUpdate update
206-
SConversationDeleteTag -> EdConvDelete action
210+
SConversationDeleteTag -> EdConvDelete
207211
SConversationRenameTag -> EdConvRename action
208212
SConversationMessageTimerUpdateTag -> EdConvMessageTimerUpdate action
209213
SConversationReceiptModeUpdateTag -> EdConvReceiptModeUpdate action

libs/wire-api/src/Wire/API/Event/Conversation.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ data EventData
185185
| EdConnect Connect
186186
| EdConvReceiptModeUpdate ConversationReceiptModeUpdate
187187
| EdConvRename ConversationRename
188-
| EdConvDelete ConversationDelete
188+
| EdConvDelete
189189
| EdConvReset GroupId
190190
| EdConvAccessUpdate ConversationAccessData
191191
| EdConvMessageTimerUpdate ConversationMessageTimerUpdate
@@ -218,7 +218,7 @@ genEventData = \case
218218
OtrMessageAdd -> EdOtrMessage <$> arbitrary
219219
MLSMessageAdd -> EdMLSMessage <$> arbitrary
220220
MLSWelcome -> EdMLSWelcome <$> arbitrary
221-
ConvDelete -> EdConvDelete <$> arbitrary
221+
ConvDelete -> pure EdConvDelete
222222
ConvReset -> EdConvReset <$> arbitrary
223223
ProtocolUpdate -> EdProtocolUpdate <$> arbitrary
224224
AddPermissionUpdate -> EdAddPermissionUpdate <$> arbitrary
@@ -239,7 +239,7 @@ eventDataType (EdTyping _) = Typing
239239
eventDataType (EdOtrMessage _) = OtrMessageAdd
240240
eventDataType (EdMLSMessage _) = MLSMessageAdd
241241
eventDataType (EdMLSWelcome _) = MLSWelcome
242-
eventDataType (EdConvDelete _) = ConvDelete
242+
eventDataType EdConvDelete = ConvDelete
243243
eventDataType (EdConvReset _) = ConvReset
244244
eventDataType (EdProtocolUpdate _) = ProtocolUpdate
245245
eventDataType (EdAddPermissionUpdate _) = AddPermissionUpdate
@@ -449,7 +449,7 @@ taggedEventDataSchema =
449449
MLSWelcome -> tag _EdMLSWelcome base64Schema
450450
Typing -> tag _EdTyping (unnamed schema)
451451
ConvCodeDelete -> tag _EdConvCodeDelete null_
452-
ConvDelete -> tag _EdConvDelete (unnamed schema)
452+
ConvDelete -> tag _EdConvDelete null_
453453
ConvReset -> tag _EdConvReset (unnamed (object "ConvResetData" (field "group_id" schema)))
454454
ProtocolUpdate -> tag _EdProtocolUpdate (unnamed (unProtocolUpdate <$> P.ProtocolUpdate .= schema))
455455
AddPermissionUpdate -> tag _EdAddPermissionUpdate (unnamed schema)

libs/wire-api/test/golden/Test/Wire/API/Golden/Generated/Event_user.hs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,7 @@ testObject_Event_user_1 =
4848
Nothing
4949
(Qualified (Id (fromJust (UUID.fromString "00003b8b-0000-3395-0000-076a00007830"))) (Domain "faraway.example.com"))
5050
(read "1864-05-22 09:51:07.104 UTC")
51-
( EdConvDelete
52-
(ConversationDelete (Id (fromJust (UUID.fromString "90eda181-bb05-4525-a5cc-d0038deda9b7"))))
53-
)
51+
EdConvDelete
5452

5553
testObject_Event_user_2 :: Event
5654
testObject_Event_user_2 =

libs/wire-api/test/golden/testObject_Event_user_1.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
{
22
"conversation": "00005d81-0000-0d71-0000-1d8f00007d32",
3-
"data": {
4-
"teamId": "90eda181-bb05-4525-a5cc-d0038deda9b7"
5-
},
3+
"data": null,
64
"from": "00003b8b-0000-3395-0000-076a00007830",
75
"qualified_conversation": {
86
"domain": "faraway.example.com",

services/brig/test/integration/API/Provider.hs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -763,9 +763,9 @@ testDeleteConvBotTeam config db brig galley cannon = withTestService config db b
763763
-- 200 response on success
764764
Team.deleteTeamConv galley tid cid uid2
765765
-- Events for the users
766-
forM_ wss $ \ws -> wsAssertConvDelete ws qcid quid2 tid
766+
forM_ wss $ \ws -> wsAssertConvDelete ws qcid quid2
767767
-- Event for the bot
768-
svcAssertConvDelete buf quid2 qcid tid
768+
svcAssertConvDelete buf quid2 qcid
769769
-- Check that the conversation no longer exists
770770
forM_ [uid1, uid2] $ \uid ->
771771
getConversationQualified galley uid qcid !!! const 404 === statusCode
@@ -787,7 +787,7 @@ testDeleteTeamBotTeam config db brig galley cannon = withTestService config db b
787787
-- events may or may not be sent (for instance, team members)
788788
-- leaving a conversation. Thus, we check _only_ for the relevant
789789
-- ones for the bot, which are the ConvDelete event
790-
svcAssertEventuallyConvDelete buf quid1 qcid tid
790+
svcAssertEventuallyConvDelete buf quid1 qcid
791791
-- Wait until all users have been deleted (can take a while)
792792
forM_ [uid1, uid2] $ \uid -> do
793793
void $ retryWhileN 20 (/= User.Deleted) (getStatus brig uid)
@@ -1847,8 +1847,8 @@ wsAssertMemberLeave ws conv usr old = void $
18471847
evtFrom e @?= usr
18481848
evtData e @?= EdMembersLeave EdReasonRemoved (QualifiedUserIdList old)
18491849

1850-
wsAssertConvDelete :: (HasCallStack, MonadIO m) => WS.WebSocket -> Qualified ConvId -> Qualified UserId -> TeamId -> m ()
1851-
wsAssertConvDelete ws conv from tid = void $
1850+
wsAssertConvDelete :: (HasCallStack, MonadIO m) => WS.WebSocket -> Qualified ConvId -> Qualified UserId -> m ()
1851+
wsAssertConvDelete ws conv from = void $
18521852
liftIO $
18531853
WS.assertMatch (5 # Second) ws $
18541854
\n -> do
@@ -1857,7 +1857,7 @@ wsAssertConvDelete ws conv from tid = void $
18571857
evtConv e @?= conv
18581858
evtType e @?= ConvDelete
18591859
evtFrom e @?= from
1860-
evtData e @?= EdConvDelete (ConversationDelete tid)
1860+
evtData e @?= EdConvDelete
18611861

18621862
wsAssertMessage :: (HasCallStack, MonadIO m) => WS.WebSocket -> Qualified ConvId -> Qualified UserId -> ClientId -> ClientId -> Text -> m ()
18631863
wsAssertMessage ws conv fromu fromc to txt = void $
@@ -1895,15 +1895,15 @@ svcAssertMemberLeave buf usr gone cnv = liftIO $ do
18951895
assertEqual "event data" (EdMembersLeave EdReasonRemoved msg) (evtData e)
18961896
_ -> assertFailure "Event timeout (TestBotMessage: member-leave)"
18971897

1898-
svcAssertConvDelete :: (HasCallStack, MonadIO m) => Chan TestBotEvent -> Qualified UserId -> Qualified ConvId -> TeamId -> m ()
1899-
svcAssertConvDelete buf usr cnv tid = liftIO $ do
1898+
svcAssertConvDelete :: (HasCallStack, MonadIO m) => Chan TestBotEvent -> Qualified UserId -> Qualified ConvId -> m ()
1899+
svcAssertConvDelete buf usr cnv = liftIO $ do
19001900
evt <- timeout (5 # Second) $ readChan buf
19011901
case evt of
19021902
Just (TestBotMessage e) -> do
19031903
assertEqual "event type" ConvDelete (evtType e)
19041904
assertEqual "conv" cnv (evtConv e)
19051905
assertEqual "user" usr (evtFrom e)
1906-
assertEqual "event data" (EdConvDelete (ConversationDelete tid)) (evtData e)
1906+
assertEqual "event data" EdConvDelete (evtData e)
19071907
_ -> assertFailure "Event timeout (TestBotMessage: conv-delete)"
19081908

19091909
svcAssertBotCreated :: (HasCallStack, MonadIO m) => Chan TestBotEvent -> BotId -> ConvId -> m TestBot
@@ -1929,18 +1929,18 @@ svcAssertMessage buf from msg cnv = liftIO $ do
19291929
assertEqual "event data" (EdOtrMessage msg) (evtData e)
19301930
_ -> assertFailure "Event timeout (TestBotMessage: otr-message-add)"
19311931

1932-
svcAssertEventuallyConvDelete :: (HasCallStack, MonadIO m) => Chan TestBotEvent -> Qualified UserId -> Qualified ConvId -> TeamId -> m ()
1933-
svcAssertEventuallyConvDelete buf usr cnv tid = liftIO $ do
1932+
svcAssertEventuallyConvDelete :: (HasCallStack, MonadIO m) => Chan TestBotEvent -> Qualified UserId -> Qualified ConvId -> m ()
1933+
svcAssertEventuallyConvDelete buf usr cnv = liftIO $ do
19341934
evt <- timeout (5 # Second) $ readChan buf
19351935
case evt of
19361936
Just (TestBotMessage e) | evtType e == ConvDelete -> do
19371937
assertEqual "event type" ConvDelete (evtType e)
19381938
assertEqual "conv" cnv (evtConv e)
19391939
assertEqual "user" usr (evtFrom e)
1940-
assertEqual "event data" (EdConvDelete (ConversationDelete tid)) (evtData e)
1940+
assertEqual "event data" EdConvDelete (evtData e)
19411941
-- We ignore every other message type
19421942
Just (TestBotMessage _) ->
1943-
svcAssertEventuallyConvDelete buf usr cnv tid
1943+
svcAssertEventuallyConvDelete buf usr cnv
19441944
_ -> assertFailure "Event timeout (TestBotMessage: conv-delete)"
19451945

19461946
unpackEvents :: Notification -> List1 Event

services/galley/src/Galley/API/Teams.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ import Polysemy.Error
110110
import Polysemy.Input
111111
import Polysemy.TinyLog qualified as P
112112
import System.Logger qualified as Log
113-
import Wire.API.Conversation (ConversationDelete (..), ConversationRemoveMembers (..))
113+
import Wire.API.Conversation (ConversationRemoveMembers (..))
114114
import Wire.API.Conversation.Role (wireConvRoles)
115115
import Wire.API.Conversation.Role qualified as Public
116116
import Wire.API.Error
@@ -439,7 +439,7 @@ uncheckedDeleteTeam lusr zcon tid = do
439439
-- all team users are deleted immediately after these events are sent
440440
-- and will thus never be able to see these events in practice.
441441
let mm = nonTeamMembers convMembs teamMembs
442-
let e = Conv.Event qconvId Nothing (tUntagged lusr) now (Conv.EdConvDelete (ConversationDelete tid))
442+
let e = Conv.Event qconvId Nothing (tUntagged lusr) now Conv.EdConvDelete
443443
-- This event always contains all the required recipients
444444
let p =
445445
def
@@ -1036,9 +1036,9 @@ deleteTeamConversation ::
10361036
TeamId ->
10371037
ConvId ->
10381038
Sem r ()
1039-
deleteTeamConversation lusr zcon tid cid = do
1039+
deleteTeamConversation lusr zcon _tid cid = do
10401040
let lconv = qualifyAs lusr cid
1041-
void $ API.deleteLocalConversation lusr zcon tid lconv
1041+
void $ API.deleteLocalConversation lusr zcon lconv
10421042

10431043
getSearchVisibility ::
10441044
( Member (ErrorS 'NotATeamMember) r,

services/galley/src/Galley/API/Update.hs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -495,12 +495,11 @@ deleteLocalConversation ::
495495
) =>
496496
Local UserId ->
497497
ConnId ->
498-
TeamId ->
499498
Local ConvId ->
500499
Sem r (UpdateResult Event)
501-
deleteLocalConversation lusr con tid lcnv =
500+
deleteLocalConversation lusr con lcnv =
502501
getUpdateResult . fmap lcuEvent $
503-
updateLocalConversation @'ConversationDeleteTag lcnv (tUntagged lusr) (Just con) (ConversationDelete tid)
502+
updateLocalConversation @'ConversationDeleteTag lcnv (tUntagged lusr) (Just con) ()
504503

505504
addCodeUnqualifiedWithReqBody ::
506505
forall r.

services/galley/test/integration/API/Federation.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,7 @@ notifyDeletedConversation :: TestM ()
607607
notifyDeletedConversation = do
608608
c <- view tsCannon
609609

610-
(tid, qalice, _) <- createBindingTeamWithQualifiedMembers 0
610+
qalice <- randomQualifiedUser
611611
let alice = qUnqualified qalice
612612

613613
bob <- randomId
@@ -638,7 +638,7 @@ notifyDeletedConversation = do
638638
FedGalley.origUserId = qbob,
639639
FedGalley.convId = qUnqualified qconv,
640640
FedGalley.alreadyPresentUsers = [alice],
641-
FedGalley.action = SomeConversationAction (sing @'ConversationDeleteTag) (ConversationDelete tid)
641+
FedGalley.action = SomeConversationAction (sing @'ConversationDeleteTag) ()
642642
}
643643
void $ runFedClient @"on-conversation-updated" fedGalleyClient bobDomain cu
644644

0 commit comments

Comments
 (0)