-
Notifications
You must be signed in to change notification settings - Fork 334
WPB-21964: Add Wire Meetings creation endpoint #4918
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
base: develop
Are you sure you want to change the base?
Conversation
b617bd6 to
82665cc
Compare
82665cc to
f78d8e3
Compare
akshaymankar
left a comment
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.
I haven't reviewed everything yet, I'll continue later. But already have some feedback.
libs/wire-subsystems/postgres-migrations/20251213223355-create-meetings-table.sql
Outdated
Show resolved
Hide resolved
libs/wire-subsystems/postgres-migrations/20251213223355-create-meetings-table.sql
Outdated
Show resolved
Hide resolved
libs/wire-subsystems/postgres-migrations/20251213223355-create-meetings-table.sql
Outdated
Show resolved
Hide resolved
| CreateMeeting :: | ||
| Local UserId -> | ||
| NewMeeting -> | ||
| -- | premium: True if this is a premium meeting |
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.
Why is this decision made outside the subsystem?
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'll force to move feature flags from galley to wire-subsystem, which is heavy, as it rely a lot on galley mechanisms, and couple wire-subsystem to galley.
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.
I think we should just do this kind of refactoring when we need it, if we keep waiting for explicit refactoring tickets, we'll end up making our code more complex. I'd think feature flags is not the most complex thing to move. But even if it is. we can also just create a Subsystem effect in wire-subsystems and keep the interpreter in galley, so the coupling is only via the subsytem interface. We've already done this for TeamSubsytem, for instance.
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.
I'll create a dedicated PR, because when I have tried, it was too complex and complicated.
| } | ||
|
|
||
| -- Store the conversation | ||
| storedConv <- ConvStore.upsertConversation lConvId newConv |
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.
We're bypassing the ConversationSubsystem business logic (I know the subsystem doesn't exist yet) here. This is dangerous. For instance, I can already tell that this would break if MLS is disabled.
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.
Should I wait for the PR introducing it, or could we assume it is safe as long as the conversation params do not change?
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.
I think its not safe to assume things here, things can change tomorrow. Ideally we'd either do this refactoring now or we can also create an "incomplete" subsystem for Conversations and keep its interpreter in galley. This is how we dealt with some dependence on the TeamSubsystem.
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.
There is an effect in libs/wire-subsystems/src/Wire/ConversationSubsystem.hs, should I add a constructor and pass it directly to the store for the moment?
libs/wire-subsystems/postgres-migrations/20251213223355-create-meetings-table.sql
Show resolved
Hide resolved
f78d8e3 to
7bd22a0
Compare
https://wearezeta.atlassian.net/browse/WPB-21964
Checklist
changelog.d