-
Notifications
You must be signed in to change notification settings - Fork 324
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qualify users and conversations in Event #1547
Conversation
Also update examples and golden tests. Consumers of the generated JSON should not be affected, because the fields containing unqualified data are still present in the output.
- Add default value for `conversation_role` field in the schema for `SimpleMember` - Add test to check that the default value above is used - Inline an object schema definition for `SimpleMembers`
e1f14cb
to
669ad09
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a big diff to review indeed. I admit I only looked at the Haskell changes and did not review the changes to the 125 json files, but glancing at it it appears backwards compatible.
Great work!
@@ -56,12 +55,12 @@ updateConversationMemberships cmu = do | |||
when (not (null localUsers)) $ do | |||
Data.addLocalMembersToRemoteConv localUserIds (cmuConvId cmu) | |||
-- FUTUREWORK: the resulting event should have qualified users and conversations |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that futurework is done I suppose (feel free to remove this comment only in a follow-up PR though so you don't need to wait for CI again)
This makes the conversation ID and originating user ID of
Event
qualified, as well as the new member IDs in the case ofMemberJoin
event.The change is pretty big, but there is nothing really going on except adjusting all the places where events are used to make everything type-check. Some functions gained a new
Domain
argument which is assumed to be the local domain, in order to be able to qualify IDs.As more and more things become qualified, the need for these ad-hoc qualifications should hopefully reduce.