diff --git a/src/script/team/TeamRepository.ts b/src/script/team/TeamRepository.ts index d980e7b14eb..63c8f549c48 100644 --- a/src/script/team/TeamRepository.ts +++ b/src/script/team/TeamRepository.ts @@ -26,7 +26,7 @@ import type { TeamMemberLeaveEvent, } from '@wireapp/api-client/lib/event'; import {TEAM_EVENT} from '@wireapp/api-client/lib/event/TeamEvent'; -import {FeatureStatus, FeatureList} from '@wireapp/api-client/lib/team/feature/'; +import {FeatureStatus, FeatureList, FEATURE_KEY} from '@wireapp/api-client/lib/team/feature/'; import type {PermissionsData} from '@wireapp/api-client/lib/team/member/PermissionsData'; import type {TeamData} from '@wireapp/api-client/lib/team/team/TeamData'; import {QualifiedId} from '@wireapp/api-client/lib/user'; @@ -38,7 +38,6 @@ import {Availability} from '@wireapp/protocol-messaging'; import {WebAppEvents} from '@wireapp/webapp-events'; import {PrimaryModal} from 'Components/Modals/PrimaryModal'; -import {getMLSConfig} from 'src/script/page/components/FeatureConfigChange/FeatureConfigChangeHandler/Features/MLS'; import {Environment} from 'Util/Environment'; import {t} from 'Util/LocalizerUtil'; import {getLogger, Logger} from 'Util/Logger'; @@ -131,7 +130,10 @@ export class TeamRepository extends TypedEventEmitter { ): Promise<{team: TeamEntity | undefined; features: FeatureList; members: QualifiedId[]}> { const team = await this.getTeam(); // get the fresh feature config from backend - const {newFeatureList} = await this.updateFeatureConfig(); + const newFeatureList = await this.teamService.getAllTeamFeatures(); + + this.teamState.teamFeatures(newFeatureList); + if (!teamId) { return {team: undefined, features: {}, members: []}; } @@ -159,10 +161,10 @@ export class TeamRepository extends TypedEventEmitter { this.emit('featureConfigUpdated', {prevFeatureList, newFeatureList}); - const oldMlsConfig = prevFeatureList && getMLSConfig(prevFeatureList); - const newMlsConfig = getMLSConfig(newFeatureList); - - if (!oldMlsConfig && newMlsConfig) { + if ( + !prevFeatureList?.[FEATURE_KEY.MLS]?.config.supportedProtocols.includes(ConversationProtocol.MLS) && + newFeatureList?.[FEATURE_KEY.MLS]?.config.supportedProtocols.includes(ConversationProtocol.MLS) + ) { PrimaryModal.show(PrimaryModal.type.CONFIRM, { primaryAction: { action: () => window.location.reload(),