From db232bb4363715d3f8ebd5e266012823ba61265d Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Wed, 11 Sep 2024 17:08:46 -0700 Subject: [PATCH] remove cc for conference coordinates (#5166) --- common/config/babel/features.js | 2 - .../src/baseSelectors.ts | 2 - .../src/notificationStackSelector.ts | 6 +- .../src/CallClientState.ts | 1 - .../src/CallContext.ts | 5 +- .../src/CallSubscriber.ts | 4 +- .../calling-stateful-client/src/Converter.ts | 1 - .../src/StatefulCallClient.test.ts | 1 - .../src/index-public.ts | 1 - packages/communication-react/src/index.ts | 1 - .../src/components/ErrorBar.tsx | 1 - .../components/MeetingConferencePhoneInfo.tsx | 14 -- .../src/components/NotificationStack.tsx | 1 - .../react-components/src/components/index.ts | 2 - .../react-components/src/components/utils.ts | 9 - .../src/localization/LocalizationProvider.tsx | 2 - .../src/composites/CallComposite/Strings.tsx | 1 - .../components/CallArrangement.tsx | 12 -- .../components/NetworkReconnectTile.tsx | 169 ++++++++---------- .../SidePane/useMeetingPhoneInfo.tsx | 8 - .../CallComposite/pages/CallPage.tsx | 5 +- .../selectors/badNetworkQualitySelector.ts | 5 - .../CallComposite/selectors/baseSelectors.ts | 2 - .../ControlBar/CommonCallControlBar.tsx | 24 +-- .../common/ControlBar/DesktopMoreButton.tsx | 8 +- .../composites/common/Drawer/MoreDrawer.tsx | 7 +- .../common/Drawer/PreparedMoreDrawer.tsx | 1 - .../common/MeetingPhoneInfoPaneContent.tsx | 7 - .../src/composites/common/icons.tsx | 9 - .../common/types/CommonCallControlOptions.tsx | 1 - .../hermetic/UserFacingDiagnostics.test.ts | 2 - 31 files changed, 91 insertions(+), 223 deletions(-) diff --git a/common/config/babel/features.js b/common/config/babel/features.js index 92b648ceb3b..67c05561fdc 100644 --- a/common/config/babel/features.js +++ b/common/config/babel/features.js @@ -94,8 +94,6 @@ module.exports = { 'end-call-options', // Feature to support file sharing in Teams interoperability chats "file-sharing-teams-interop", - // Get join conference information - 'teams-meeting-conference', // Close captions feature for ACS calls "acs-close-captions", // Feature for showing notifications diff --git a/packages/calling-component-bindings/src/baseSelectors.ts b/packages/calling-component-bindings/src/baseSelectors.ts index 517733640fc..e63e37a9c92 100644 --- a/packages/calling-component-bindings/src/baseSelectors.ts +++ b/packages/calling-component-bindings/src/baseSelectors.ts @@ -26,7 +26,6 @@ import { CaptionsInfo } from '@internal/calling-stateful-client'; import { CaptionsKind } from '@azure/communication-calling'; import { RaisedHandState } from '@internal/calling-stateful-client'; import { _SupportedCaptionLanguage, _SupportedSpokenLanguage } from '@internal/react-components'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { ConferencePhoneInfo } from '@internal/calling-stateful-client'; /* @conditional-compile-remove(breakout-rooms) */ import { CallNotifications } from '@internal/calling-stateful-client'; @@ -270,7 +269,6 @@ export const getSupportedSpokenLanguages = ( return state.calls[props.callId]?.captionsFeature.supportedSpokenLanguages as _SupportedSpokenLanguage[]; }; -/* @conditional-compile-remove(teams-meeting-conference) */ /** @private */ export const getMeetingConferencePhones = ( state: CallClientState, diff --git a/packages/calling-component-bindings/src/notificationStackSelector.ts b/packages/calling-component-bindings/src/notificationStackSelector.ts index e1702075876..7cd39310f00 100644 --- a/packages/calling-component-bindings/src/notificationStackSelector.ts +++ b/packages/calling-component-bindings/src/notificationStackSelector.ts @@ -50,7 +50,7 @@ export const notificationStackSelector: NotificationStackSelector = createSelect getDiagnostics, getDeviceManager, getEnvironmentInfo, - /* @conditional-compile-remove(teams-meeting-conference) */ getMeetingConferencePhones, + getMeetingConferencePhones, /* @conditional-compile-remove(breakout-rooms) */ getAssignedBreakoutRoom ], ( @@ -59,7 +59,7 @@ export const notificationStackSelector: NotificationStackSelector = createSelect diagnostics, deviceManager, environmentInfo, - /* @conditional-compile-remove(teams-meeting-conference) */ meetingConference, + meetingConference, /* @conditional-compile-remove(breakout-rooms) */ assignedBreakoutRoom ): { activeErrorMessages: ActiveNotification[]; activeNotifications: ActiveNotification[] } => { // The order in which the errors are returned is significant: The `Notification` shows errors on the UI in that order. @@ -85,7 +85,7 @@ export const notificationStackSelector: NotificationStackSelector = createSelect // Errors reported via diagnostics are more reliable than from API method failures, so process those first. let isTeamsMeetingWithPhones = false; - /* @conditional-compile-remove(teams-meeting-conference) */ + if (meetingConference && meetingConference.length > 0) { isTeamsMeetingWithPhones = true; } diff --git a/packages/calling-stateful-client/src/CallClientState.ts b/packages/calling-stateful-client/src/CallClientState.ts index d099b58fbe1..90b75758ecc 100644 --- a/packages/calling-stateful-client/src/CallClientState.ts +++ b/packages/calling-stateful-client/src/CallClientState.ts @@ -655,7 +655,6 @@ export interface CallState { */ info?: TeamsCallInfo | /* @conditional-compile-remove(calling-beta-sdk) */ CallInfo; - /* @conditional-compile-remove(teams-meeting-conference) */ /** * Proxy of {@link @azure/communication-calling#TeamsMeetingAudioConferencingCallFeature}. */ diff --git a/packages/calling-stateful-client/src/CallContext.ts b/packages/calling-stateful-client/src/CallContext.ts index c5424a0dc8e..f1dcd760db0 100644 --- a/packages/calling-stateful-client/src/CallContext.ts +++ b/packages/calling-stateful-client/src/CallContext.ts @@ -14,9 +14,7 @@ import { RaisedHand } from '@azure/communication-calling'; /* @conditional-compile-remove(breakout-rooms) */ import { BreakoutRoom, BreakoutRoomsSettings } from '@azure/communication-calling'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { TeamsMeetingAudioConferencingDetails } from '@azure/communication-calling'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { convertConferencePhoneInfo } from './Converter'; import { CapabilitiesChangeInfo, ParticipantCapabilities } from '@azure/communication-calling'; @@ -189,7 +187,7 @@ export class CallContext { existingCall.captionsFeature.currentSpokenLanguage = call.captionsFeature.currentSpokenLanguage; existingCall.captionsFeature.currentCaptionLanguage = call.captionsFeature.currentCaptionLanguage; existingCall.info = call.info; - /* @conditional-compile-remove(teams-meeting-conference) */ + existingCall.meetingConference = call.meetingConference; } else { draft.calls[latestCallId] = call; @@ -574,7 +572,6 @@ export class CallContext { }); } - /* @conditional-compile-remove(teams-meeting-conference) */ public setTeamsMeetingConference( callId: string, teamsMeetingConferenceDetails: TeamsMeetingAudioConferencingDetails diff --git a/packages/calling-stateful-client/src/CallSubscriber.ts b/packages/calling-stateful-client/src/CallSubscriber.ts index 0ce88d98652..214a0d37090 100644 --- a/packages/calling-stateful-client/src/CallSubscriber.ts +++ b/packages/calling-stateful-client/src/CallSubscriber.ts @@ -126,7 +126,6 @@ export class CallSubscriber { private subscribe = (): void => { this._call.on('stateChanged', this.stateChanged); this._call.on('stateChanged', this.initCaptionSubscriber); - /* @conditional-compile-remove(teams-meeting-conference) */ this._call.on('stateChanged', this.initTeamsMeetingConference); /* @conditional-compile-remove(local-recording-notification) */ this._call.on('stateChanged', this.initLocalRecordingNotificationSubscriber); @@ -170,7 +169,7 @@ export class CallSubscriber { this._call.off('stateChanged', this.initCaptionSubscriber); /* @conditional-compile-remove(local-recording-notification) */ this._call.off('stateChanged', this.initLocalRecordingNotificationSubscriber); - /* @conditional-compile-remove(teams-meeting-conference) */ + this._call.off('stateChanged', this.initTeamsMeetingConference); this._call.off('idChanged', this.idChanged); this._call.off('isScreenSharingOnChanged', this.isScreenSharingOnChanged); @@ -253,7 +252,6 @@ export class CallSubscriber { } }; - /* @conditional-compile-remove(teams-meeting-conference) */ private initTeamsMeetingConference = (): void => { if (this._call.state === 'Connected') { this._call diff --git a/packages/calling-stateful-client/src/Converter.ts b/packages/calling-stateful-client/src/Converter.ts index fc369b0609e..75cbc40da0f 100644 --- a/packages/calling-stateful-client/src/Converter.ts +++ b/packages/calling-stateful-client/src/Converter.ts @@ -188,7 +188,6 @@ export function convertSdkCallToDeclarativeCall(call: CallCommon): CallState { /* @conditional-compile-remove(hide-attendee-name) */ hideAttendeeNames, info: callInfo, - /* @conditional-compile-remove(teams-meeting-conference) */ meetingConference: { conferencePhones: [] } }; } diff --git a/packages/calling-stateful-client/src/StatefulCallClient.test.ts b/packages/calling-stateful-client/src/StatefulCallClient.test.ts index 1ab7810c739..8d6393a7203 100644 --- a/packages/calling-stateful-client/src/StatefulCallClient.test.ts +++ b/packages/calling-stateful-client/src/StatefulCallClient.test.ts @@ -672,7 +672,6 @@ describe('errors should be reported correctly from Call when', () => { } }); - /* @conditional-compile-remove(teams-meeting-conference) */ test('Conference call is undefined in acs to acs calls', async () => { const conference = addMockEmitter({ name: 'Conference' }); diff --git a/packages/calling-stateful-client/src/index-public.ts b/packages/calling-stateful-client/src/index-public.ts index 7a99d174a22..b88f847afa9 100644 --- a/packages/calling-stateful-client/src/index-public.ts +++ b/packages/calling-stateful-client/src/index-public.ts @@ -50,7 +50,6 @@ export type { ReactionState } from './CallClientState'; export type { SpotlightCallFeatureState, SpotlightState } from './CallClientState'; /* @conditional-compile-remove(local-recording-notification) */ export type { LocalRecordingCallFeatureState } from './CallClientState'; -/* @conditional-compile-remove(teams-meeting-conference) */ export type { ConferencePhoneInfo } from './CallClientState'; /* @conditional-compile-remove(breakout-rooms) */ export type { BreakoutRoomsState } from './CallClientState'; diff --git a/packages/communication-react/src/index.ts b/packages/communication-react/src/index.ts index d370ed360b3..e4b58ca0fdd 100644 --- a/packages/communication-react/src/index.ts +++ b/packages/communication-react/src/index.ts @@ -443,5 +443,4 @@ export type { NotificationType, ActiveNotification } from '../../react-components/src'; -/* @conditional-compile-remove(teams-meeting-conference) */ export type { MeetingConferencePhoneInfoModalStrings } from '../../react-components/src'; diff --git a/packages/react-components/src/components/ErrorBar.tsx b/packages/react-components/src/components/ErrorBar.tsx index b6678647b65..2075cca9496 100644 --- a/packages/react-components/src/components/ErrorBar.tsx +++ b/packages/react-components/src/components/ErrorBar.tsx @@ -124,7 +124,6 @@ export interface ErrorBarStrings { */ callNetworkQualityLow: string; - /* @conditional-compile-remove(teams-meeting-conference) */ /** * Message shown when poor network quality is detected during a call. */ diff --git a/packages/react-components/src/components/MeetingConferencePhoneInfo.tsx b/packages/react-components/src/components/MeetingConferencePhoneInfo.tsx index 075d5331958..19346516a2b 100644 --- a/packages/react-components/src/components/MeetingConferencePhoneInfo.tsx +++ b/packages/react-components/src/components/MeetingConferencePhoneInfo.tsx @@ -1,14 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/* @conditional-compile-remove(teams-meeting-conference) */ import React, { useCallback } from 'react'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { useMemo } from 'react'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { IModalStyles, Modal, Stack, useTheme, Text, IconButton, Icon } from '@fluentui/react'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { themedPhoneInfoModalStyle, titleClassName, @@ -21,15 +17,11 @@ import { infoConnectionLinkStyle, phoneInfoIconStyle } from './styles/TeamsMeetingConferenceInfo'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { _preventDismissOnEvent } from '@internal/acs-ui-common'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { useLocale } from '../localization'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { _pxToRem } from '@internal/acs-ui-common'; import { _formatPhoneNumber } from './utils/formatPhoneNumber'; -/* @conditional-compile-remove(teams-meeting-conference) */ /** * strings for phone info modal * @public @@ -69,7 +61,6 @@ export interface MeetingConferencePhoneInfoModalStrings { meetingConferencePhoneInfoModalNoPhoneAvailable: string; } -/* @conditional-compile-remove(teams-meeting-conference) */ /** * @public * MeetingConferencePhoneInfoModal Component Props. @@ -80,7 +71,6 @@ export interface MeetingConferencePhoneInfoModalProps { onDismissMeetingPhoneInfoSettings?: () => void; } -/* @conditional-compile-remove(teams-meeting-conference) */ /** * @public * a component for setting spoken languages @@ -191,7 +181,6 @@ export const MeetingConferencePhoneInfoModal = (props: MeetingConferencePhoneInf ); }; -/* @conditional-compile-remove(teams-meeting-conference) */ /** * @internal * format phone number link @@ -200,7 +189,6 @@ export const formatPhoneNumberLink = (phoneNumber: ConferencePhoneInfo): string return `tel:+${phoneNumber.phoneNumber},,${phoneNumber.conferenceId}#`; }; -/* @conditional-compile-remove(teams-meeting-conference) */ /** * @internal * format phone number @@ -219,7 +207,6 @@ export const formatPhoneNumberInfo = ( ); }; -/* @conditional-compile-remove(teams-meeting-conference) */ /** * @internal * format meeting id @@ -235,7 +222,6 @@ export const formatMeetingId = (meetingId?: string): string => { return [meetingId.slice(0, 3), meetingId.slice(3, 6), meetingId.slice(6, 9)].join(' ') + '#'; }; -/* @conditional-compile-remove(teams-meeting-conference) */ /** * @public * Information for conference phone info diff --git a/packages/react-components/src/components/NotificationStack.tsx b/packages/react-components/src/components/NotificationStack.tsx index aeda85bfcbb..c34e73d9126 100644 --- a/packages/react-components/src/components/NotificationStack.tsx +++ b/packages/react-components/src/components/NotificationStack.tsx @@ -94,7 +94,6 @@ export interface NotificationStackStrings { * Message shown when poor network quality is detected during a call. */ callNetworkQualityLow?: NotificationStrings; - /* @conditional-compile-remove(teams-meeting-conference) */ /** * Message shown when poor network quality is detected during a teams meetings. * Contains actions to open phone info modal. diff --git a/packages/react-components/src/components/index.ts b/packages/react-components/src/components/index.ts index 01a52ab567d..8381a88b558 100644 --- a/packages/react-components/src/components/index.ts +++ b/packages/react-components/src/components/index.ts @@ -298,9 +298,7 @@ export * from './StartCaptionsButton'; export * from './CaptionsSettingsModal'; -/* @conditional-compile-remove(teams-meeting-conference) */ export * from './MeetingConferencePhoneInfo'; -/* @conditional-compile-remove(teams-meeting-conference) */ export { _formatPhoneNumber } from './utils/formatPhoneNumber'; export { _ErrorBoundary } from './ErrorBoundary'; diff --git a/packages/react-components/src/components/utils.ts b/packages/react-components/src/components/utils.ts index 3a28c3eddb6..96b75387b91 100644 --- a/packages/react-components/src/components/utils.ts +++ b/packages/react-components/src/components/utils.ts @@ -323,7 +323,6 @@ export const NotificationIconProps = (notificationType: NotificationType): IIcon */ export const customNotificationIconName: Partial<{ [key in NotificationType]: string }> = { callNetworkQualityLow: 'ErrorBarCallNetworkQualityLow', - /* @conditional-compile-remove(teams-meeting-conference) */ teamsMeetingCallNetworkQualityLow: 'ErrorBarCallNetworkQualityLow', callNoSpeakerFound: 'ErrorBarCallNoSpeakerFound', callNoMicrophoneFound: 'ErrorBarCallNoMicrophoneFound', @@ -342,21 +341,13 @@ export const customNotificationIconName: Partial<{ [key in NotificationType]: st /* @conditional-compile-remove(soft-mute) */ mutedByRemoteParticipant: 'ErrorBarMutedByRemoteParticipant', speakingWhileMuted: 'ErrorBarCallMicrophoneMutedBySystem', - recordingStarted: 'NotificationBarRecording', - transcriptionStarted: 'NotificationBarRecording', - recordingStopped: 'NotificationBarRecording', - transcriptionStopped: 'NotificationBarRecording', - recordingAndTranscriptionStarted: 'NotificationBarRecording', - recordingAndTranscriptionStopped: 'NotificationBarRecording', - recordingStoppedStillTranscribing: 'NotificationBarRecording', - transcriptionStoppedStillRecording: 'NotificationBarRecording', /* @conditional-compile-remove(breakout-rooms) */ assignedBreakoutRoomOpened: 'NotificationBarBreakoutRoomOpened', diff --git a/packages/react-components/src/localization/LocalizationProvider.tsx b/packages/react-components/src/localization/LocalizationProvider.tsx index 6885b8d720b..0712bbf5245 100644 --- a/packages/react-components/src/localization/LocalizationProvider.tsx +++ b/packages/react-components/src/localization/LocalizationProvider.tsx @@ -47,7 +47,6 @@ import { ImageOverlayStrings } from '../components/ImageOverlay'; import { ReactionButtonStrings } from '../components'; /* @conditional-compile-remove(rich-text-editor) */ import { RichTextSendBoxStrings } from '../components/RichTextEditor/RichTextSendBox'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { MeetingConferencePhoneInfoModalStrings } from '../components/MeetingConferencePhoneInfo'; /* @conditional-compile-remove(one-to-n-calling) */ import { IncomingCallNotificationStrings } from '../components/IncomingCallNotification'; @@ -183,7 +182,6 @@ export interface ComponentStrings { /* @conditional-compile-remove(total-participant-count) */ /** Strings for the participant list component */ ParticipantList: ParticipantListStrings; - /* @conditional-compile-remove(teams-meeting-conference) */ /** Strings for the MeetingConferencePhoneInfoModal */ meetingConferencePhoneInfo: MeetingConferencePhoneInfoModalStrings; /* @conditional-compile-remove(one-to-n-calling) */ diff --git a/packages/react-composites/src/composites/CallComposite/Strings.tsx b/packages/react-composites/src/composites/CallComposite/Strings.tsx index 6fa1bd51cb5..5d0660cac5d 100644 --- a/packages/react-composites/src/composites/CallComposite/Strings.tsx +++ b/packages/react-composites/src/composites/CallComposite/Strings.tsx @@ -837,7 +837,6 @@ export interface CallCompositeStrings { * Aria label to announce when remote participant is pinned */ pinParticipantMenuItemAriaLabel: string; - /* @conditional-compile-remove(teams-meeting-conference) */ /** * Error message when the meeting identifier or passcode is invalid */ diff --git a/packages/react-composites/src/composites/CallComposite/components/CallArrangement.tsx b/packages/react-composites/src/composites/CallComposite/components/CallArrangement.tsx index af577f178a6..293e607f5ad 100644 --- a/packages/react-composites/src/composites/CallComposite/components/CallArrangement.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/CallArrangement.tsx @@ -53,9 +53,7 @@ import { getCallStatus, getCaptionsStatus } from '../selectors/baseSelectors'; import { drawerContainerStyles } from '../styles/CallComposite.styles'; import { SidePane } from './SidePane/SidePane'; import { usePeoplePane } from './SidePane/usePeoplePane'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { useMeetingPhoneInfoPane } from './SidePane/useMeetingPhoneInfo'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { getTeamsMeetingCoordinates } from '../selectors/baseSelectors'; import { @@ -185,10 +183,8 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { } }, [participantActioned, remoteParticipants]); - /* @conditional-compile-remove(teams-meeting-conference) */ const conferencePhoneInfo = useSelector(getTeamsMeetingCoordinates); - /* @conditional-compile-remove(teams-meeting-conference) */ const meetingPhoneInfoPaneProps = { updateSidePaneRenderer, mobileView: props.mobileView, @@ -235,19 +231,15 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { localParticipant } = videoGalleryProps; - /* @conditional-compile-remove(teams-meeting-conference) */ const [showTeamsMeetingConferenceModal, setShowTeamsMeetingConferenceModal] = useState(false); - /* @conditional-compile-remove(teams-meeting-conference) */ const toggleTeamsMeetingConferenceModal = useCallback((): void => { setShowTeamsMeetingConferenceModal(!showTeamsMeetingConferenceModal); }, [showTeamsMeetingConferenceModal]); - /* @conditional-compile-remove(teams-meeting-conference) */ const { isMeetingPhoneInfoPaneOpen, openMeetingPhoneInfoPane, closeMeetingPhoneInfoPane } = useMeetingPhoneInfoPane({ ...meetingPhoneInfoPaneProps }); - /* @conditional-compile-remove(teams-meeting-conference) */ const toggleMeetingPhoneInfoPane = useCallback(() => { if (isMeetingPhoneInfoPaneOpen) { closeMeetingPhoneInfoPane(); @@ -256,7 +248,6 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { } }, [closeMeetingPhoneInfoPane, isMeetingPhoneInfoPaneOpen, openMeetingPhoneInfoPane]); - /* @conditional-compile-remove(teams-meeting-conference) */ const onMeetingPhoneInfoClicked = useCallback(() => { setShowDrawer(false); toggleMeetingPhoneInfoPane(); @@ -561,9 +552,7 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { onStopLocalSpotlight={ !hideSpotlightButtons && localParticipant.spotlight ? onStopLocalSpotlightWithPrompt : undefined } - /* @conditional-compile-remove(teams-meeting-conference) */ onToggleTeamsMeetingConferenceModal={toggleTeamsMeetingConferenceModal} - /* @conditional-compile-remove(teams-meeting-conference) */ teamsMeetingConferenceModalPresent={showTeamsMeetingConferenceModal} /> )} @@ -587,7 +576,6 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { onSetDialpadPage={props.onSetDialpadPage} dtmfDialerPresent={props.dtmfDialerPresent} reactionResources={adapter.getState().reactions} - /* @conditional-compile-remove(teams-meeting-conference) */ onClickMeetingPhoneInfo={onMeetingPhoneInfoClicked} /> diff --git a/packages/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.tsx b/packages/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.tsx index 422a06aa6a8..2af993ad585 100644 --- a/packages/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.tsx @@ -5,7 +5,6 @@ import React from 'react'; import { VideoGalleryStream, useTheme } from '@internal/react-components'; import { ExpandedLocalVideoTile } from './ExpandedLocalVideoTile'; import { mergeStyles, Stack, Text } from '@fluentui/react'; -/* @conditional-compile-remove(teams-meeting-conference) */ // eslint-disable-next-line no-restricted-imports import { Icon } from '@fluentui/react'; import { useLocale } from '../../localization'; @@ -17,11 +16,8 @@ import { } from '../styles/NetworkReconnectTile.styles'; import { useHandlers } from '../hooks/useHandlers'; import { CallCompositeIcon } from '../../common/icons'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { getTeamsMeetingCoordinates, getIsTeamsMeeting } from '../selectors/baseSelectors'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { useSelector } from '../hooks/useSelector'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { phoneInfoTextStyle, phoneInfoIcon, @@ -33,11 +29,8 @@ import { titleContainerClassName, infoConnectionLinkStyle } from '../../common/styles/TeamsMeetingConferenceInfo.style'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { formatPhoneNumberInfo, _formatPhoneNumber, formatPhoneNumberLink } from '@internal/react-components'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { _pxToRem } from '@internal/acs-ui-common'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { Link } from '@fluentui/react'; /** @@ -45,7 +38,6 @@ import { Link } from '@fluentui/react'; */ export interface NetworkReconnectTileProps { localParticipantVideoStream: VideoGalleryStream; - /* @conditional-compile-remove(teams-meeting-conference) */ isMobile?: boolean; } @@ -57,16 +49,12 @@ export const NetworkReconnectTile = (props: NetworkReconnectTileProps): JSX.Elem const isVideoReady = videoStream?.isAvailable ?? false; const palette = useTheme().palette; const strings = useLocale().strings.call; - /* @conditional-compile-remove(teams-meeting-conference) */ const localeStrings = useLocale().component.strings.meetingConferencePhoneInfo; - /* @conditional-compile-remove(teams-meeting-conference) */ const theme = useTheme(); const handlers = useHandlers(ExpandedLocalVideoTile); - /* @conditional-compile-remove(teams-meeting-conference) */ const isTeamsMeeting = useSelector(getIsTeamsMeeting); - /* @conditional-compile-remove(teams-meeting-conference) */ const meetingCoordinates = useSelector(getTeamsMeetingCoordinates); return ( @@ -92,100 +80,89 @@ export const NetworkReconnectTile = (props: NetworkReconnectTileProps): JSX.Elem {strings.networkReconnectMoreDetails} - { - /* @conditional-compile-remove(teams-meeting-conference) */ isTeamsMeeting && - meetingCoordinates && - meetingCoordinates.length > 0 && ( - - - {localeStrings.meetingConferencePhoneInfoModalTitle} - - - - - - - - - - - - - {localeStrings.meetingConferencePhoneInfoModalDialIn} - - + {isTeamsMeeting && meetingCoordinates && meetingCoordinates.length > 0 && ( + + + {localeStrings.meetingConferencePhoneInfoModalTitle} + + + + + + + + - - {meetingCoordinates.map((phoneNumber, index) => ( - - - {props.isMobile && ( - - {_formatPhoneNumber(phoneNumber.phoneNumber, true)} - - )} - {!props.isMobile && ( - - {_formatPhoneNumber(phoneNumber.phoneNumber, true)} - - )}{' '} - {phoneNumber.isTollFree - ? localeStrings.meetingConferencePhoneInfoModalTollFree - : localeStrings.meetingConferencePhoneInfoModalToll} - -
+ + {localeStrings.meetingConferencePhoneInfoModalDialIn} + +
+
+ + {meetingCoordinates.map((phoneNumber, index) => ( + + + {props.isMobile && ( + + {_formatPhoneNumber(phoneNumber.phoneNumber, true)} + + )} + {!props.isMobile && ( - {' '} - {formatPhoneNumberInfo(phoneNumber, localeStrings)} + {_formatPhoneNumber(phoneNumber.phoneNumber, true)} - - ))} + )}{' '} + {phoneNumber.isTollFree + ? localeStrings.meetingConferencePhoneInfoModalTollFree + : localeStrings.meetingConferencePhoneInfoModalToll} + +
+ {formatPhoneNumberInfo(phoneNumber, localeStrings)} +
+ ))} +
+
+ + + + {!props.isMobile && } + + + + + + {localeStrings.meetingConferencePhoneInfoModalMeetingId} + - + + {meetingCoordinates[0].conferenceId}# + + {!props.isMobile && ( + + + + + - - {!props.isMobile && } - - - - - - {localeStrings.meetingConferencePhoneInfoModalMeetingId} - - - + {localeStrings.meetingConferencePhoneInfoModalWait} - {meetingCoordinates[0].conferenceId}# - {!props.isMobile && ( - - - - - - - - {localeStrings.meetingConferencePhoneInfoModalWait} - - - - - )} - ) - } + )} +
+ )} } {...handlers} diff --git a/packages/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.tsx b/packages/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.tsx index 3f74fe963f2..d2111888101 100644 --- a/packages/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.tsx @@ -1,23 +1,15 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/* @conditional-compile-remove(teams-meeting-conference) */ import React, { useCallback, useEffect, useMemo } from 'react'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { SidePaneRenderer, useIsParticularSidePaneOpen } from './SidePaneProvider'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { SidePaneHeader } from '../../../common/SidePaneHeader'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { MeetingPhoneInfoPaneContent } from '../../../common/MeetingPhoneInfoPaneContent'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { useLocale } from '../../../localization'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { ConferencePhoneInfo } from '@internal/react-components'; -/* @conditional-compile-remove(teams-meeting-conference) */ const SIDE_PANE_ID = 'Meeting Phone Info'; -/* @conditional-compile-remove(teams-meeting-conference) */ /** @private */ export const useMeetingPhoneInfoPane = (props: { updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void; diff --git a/packages/react-composites/src/composites/CallComposite/pages/CallPage.tsx b/packages/react-composites/src/composites/CallComposite/pages/CallPage.tsx index ead84d83914..dbb951a8251 100644 --- a/packages/react-composites/src/composites/CallComposite/pages/CallPage.tsx +++ b/packages/react-composites/src/composites/CallComposite/pages/CallPage.tsx @@ -184,10 +184,7 @@ export const CallPage = (props: CallPageProps): JSX.Element => { isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? ( onRenderGalleryContentTrampoline() ) : ( - + ) ) : ( <> diff --git a/packages/react-composites/src/composites/CallComposite/selectors/badNetworkQualitySelector.ts b/packages/react-composites/src/composites/CallComposite/selectors/badNetworkQualitySelector.ts index af450c286c5..33bb18e25fa 100644 --- a/packages/react-composites/src/composites/CallComposite/selectors/badNetworkQualitySelector.ts +++ b/packages/react-composites/src/composites/CallComposite/selectors/badNetworkQualitySelector.ts @@ -1,14 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/* @conditional-compile-remove(teams-meeting-conference) */ import * as reselect from 'reselect'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { getUserFacingDiagnostics } from './baseSelectors'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { DiagnosticQuality } from '@azure/communication-calling'; -/* @conditional-compile-remove(teams-meeting-conference) */ /** * @private */ @@ -20,7 +16,6 @@ export const badNetworkQualityBannerSelector = reselect.createSelector([getUserF }; }); -/* @conditional-compile-remove(teams-meeting-conference) */ /** * @prative */ diff --git a/packages/react-composites/src/composites/CallComposite/selectors/baseSelectors.ts b/packages/react-composites/src/composites/CallComposite/selectors/baseSelectors.ts index c09714aff1d..7304e95129c 100644 --- a/packages/react-composites/src/composites/CallComposite/selectors/baseSelectors.ts +++ b/packages/react-composites/src/composites/CallComposite/selectors/baseSelectors.ts @@ -20,7 +20,6 @@ import { RemoteParticipantState } from '@internal/calling-stateful-client'; import { CaptionsInfo } from '@internal/calling-stateful-client'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { ConferencePhoneInfo } from '@internal/calling-stateful-client'; import { SpotlightedParticipant } from '@azure/communication-calling'; import { CallAdapterState, CallCompositePage } from '../adapter/CallAdapter'; @@ -210,7 +209,6 @@ export const getIsTeamsCall = (state: CallAdapterState): boolean => state.isTeam */ export const getIsTeamsMeeting = (state: CallAdapterState): boolean => state.isTeamsMeeting; -/* @conditional-compile-remove(teams-meeting-conference) */ /** * @private */ diff --git a/packages/react-composites/src/composites/common/ControlBar/CommonCallControlBar.tsx b/packages/react-composites/src/composites/common/ControlBar/CommonCallControlBar.tsx index cb124a0d177..adcb8218c2a 100644 --- a/packages/react-composites/src/composites/common/ControlBar/CommonCallControlBar.tsx +++ b/packages/react-composites/src/composites/common/ControlBar/CommonCallControlBar.tsx @@ -54,7 +54,6 @@ import { getIsTeamsCall } from '../../CallComposite/selectors/baseSelectors'; /* @conditional-compile-remove(breakout-rooms) */ import { getAssignedBreakoutRoom, getBreakoutRoomSettings } from '../../CallComposite/selectors/baseSelectors'; import { callStatusSelector } from '../../CallComposite/selectors/callStatusSelector'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { MeetingConferencePhoneInfoModal } from '@internal/react-components'; /* @conditional-compile-remove(breakout-rooms) */ import { Timer } from './Timer'; @@ -89,9 +88,9 @@ export interface CommonCallControlBarProps { dtmfDialerPresent?: boolean; onStopLocalSpotlight?: () => void; useTeamsCaptions?: boolean; - /* @conditional-compile-remove(teams-meeting-conference) */ + onToggleTeamsMeetingConferenceModal?: () => void; - /* @conditional-compile-remove(teams-meeting-conference) */ + teamsMeetingConferenceModalPresent?: boolean; } @@ -344,7 +343,6 @@ export const CommonCallControlBar = (props: CommonCallControlBarProps & Containe props.isCaptionsSupported && /* @conditional-compile-remove(acs-close-captions) */ isEnabled(options.captionsButton); - /* @conditional-compile-remove(teams-meeting-conference) */ const showTeamsMeetingPhoneCallButton = isEnabled(options?.teamsMeetingPhoneCallButton); const showDesktopMoreButton = @@ -371,15 +369,13 @@ export const CommonCallControlBar = (props: CommonCallControlBarProps & Containe changeCaptionLanguage={props.isCaptionsOn && props.useTeamsCaptions} /> )} - { - /* @conditional-compile-remove(teams-meeting-conference) */ props.teamsMeetingConferenceModalPresent && ( - - ) - } + {props.teamsMeetingConferenceModalPresent && ( + + )} )} diff --git a/packages/react-composites/src/composites/common/ControlBar/DesktopMoreButton.tsx b/packages/react-composites/src/composites/common/ControlBar/DesktopMoreButton.tsx index 71f78c4ae1a..ced88fa7cee 100644 --- a/packages/react-composites/src/composites/common/ControlBar/DesktopMoreButton.tsx +++ b/packages/react-composites/src/composites/common/ControlBar/DesktopMoreButton.tsx @@ -28,7 +28,6 @@ import { _preventDismissOnEvent } from '@internal/acs-ui-common'; import { showDtmfDialer } from '../../CallComposite/utils/MediaGalleryUtils'; import { useSelector } from '../../CallComposite/hooks/useSelector'; import { getTargetCallees } from '../../CallComposite/selectors/baseSelectors'; -/*@conditional-compile-remove(teams-meeting-conference) */ import { getTeamsMeetingCoordinates, getIsTeamsMeeting } from '../../CallComposite/selectors/baseSelectors'; /** @private */ @@ -43,9 +42,7 @@ export interface DesktopMoreButtonProps extends ControlBarButtonProps { userSetGalleryLayout?: VideoGalleryLayout; onSetDialpadPage?: () => void; dtmfDialerPresent?: boolean; - /* @conditional-compile-remove(teams-meeting-conference) */ teamsMeetingPhoneCallEnable?: boolean; - /* @conditional-compile-remove(teams-meeting-conference) */ onMeetingPhoneInfoClick?: () => void; } @@ -75,9 +72,7 @@ export const DesktopMoreButton = (props: DesktopMoreButtonProps): JSX.Element => const callees = useSelector(getTargetCallees); const allowDtmfDialer = showDtmfDialer(callees); - /* @conditional-compile-remove(teams-meeting-conference) */ const isTeamsMeeting = useSelector(getIsTeamsMeeting); - /* @conditional-compile-remove(teams-meeting-conference) */ const teamsMeetingCoordinates = useSelector(getTeamsMeetingCoordinates); const [dtmfDialerChecked, setDtmfDialerChecked] = useState(props.dtmfDialerPresent ?? false); @@ -204,7 +199,7 @@ export const DesktopMoreButton = (props: DesktopMoreButtonProps): JSX.Element => if (props.onSetDialpadPage && allowDtmfDialer) { moreButtonContextualMenuItems.push(dtmfDialerScreenOption); } - /* @conditional-compile-remove(teams-meeting-conference) */ + const joinByPhoneOption = { key: 'phoneCallKey', itemProps: { @@ -222,7 +217,6 @@ export const DesktopMoreButton = (props: DesktopMoreButtonProps): JSX.Element => /** * Only render the phone call button if meeting conordinates are present */ - /* @conditional-compile-remove(teams-meeting-conference) */ if (props.teamsMeetingPhoneCallEnable && isTeamsMeeting && teamsMeetingCoordinates) { moreButtonContextualMenuItems.push(joinByPhoneOption); } diff --git a/packages/react-composites/src/composites/common/Drawer/MoreDrawer.tsx b/packages/react-composites/src/composites/common/Drawer/MoreDrawer.tsx index 6f8d36eebba..d715ed95ed0 100644 --- a/packages/react-composites/src/composites/common/Drawer/MoreDrawer.tsx +++ b/packages/react-composites/src/composites/common/Drawer/MoreDrawer.tsx @@ -41,7 +41,6 @@ import { _spokenLanguageToCaptionLanguage } from '@internal/react-components'; import { useAdapter } from '../../CallComposite/adapter/CallAdapterProvider'; import { useSelector } from '../../CallComposite/hooks/useSelector'; import { getTargetCallees } from '../../CallComposite/selectors/baseSelectors'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { getTeamsMeetingCoordinates, getIsTeamsMeeting } from '../../CallComposite/selectors/baseSelectors'; import { showDtmfDialer } from '../../CallComposite/utils/MediaGalleryUtils'; import { SpokenLanguageSettingsDrawer } from './SpokenLanguageSettingsDrawer'; @@ -152,7 +151,7 @@ export interface MoreDrawerProps extends MoreDrawerDevicesMenuProps { useTeamsCaptions?: boolean; reactionResources?: ReactionResources; onReactionClick?: (reaction: string) => Promise; - /* @conditional-compile-remove(teams-meeting-conference) */ + onClickMeetingPhoneInfo?: () => void; /* @conditional-compile-remove(soft-mute) */ onMuteAllRemoteParticipants?: () => void; @@ -425,12 +424,10 @@ export const MoreDrawer = (props: MoreDrawerProps): JSX.Element => { }); } - /* @conditional-compile-remove(teams-meeting-conference) */ const isTeamsMeeting = getIsTeamsMeeting(callAdapter.getState()); - /* @conditional-compile-remove(teams-meeting-conference) */ + const teamsMeetingCoordinates = getTeamsMeetingCoordinates(callAdapter.getState()); - /* @conditional-compile-remove(teams-meeting-conference) */ if ( drawerSelectionOptions !== false && isEnabled(drawerSelectionOptions?.teamsMeetingPhoneCallButton) && diff --git a/packages/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.tsx b/packages/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.tsx index 325a535bc81..ea6bf5d8c9a 100644 --- a/packages/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.tsx +++ b/packages/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.tsx @@ -27,7 +27,6 @@ export interface PreparedMoreDrawerProps { dtmfDialerPresent?: boolean; useTeamsCaptions?: boolean; reactionResources?: ReactionResources; - /* @conditional-compile-remove(teams-meeting-conference) */ onClickMeetingPhoneInfo?: () => void; } diff --git a/packages/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.tsx b/packages/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.tsx index 7956ddcfe5c..6515a4e730c 100644 --- a/packages/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.tsx +++ b/packages/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.tsx @@ -1,21 +1,16 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/* @conditional-compile-remove(teams-meeting-conference) */ // eslint-disable-next-line no-restricted-imports import { Stack, Text, useTheme, Icon, Link } from '@fluentui/react'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { _DrawerMenuItemProps } from '@internal/react-components'; -/* @conditional-compile-remove(teams-meeting-conference) */ import React from 'react'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { ConferencePhoneInfo, formatPhoneNumberInfo, _formatPhoneNumber, formatPhoneNumberLink } from '@internal/react-components'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { phoneInfoTextStyle, phoneInfoIcon, @@ -26,10 +21,8 @@ import { phoneInfoContainerTokens, phoneInfoContainerStyle } from './styles/TeamsMeetingConferenceInfo.style'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { useLocale } from '../localization'; -/* @conditional-compile-remove(teams-meeting-conference) */ /** * @private */ diff --git a/packages/react-composites/src/composites/common/icons.tsx b/packages/react-composites/src/composites/common/icons.tsx index 555acc9cb14..00373791ba5 100644 --- a/packages/react-composites/src/composites/common/icons.tsx +++ b/packages/react-composites/src/composites/common/icons.tsx @@ -20,7 +20,6 @@ import { WifiWarning20Filled, Circle20Regular } from '@fluentui/react-icons'; -/* @conditional-compile-remove(teams-meeting-conference) */ import { PersonCall20Regular, Clock20Filled } from '@fluentui/react-icons'; import { MoreHorizontal20Filled, VideoPersonStarOff20Filled } from '@fluentui/react-icons'; import { MicProhibited20Filled, VideoProhibited20Filled } from '@fluentui/react-icons'; @@ -108,13 +107,9 @@ export const COMPOSITE_ONLY_ICONS: CompositeIcons = { LargeGalleryLayout: , DefaultCustomButton: , DtmfDialpadButton: , - /* @conditional-compile-remove(teams-meeting-conference) */ PhoneNumberButton: , - /* @conditional-compile-remove(teams-meeting-conference) */ JoinByPhoneDialStepIcon: , - /* @conditional-compile-remove(teams-meeting-conference) */ JoinByPhoneConferenceIdIcon: , - /* @conditional-compile-remove(teams-meeting-conference) */ JoinByPhoneWaitToBeAdmittedIcon: , PeoplePaneMoreButton: , StopAllSpotlightMenuButton: @@ -253,13 +248,9 @@ export type CallCompositeIcons = { LargeGalleryLayout?: JSX.Element; DefaultCustomButton?: JSX.Element; DtmfDialpadButton?: JSX.Element; - /* @conditional-compile-remove(teams-meeting-conference) */ PhoneNumberButton?: JSX.Element; - /* @conditional-compile-remove(teams-meeting-conference) */ JoinByPhoneDialStepIcon?: JSX.Element; - /* @conditional-compile-remove(teams-meeting-conference) */ JoinByPhoneConferenceIdIcon?: JSX.Element; - /* @conditional-compile-remove(teams-meeting-conference) */ JoinByPhoneWaitToBeAdmittedIcon?: JSX.Element; PeoplePaneMoreButton?: JSX.Element; StopAllSpotlightMenuButton?: JSX.Element; diff --git a/packages/react-composites/src/composites/common/types/CommonCallControlOptions.tsx b/packages/react-composites/src/composites/common/types/CommonCallControlOptions.tsx index 7be3037d2f8..ce7cf36c631 100644 --- a/packages/react-composites/src/composites/common/types/CommonCallControlOptions.tsx +++ b/packages/react-composites/src/composites/common/types/CommonCallControlOptions.tsx @@ -120,7 +120,6 @@ export type CommonCallControlOptions = { * @defaultValue true */ captionsButton?: boolean; - /* @conditional-compile-remove(teams-meeting-conference) */ /** * Show, meeting conference phone information. * @defaultValue true diff --git a/packages/react-composites/tests/browser/call/hermetic/UserFacingDiagnostics.test.ts b/packages/react-composites/tests/browser/call/hermetic/UserFacingDiagnostics.test.ts index e24493f4555..8959ca16494 100644 --- a/packages/react-composites/tests/browser/call/hermetic/UserFacingDiagnostics.test.ts +++ b/packages/react-composites/tests/browser/call/hermetic/UserFacingDiagnostics.test.ts @@ -31,7 +31,6 @@ test.describe('User Facing Diagnostics tests', async () => { expect(await stableScreenshot(page)).toMatchSnapshot('tile-when-ufd-network-reconnect-is-bad.png'); }); - /* @conditional-compile-remove(teams-meeting-conference) */ test('Teams meeting phone info tile should be showing when network reconnect is bad ', async ({ page, serverUrl @@ -69,7 +68,6 @@ test.describe('User Facing Diagnostics tests', async () => { expect(await stableScreenshot(page)).toMatchSnapshot('tile-when-ufd-network-quality-is-bad.png'); }); - /* @conditional-compile-remove(teams-meeting-conference) */ test('Teams meeting phone info notification in case of bad network connection ', async ({ page, serverUrl }) => { const initialState = defaultMockCallAdapterState(); initialState.isTeamsMeeting = true;