WPB-23789: Move operation to ConversationSubsystem#5126
WPB-23789: Move operation to ConversationSubsystem#5126blackheaven wants to merge 9 commits intodevelopfrom
Conversation
2e747fc to
5cbcf0d
Compare
edd315b to
77e5669
Compare
battermann
left a comment
There was a problem hiding this comment.
Are you going to add a changelog?
| RemoveUser :: | ||
| Local StoredConversation -> | ||
| MLSRemoval.RemoveUserIncludeMain -> | ||
| Qualified UserId -> | ||
| ConversationSubsystem m () |
There was a problem hiding this comment.
The fact that StoredConversation is exposed by the ConversationSubsystem seems to me like the wrong abstraction.
There was a problem hiding this comment.
Some of them are actually used in other subsystems, but this one can be eliminated (I've moved some more code).
| PostMLSCommitBundle :: | ||
| Local x -> | ||
| Qualified UserId -> | ||
| ClientId -> | ||
| ConvType -> | ||
| Qualified ConvOrSubConvId -> | ||
| Maybe ConnId -> | ||
| EnableOutOfSyncCheck -> | ||
| IncomingBundle -> | ||
| ConversationSubsystem m [LocalConversationUpdate] | ||
| PostMLSCommitBundleFromLocalUser :: | ||
| Version -> | ||
| Local UserId -> | ||
| ClientId -> | ||
| ConnId -> | ||
| RawMLS CommitBundle -> | ||
| ConversationSubsystem m MLSMessageSendingStatus | ||
| PostMLSMessage :: | ||
| Local x -> | ||
| Qualified UserId -> | ||
| ClientId -> | ||
| ConvType -> | ||
| Qualified ConvOrSubConvId -> | ||
| Maybe ConnId -> | ||
| EnableOutOfSyncCheck -> | ||
| IncomingMessage -> | ||
| ConversationSubsystem m [LocalConversationUpdate] | ||
| PostMLSMessageFromLocalUser :: | ||
| Version -> | ||
| Local UserId -> | ||
| ClientId -> | ||
| ConnId -> | ||
| RawMLS Message -> | ||
| ConversationSubsystem m MLSMessageSendingStatus | ||
| IsMLSEnabled :: ConversationSubsystem m Bool | ||
| IterateConversations :: | ||
| Local UserId -> | ||
| Range 1 500 Int32 -> | ||
| ([StoredConversation] -> m a) -> | ||
| ConversationSubsystem m () | ||
| RemoveMemberFromLocalConv :: | ||
| Local ConvId -> | ||
| Local UserId -> | ||
| Maybe ConnId -> | ||
| Qualified UserId -> | ||
| ConversationSubsystem m (Maybe Event) | ||
| FederationOnConversationCreated :: | ||
| Domain -> | ||
| ConversationCreated ConvId -> | ||
| ConversationSubsystem m EmptyResponse | ||
| FederationGetConversationsV1 :: | ||
| Domain -> | ||
| GetConversationsRequest -> | ||
| ConversationSubsystem m GetConversationsResponse | ||
| FederationGetConversations :: | ||
| Domain -> | ||
| GetConversationsRequest -> | ||
| ConversationSubsystem m GetConversationsResponseV2 | ||
| FederationLeaveConversation :: | ||
| Domain -> | ||
| LeaveConversationRequest -> | ||
| ConversationSubsystem m LeaveConversationResponse | ||
| FederationSendMessage :: | ||
| Domain -> | ||
| ProteusMessageSendRequest -> | ||
| ConversationSubsystem m MessageSendResponse | ||
| FederationUpdateConversation :: | ||
| Domain -> | ||
| ConversationUpdateRequest -> | ||
| ConversationSubsystem m ConversationUpdateResponse | ||
| FederationMlsSendWelcome :: | ||
| Domain -> | ||
| MLSWelcomeRequest -> | ||
| ConversationSubsystem m MLSWelcomeResponse | ||
| FederationSendMLSMessage :: | ||
| Domain -> | ||
| MLSMessageSendRequest -> | ||
| ConversationSubsystem m MLSMessageResponse | ||
| FederationSendMLSCommitBundle :: | ||
| Domain -> | ||
| MLSMessageSendRequest -> | ||
| ConversationSubsystem m MLSMessageResponse | ||
| FederationQueryGroupInfo :: | ||
| Domain -> | ||
| GetGroupInfoRequest -> | ||
| ConversationSubsystem m GetGroupInfoResponse | ||
| FederationUpdateTypingIndicator :: | ||
| Domain -> | ||
| TypingDataUpdateRequest -> | ||
| ConversationSubsystem m TypingDataUpdateResponse | ||
| FederationOnTypingIndicatorUpdated :: | ||
| Domain -> | ||
| TypingDataUpdated -> | ||
| ConversationSubsystem m EmptyResponse | ||
| FederationGetSubConversationForRemoteUser :: | ||
| Domain -> | ||
| GetSubConversationsRequest -> | ||
| ConversationSubsystem m GetSubConversationsResponse | ||
| FederationDeleteSubConversationForRemoteUser :: | ||
| Domain -> | ||
| DeleteSubConversationFedRequest -> | ||
| ConversationSubsystem m DeleteSubConversationResponse | ||
| FederationLeaveSubConversation :: | ||
| Domain -> | ||
| LeaveSubConversationRequest -> | ||
| ConversationSubsystem m LeaveSubConversationResponse | ||
| FederationGetOne2OneConversationV1 :: | ||
| Domain -> | ||
| GetOne2OneConversationRequest -> | ||
| ConversationSubsystem m GetOne2OneConversationResponse | ||
| FederationGetOne2OneConversation :: | ||
| Domain -> | ||
| GetOne2OneConversationRequest -> | ||
| ConversationSubsystem m GetOne2OneConversationResponseV2 | ||
| FederationOnClientRemoved :: | ||
| Domain -> | ||
| ClientRemovedRequest -> | ||
| ConversationSubsystem m EmptyResponse | ||
| FederationOnMessageSent :: | ||
| Domain -> | ||
| RemoteMessage ConvId -> | ||
| ConversationSubsystem m EmptyResponse | ||
| FederationOnMLSMessageSent :: | ||
| Domain -> | ||
| RemoteMLSMessage -> | ||
| ConversationSubsystem m EmptyResponse | ||
| FederationOnConversationUpdatedV0 :: | ||
| Domain -> | ||
| ConversationUpdateV0 -> | ||
| ConversationSubsystem m EmptyResponse | ||
| FederationOnConversationUpdated :: | ||
| Domain -> | ||
| ConversationUpdate -> | ||
| ConversationSubsystem m EmptyResponse | ||
| FederationOnUserDeleted :: | ||
| Domain -> | ||
| UserDeletedConversationsNotification -> | ||
| ConversationSubsystem m EmptyResponse | ||
| PostOtrMessageUnqualified :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| Maybe IgnoreMissing -> | ||
| Maybe ReportMissing -> | ||
| NewOtrMessage -> | ||
| ConversationSubsystem m (PostOtrResponse ClientMismatch) | ||
| PostOtrBroadcastUnqualified :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Maybe IgnoreMissing -> | ||
| Maybe ReportMissing -> | ||
| NewOtrMessage -> | ||
| ConversationSubsystem m (PostOtrResponse ClientMismatch) | ||
| PostProteusMessage :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| RawProto QualifiedNewOtrMessage -> | ||
| ConversationSubsystem m (PostOtrResponse MessageSendingStatus) | ||
| PostProteusBroadcast :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| QualifiedNewOtrMessage -> | ||
| ConversationSubsystem m (PostOtrResponse MessageSendingStatus) | ||
| DeleteLocalConversation :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Local ConvId -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| GetMLSPublicKeys :: | ||
| Maybe MLSPublicKeyFormat -> | ||
| ConversationSubsystem m (MLSKeysByPurpose (MLSKeys SomeKey)) | ||
| FeatureEnabledForTeam :: | ||
| forall cfg m. | ||
| (GetFeatureConfig cfg) => | ||
| Proxy cfg -> | ||
| TeamId -> | ||
| ConversationSubsystem m Bool | ||
| GetAllTeamFeaturesForUser :: | ||
| UserId -> | ||
| ConversationSubsystem m AllTeamFeatures | ||
| GetSingleFeatureForUser :: | ||
| forall cfg m. | ||
| (GetFeatureConfig cfg) => | ||
| UserId -> | ||
| ConversationSubsystem m (LockableFeature cfg) | ||
| ResetMLSConversation :: | ||
| Local UserId -> | ||
| MLSReset -> | ||
| ConversationSubsystem m () | ||
| GetSubConversation :: | ||
| Local UserId -> | ||
| Qualified ConvId -> | ||
| SubConvId -> | ||
| ConversationSubsystem m PublicSubConversation | ||
| GetUserStatus :: | ||
| Local UserId -> | ||
| TeamId -> | ||
| UserId -> | ||
| ConversationSubsystem m UserLegalHoldStatusResponse | ||
| GuardSecondFactorDisabled :: | ||
| UserId -> | ||
| ConvId -> | ||
| ConversationSubsystem m () | ||
| GetBotConversation :: | ||
| BotId -> | ||
| ConvId -> | ||
| ConversationSubsystem m Public.BotConvView | ||
| -- Query functions | ||
| GetUnqualifiedOwnConversation :: | ||
| Local UserId -> | ||
| ConvId -> | ||
| ConversationSubsystem m Public.OwnConversation | ||
| GetOwnConversation :: | ||
| Local UserId -> | ||
| Qualified ConvId -> | ||
| ConversationSubsystem m Public.OwnConversation | ||
| GetPaginatedConversations :: | ||
| Local UserId -> | ||
| Maybe (Range 1 32 (CommaSeparatedList ConvId)) -> | ||
| Maybe ConvId -> | ||
| Maybe (Range 1 500 Int32) -> | ||
| ConversationSubsystem m (Public.ConversationList Public.OwnConversation) | ||
| GetConversation :: | ||
| Local UserId -> | ||
| Qualified ConvId -> | ||
| ConversationSubsystem m Public.Conversation | ||
| GetConversationRoles :: | ||
| Local UserId -> | ||
| ConvId -> | ||
| ConversationSubsystem m ConversationRolesList | ||
| SearchChannels :: | ||
| Local UserId -> | ||
| TeamId -> | ||
| Maybe Text -> | ||
| Maybe SortOrder -> | ||
| Maybe PageSize -> | ||
| Maybe Text -> | ||
| Maybe ConvId -> | ||
| Bool -> | ||
| ConversationSubsystem m ConversationPage | ||
| GetGroupInfo :: | ||
| Local UserId -> | ||
| Qualified ConvId -> | ||
| ConversationSubsystem m GroupInfoData | ||
| ConversationIdsPageFromUnqualified :: | ||
| Local UserId -> | ||
| Maybe ConvId -> | ||
| Maybe (Range 1 1000 Int32) -> | ||
| ConversationSubsystem m (ConversationList ConvId) | ||
| ConversationIdsPageFromV2 :: | ||
| ListGlobalSelfConvs -> | ||
| Local UserId -> | ||
| Public.GetPaginatedConversationIds -> | ||
| ConversationSubsystem m Public.ConvIdsPage | ||
| ConversationIdsPageFrom :: | ||
| Local UserId -> | ||
| Public.GetPaginatedConversationIds -> | ||
| ConversationSubsystem m Public.ConvIdsPage | ||
| ListConversations :: | ||
| Local UserId -> | ||
| Public.ListConversations -> | ||
| ConversationSubsystem m ConversationsResponse | ||
| GetConversationByReusableCode :: | ||
| Local UserId -> | ||
| Code.Key -> | ||
| Code.Value -> | ||
| ConversationSubsystem m ConversationCoverView | ||
| GetMLSSelfConversationWithError :: | ||
| Local UserId -> | ||
| ConversationSubsystem m Public.OwnConversation | ||
| GetMLSOne2OneConversationV5 :: | ||
| Local UserId -> | ||
| Qualified UserId -> | ||
| ConversationSubsystem m Public.OwnConversation | ||
| GetMLSOne2OneConversationV6 :: | ||
| Local UserId -> | ||
| Qualified UserId -> | ||
| ConversationSubsystem m (MLSOne2OneConversation MLSPublicKey) | ||
| GetMLSOne2OneConversation :: | ||
| Local UserId -> | ||
| Qualified UserId -> | ||
| Maybe MLSPublicKeyFormat -> | ||
| ConversationSubsystem m (MLSOne2OneConversation SomeKey) | ||
| GetLocalSelf :: | ||
| Local UserId -> | ||
| ConvId -> | ||
| ConversationSubsystem m (Maybe Public.Member) | ||
| GetSelfMember :: | ||
| Local UserId -> | ||
| Qualified ConvId -> | ||
| ConversationSubsystem m (Maybe Public.Member) | ||
| GetConversationGuestLinksStatus :: | ||
| UserId -> | ||
| ConvId -> | ||
| ConversationSubsystem m (LockableFeature GuestLinksConfig) | ||
| GetCode :: | ||
| Maybe Text -> | ||
| Local UserId -> | ||
| ConvId -> | ||
| ConversationSubsystem m ConversationCodeInfo | ||
| -- Update functions | ||
| AddMembersUnqualified :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| Invite -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| AddMembersUnqualifiedV2 :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| InviteQualified -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| AddMembers :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| InviteQualified -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| ReplaceMembers :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| InviteQualified -> | ||
| ConversationSubsystem m () | ||
| JoinConversationById :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| JoinConversationByReusableCode :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| JoinConversationByCode -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| CheckReusableCode :: | ||
| IpAddr -> | ||
| ConversationCode -> | ||
| ConversationSubsystem m () | ||
| AddCodeUnqualified :: | ||
| Maybe CreateConversationCodeRequest -> | ||
| UserId -> | ||
| Maybe ZHostValue -> | ||
| Maybe ConnId -> | ||
| ConvId -> | ||
| ConversationSubsystem m AddCodeResult | ||
| AddCodeUnqualifiedWithReqBody :: | ||
| UserId -> | ||
| Maybe Text -> | ||
| Maybe ConnId -> | ||
| ConvId -> | ||
| CreateConversationCodeRequest -> | ||
| ConversationSubsystem m AddCodeResult | ||
| RmCodeUnqualified :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| ConversationSubsystem m Event | ||
| MemberTypingUnqualified :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| TypingStatus -> | ||
| ConversationSubsystem m () | ||
| MemberTyping :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| TypingStatus -> | ||
| ConversationSubsystem m () | ||
| RemoveMemberUnqualified :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| UserId -> | ||
| ConversationSubsystem m (Maybe Event) | ||
| RemoveMemberQualified :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| Qualified UserId -> | ||
| ConversationSubsystem m (Maybe Event) | ||
| UpdateOtherMemberUnqualified :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| UserId -> | ||
| OtherMemberUpdate -> | ||
| ConversationSubsystem m () | ||
| UpdateOtherMember :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| Qualified UserId -> | ||
| OtherMemberUpdate -> | ||
| ConversationSubsystem m () | ||
| UpdateUnqualifiedConversationName :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| ConversationRename -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| UpdateConversationName :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| ConversationRename -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| UpdateConversationMessageTimerUnqualified :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| ConversationMessageTimerUpdate -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| UpdateConversationMessageTimer :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| ConversationMessageTimerUpdate -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| UpdateConversationReceiptModeUnqualified :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| ConversationReceiptModeUpdate -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| UpdateConversationReceiptMode :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| ConversationReceiptModeUpdate -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| UpdateConversationAccessUnqualified :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| ConversationAccessData -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| UpdateConversationAccess :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| ConversationAccessData -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| UpdateConversationHistory :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| ConversationHistoryUpdate -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| UpdateUnqualifiedSelfMember :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| ConvId -> | ||
| MemberUpdate -> | ||
| ConversationSubsystem m () | ||
| UpdateSelfMember :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| MemberUpdate -> | ||
| ConversationSubsystem m () | ||
| UpdateConversationProtocolWithLocalUser :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| ProtocolUpdate -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| UpdateChannelAddPermission :: | ||
| Local UserId -> | ||
| ConnId -> | ||
| Qualified ConvId -> | ||
| AddPermissionUpdate -> | ||
| ConversationSubsystem m (UpdateResult Event) | ||
| PostBotMessageUnqualified :: | ||
| BotId -> | ||
| ConvId -> | ||
| Maybe IgnoreMissing -> | ||
| Maybe ReportMissing -> | ||
| NewOtrMessage -> | ||
| ConversationSubsystem m (Either (MessageNotSent ClientMismatch) ClientMismatch) | ||
| -- Sub-conversation functions | ||
| DeleteSubConversation :: | ||
| Local UserId -> | ||
| Qualified ConvId -> | ||
| SubConvId -> | ||
| MLSReset -> | ||
| ConversationSubsystem m () | ||
| GetSubConversationGroupInfo :: | ||
| Local UserId -> | ||
| Qualified ConvId -> | ||
| SubConvId -> | ||
| ConversationSubsystem m GroupInfoData | ||
| LeaveSubConversation :: | ||
| Local UserId -> | ||
| ClientId -> | ||
| Qualified ConvId -> | ||
| SubConvId -> | ||
| ConversationSubsystem m () | ||
| SendConversationActionNotifications :: | ||
| forall tag m. | ||
| Sing tag -> | ||
| Qualified UserId -> | ||
| Bool -> | ||
| Maybe ConnId -> | ||
| Local StoredConversation -> | ||
| Util.BotsAndMembers -> | ||
| ConversationAction (tag :: ConversationActionTag) -> | ||
| ExtraConversationData -> | ||
| ConversationSubsystem m LocalConversationUpdate | ||
| PermissionCheck :: | ||
| (IsPerm teamAssociation perm) => | ||
| perm -> Maybe teamAssociation -> ConversationSubsystem m teamAssociation | ||
| PermissionCheckSAbs :: | ||
| PermissionCheckArgs teamAssociation -> | ||
| ConversationSubsystem m teamAssociation | ||
| EnsureReAuthorised :: | ||
| UserId -> | ||
| Maybe PlainTextPassword6 -> | ||
| Maybe Code.Value -> | ||
| Maybe VerificationAction -> | ||
| ConversationSubsystem m () | ||
| QualifyLocal :: | ||
| a -> | ||
| ConversationSubsystem m (Local a) | ||
| AssertOnTeam :: | ||
| UserId -> | ||
| TeamId -> | ||
| ConversationSubsystem m () | ||
| CheckConsent :: | ||
| Map UserId TeamId -> | ||
| UserId -> | ||
| ConversationSubsystem m Util.ConsentGiven | ||
| GetLHStatusForUsers :: | ||
| [UserId] -> | ||
| ConversationSubsystem m [(UserId, UserLegalHoldStatus)] | ||
| EnsureConnectedToLocals :: | ||
| UserId -> | ||
| [UserId] -> | ||
| ConversationSubsystem m () | ||
| GetTeamMembersForFanout :: | ||
| TeamId -> | ||
| ConversationSubsystem m TeamMemberList | ||
| AssertTeamExists :: | ||
| TeamId -> | ||
| ConversationSubsystem m () | ||
| InternalUpsertOne2OneConversation :: | ||
| UpsertOne2OneConversationRequest -> | ||
| ConversationSubsystem m () | ||
| AcceptConv :: | ||
| QualifiedWithTag QLocal UserId -> | ||
| Maybe ConnId -> | ||
| ConvId -> | ||
| ConversationSubsystem m OwnConversation | ||
| BlockConv :: | ||
| QualifiedWithTag QLocal UserId -> | ||
| Qualified ConvId -> | ||
| ConversationSubsystem m () | ||
| UnblockConv :: | ||
| QualifiedWithTag QLocal UserId -> | ||
| Maybe ConnId -> | ||
| Qualified ConvId -> | ||
| ConversationSubsystem m () |
There was a problem hiding this comment.
I haven't gone through all of these, but we should for each one if it fits into the ConversationSubsystem or not.
There was a problem hiding this comment.
I have moved around some operations
7da6fbc to
65d3410
Compare
Yes, as soon as we'ill get to a stable version. |
65d3410 to
39271bc
Compare
|
@battermann I have refactored helm charts, let me know if you had this in mind |
c50731b to
6364aeb
Compare
6364aeb to
3b4878b
Compare
|
@akshaymankar @battermann I have removed helm stuff, can you have a look, please? |
b400cdb to
9055634
Compare
| **Note:** The background-worker configuration now has a dependency on the shared global settings. | ||
| Deployments that previously set these values in both galley and background-worker sections | ||
| can consolidate them into the global.settings section. |
| {{/* SHARED SETTINGS */}} | ||
| {{- define "wire-server.settings.common" -}} | ||
| maxTeamSize: {{ .maxTeamSize }} | ||
| maxConvSize: {{ .maxConvSize }} | ||
| intraListing: {{ .intraListing }} | ||
| {{- if .maxFanoutSize }} | ||
| maxFanoutSize: {{ .maxFanoutSize }} | ||
| {{- end }} | ||
| {{- if .exposeInvitationURLsTeamAllowlist }} | ||
| exposeInvitationURLsTeamAllowlist: {{ toYaml .exposeInvitationURLsTeamAllowlist | nindent 8 }} | ||
| {{- end }} | ||
| {{- if .conversationCodeURI }} | ||
| conversationCodeURI: {{ .conversationCodeURI | quote }} | ||
| {{- else if .multiIngress }} | ||
| multiIngress: {{- toYaml .multiIngress | nindent 8 }} | ||
| {{- else }} | ||
| {{ fail "Either settings.conversationCodeURI or settings.multiIngress have to be set" }} | ||
| {{- end }} | ||
| {{- if (and .conversationCodeURI .multiIngress) }} | ||
| {{ fail "settings.conversationCodeURI and settings.multiIngress are mutually exclusive" }} | ||
| {{- end }} | ||
| {{- if hasKey . "httpPoolSize" }} | ||
| httpPoolSize: {{ .httpPoolSize }} | ||
| {{- end }} | ||
| {{- if hasKey . "federationDomain" }} | ||
| federationDomain: {{ .federationDomain }} | ||
| {{- end }} | ||
| {{- if .federationProtocols }} | ||
| federationProtocols: {{ .federationProtocols | toJson }} | ||
| {{- end }} | ||
| {{- if .mlsPrivateKeyPaths }} | ||
| mlsPrivateKeyPaths: {{- toYaml .mlsPrivateKeyPaths | nindent 8 }} | ||
| {{- end }} | ||
| {{- if .concurrentDeletionEvents }} | ||
| concurrentDeletionEvents: {{ .concurrentDeletionEvents }} | ||
| {{- end }} | ||
| {{- if .deleteConvThrottleMillis }} | ||
| deleteConvThrottleMillis: {{ .deleteConvThrottleMillis }} | ||
| {{- end }} | ||
| {{- if hasKey . "disabledAPIVersions" }} | ||
| disabledAPIVersions: {{ toJson .disabledAPIVersions }} | ||
| {{- end }} | ||
| {{- if .guestLinkTTLSeconds }} | ||
| guestLinkTTLSeconds: {{ .guestLinkTTLSeconds }} | ||
| {{- end }} | ||
| passwordHashingOptions: {{ toYaml .passwordHashingOptions | nindent 8 }} | ||
| passwordHashingRateLimit: {{ toYaml .passwordHashingRateLimit | nindent 8 }} | ||
| {{- if .checkGroupInfo }} | ||
| checkGroupInfo: {{ .checkGroupInfo }} | ||
| {{- end }} | ||
| {{- if hasKey . "meetings" }} | ||
| meetings: | ||
| {{- toYaml .meetings | nindent 8 }} | ||
| {{- end }} | ||
| {{- if .featureFlags }} | ||
| featureFlags: | ||
| sso: {{ .featureFlags.sso }} | ||
| legalhold: {{ .featureFlags.legalhold }} | ||
| teamSearchVisibility: {{ .featureFlags.teamSearchVisibility }} | ||
| classifiedDomains: | ||
| {{- toYaml .featureFlags.classifiedDomains | nindent 10 }} | ||
| {{- if .featureFlags.fileSharing }} | ||
| fileSharing: | ||
| {{- toYaml .featureFlags.fileSharing | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.enforceFileDownloadLocation }} | ||
| enforceFileDownloadLocation: | ||
| {{- toYaml .featureFlags.enforceFileDownloadLocation | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.sndFactorPasswordChallenge }} | ||
| sndFactorPasswordChallenge: | ||
| {{- toYaml .featureFlags.sndFactorPasswordChallenge | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.searchVisibilityInbound }} | ||
| searchVisibilityInbound: | ||
| {{- toYaml .featureFlags.searchVisibilityInbound | nindent 10 }} | ||
| {{- end }} | ||
| {{- /* Accept the legacy typo in Helm values, but always render the canonical Galley key. */}} | ||
| {{- $validateSAMLemails := .featureFlags.validateSAMLemails | default .featureFlags.validateSAMLEmails }} | ||
| {{- if $validateSAMLemails }} | ||
| validateSAMLemails: | ||
| {{- toYaml $validateSAMLemails | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.appLock }} | ||
| appLock: | ||
| {{- toYaml .featureFlags.appLock | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.conferenceCalling }} | ||
| conferenceCalling: | ||
| {{- toYaml .featureFlags.conferenceCalling | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.selfDeletingMessages }} | ||
| selfDeletingMessages: | ||
| {{- toYaml .featureFlags.selfDeletingMessages | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.conversationGuestLinks }} | ||
| conversationGuestLinks: | ||
| {{- toYaml .featureFlags.conversationGuestLinks | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.mls }} | ||
| mls: | ||
| {{- toYaml .featureFlags.mls | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.outlookCalIntegration }} | ||
| outlookCalIntegration: | ||
| {{- toYaml .featureFlags.outlookCalIntegration | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.mlsE2EId }} | ||
| mlsE2EId: | ||
| {{- toYaml .featureFlags.mlsE2EId | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.mlsMigration }} | ||
| mlsMigration: | ||
| {{- toYaml .featureFlags.mlsMigration | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.limitedEventFanout }} | ||
| limitedEventFanout: | ||
| {{- toYaml .featureFlags.limitedEventFanout | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.domainRegistration }} | ||
| domainRegistration: | ||
| {{- toYaml .featureFlags.domainRegistration | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.channels }} | ||
| channels: | ||
| {{- toYaml .featureFlags.channels | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.cells }} | ||
| cells: | ||
| {{- toYaml .featureFlags.cells | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.cellsInternal }} | ||
| cellsInternal: | ||
| {{- toYaml .featureFlags.cellsInternal | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.allowedGlobalOperations }} | ||
| allowedGlobalOperations: | ||
| {{- toYaml .featureFlags.allowedGlobalOperations | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.assetAuditLog }} | ||
| assetAuditLog: | ||
| {{- toYaml .featureFlags.assetAuditLog | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.consumableNotifications }} | ||
| consumableNotifications: | ||
| {{- toYaml .featureFlags.consumableNotifications | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.chatBubbles }} | ||
| chatBubbles: | ||
| {{- toYaml .featureFlags.chatBubbles | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.apps }} | ||
| apps: | ||
| {{- toYaml .featureFlags.apps | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.simplifiedUserConnectionRequestQRCode }} | ||
| simplifiedUserConnectionRequestQRCode: | ||
| {{- toYaml .featureFlags.simplifiedUserConnectionRequestQRCode | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.stealthUsers }} | ||
| stealthUsers: | ||
| {{- toYaml .featureFlags.stealthUsers | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.meetings }} | ||
| meetings: | ||
| {{- toYaml .featureFlags.meetings | nindent 10 }} | ||
| {{- end }} | ||
| {{- if .featureFlags.meetingsPremium }} | ||
| meetingsPremium: | ||
| {{- toYaml .featureFlags.meetingsPremium | nindent 10 }} | ||
| {{- end }} | ||
| {{- end }} | ||
| {{- end -}} | ||
|
|
There was a problem hiding this comment.
this shouldn't be needed anymore
There was a problem hiding this comment.
I thought I have reverted, done!
| UnblockConv lusr conn qcnv -> | ||
| liftT $ mapErrors $ Update.unblockConv lusr conn qcnv | ||
|
|
||
| data ConversationSubsystemError |
There was a problem hiding this comment.
[nit-pick] all the error stuff could go into its own module.
| LockableFeature {status} <- GalleyAPIAccess.getTeamLegalHoldStatus tid | ||
| pure $ | ||
| if status == FeatureStatusEnabled | ||
| then UserLegalHoldEnabled |
There was a problem hiding this comment.
the other interpreter uses the defUserLegalHoldStatus here.
| Nothing -> pure UserLegalHoldDisabled | ||
| Just tid -> do | ||
| GalleyAPIAccess.getTeamMember uid tid >>= \case | ||
| Nothing -> pure UserLegalHoldDisabled |
There was a problem hiding this comment.
the other interpreter uses defUserLegalHoldStatus here
| InternalGetTeamAdmins :: TeamId -> TeamSubsystem m TeamMemberList | ||
| InternalGetOneUserTeam :: UserId -> TeamSubsystem m (Maybe TeamId) | ||
| InternalFinalizeDeleteTeam :: Local UserId -> Maybe ConnId -> TeamId -> TeamSubsystem m () | ||
| GetUserStatus :: |
There was a problem hiding this comment.
I wonder what the difference between GetUserStatus and GetLHStatus and if one could be implemented in terms of the other? (probably should not really be a concern in this PR as this is just a refactoring... but still)
There was a problem hiding this comment.
They are really different:
| then fromUserClients <$> lookupClients users | ||
| else getClients users | ||
|
|
||
| rmClient :: |
There was a problem hiding this comment.
The store's responsibilities should be to provide the persistence layer with no (or absolute minimal logic). rmClient is doing way too much in this regard. We should find a better place for it.
| Sem r [ClientId] | ||
| getClientsId usr = clientIds usr <$> internalGetClientIds [usr] | ||
|
|
||
| qualifyLocal :: (Member (Input (Local ())) r) => a -> Sem r (Local a) |
There was a problem hiding this comment.
I think we have multiple implementations of this. Let's try to keep a and user a single one everywhere.
There was a problem hiding this comment.
I agree, any idea where I could put it? types-common?
There was a problem hiding this comment.
Don't mind me, I have found Wire.Util
| let errMsg = "Either conversationCodeURI or multiIngress needs to be set." | ||
| convCodeURI <- case (galleyOpts._settings._conversationCodeURI, galleyOpts._settings._multiIngress) of | ||
| (Nothing, Nothing) -> error errMsg | ||
| (Nothing, Just mi) -> pure (Right mi) | ||
| (Just uri, Nothing) -> pure (Left uri) | ||
| (Just _, Just _) -> error errMsg |
There was a problem hiding this comment.
this logic is duplicated in galley, can we move it to a shared place?
| . interpretDomainRegistrationStoreToCassandra e.casClient | ||
| . interpretDomainVerificationChallengeStoreToCassandra e.casClient e.settings.challengeTTL | ||
| . interpretFederationAPIAccess federationApiAccessConfig | ||
| . rethrowHttpErrorIO |
There was a problem hiding this comment.
this effect and interpreter exists twice
https://wearezeta.atlassian.net/browse/WPB-24072
Checklist
changelog.d