Skip to content

Commit

Permalink
[Inbound Outbound] stabilize inbound outbound (#4958)
Browse files Browse the repository at this point in the history
* stabilize inbound outbound

* tags

* build stable

* tags

* tags and API

* Change files

* api

* fix API files

* fix stable app builds

* Address alternate ID concerns

* update incoming call type naming

* update connection state naming

* Revert "update connection state naming"

This reverts commit 187cb83.

* Change files

* move handlers to common interface

* fix stable

* fix stable

* make strings optional

* api updates

* fix API

* Update packages/react-composites CallWithChatComposite browser test snapshots

* Update embed html bundle snapshots

* Update packages/react-composites CallComposite browser test snapshots

* Update embed html bundle snapshots

* update stable API

* move sb out of Internal

* Revert "move sb out of Internal"

This reverts commit 1bc6b09.

* Update packages/react-composites CallComposite browser test snapshots

* fix people pane spacing

* Update packages/react-composites CallComposite browser test snapshots

* Update packages/react-composites CallComposite browser test snapshots

* fix video effects pane

* Update packages/react-composites CallComposite browser test snapshots

* Update packages/react-composites CallComposite browser test snapshots

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
dmceachernmsft and github-actions[bot] authored Sep 9, 2024
1 parent 2c12f3f commit 31b6977
Show file tree
Hide file tree
Showing 384 changed files with 399 additions and 135 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"type": "minor",
"area": "feature",
"workstream": "Ad hoc calling",
"comment": "Stabilize, Inbound calling, PSTN, Teams Adhoc calling",
"packageName": "@azure/communication-react",
"email": "[email protected]",
"dependentChangeType": "patch"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"type": "minor",
"area": "feature",
"workstream": "Ad hoc calling",
"comment": "Stabilize, Inbound calling, PSTN, Teams Adhoc calling",
"packageName": "@azure/communication-react",
"email": "[email protected]",
"dependentChangeType": "patch"
}
26 changes: 16 additions & 10 deletions common/config/babel/features.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,6 @@ module.exports = {
"data-loss-prevention",
// Mention feature
"mention",
// 1 to N Calling feature.
"one-to-n-calling",
// PSTN calls
"PSTN-calls",
// Adhoc calls to a Teams user.
"teams-adhoc-call",
// Beta feature for joining calls using teams token
"teams-identity-support-beta",
// Block joining calls if the user is on an unsupported browser
"unsupported-browser",
// Feature to show the total number of participants in a call (currently in beta in calling SDK, hence this must be conditionally compiled)
Expand All @@ -67,8 +59,6 @@ module.exports = {
"calling-environment-info",
// conditional-compile for new signaling beta
"signaling-beta",
// Feature for tracking beta start call identifier
'start-call-beta',
// Image overlay theme
'image-overlay-theme',
// Feature for local recording notification for teams meetings
Expand All @@ -83,8 +73,12 @@ module.exports = {
"rich-text-editor-image-upload",
// Feature to support file sharing in ACS chats
"file-sharing-acs",
// Beta feature for joining calls using teams token
"teams-identity-support-beta",
// Soft Mute feature for ACS calls and Interop calls
"soft-mute",
// feature for tracking the callParticipantsLocator
"call-participants-locator",
// feature for breakout rooms
"breakout-rooms"
],
Expand All @@ -101,6 +95,18 @@ module.exports = {
// Feature to support file sharing in Teams interoperability chats
"file-sharing-teams-interop",
// Get join conference information
'teams-meeting-conference',
// Feature for showing notifications
"notifications",
// 1 to N Calling feature.
"one-to-n-calling",
// PSTN calls
"PSTN-calls",
// Adhoc calls to a Teams user.
"teams-adhoc-call",
// Feature for tracking beta start call identifier
'start-call-beta',
// Feature for meeting conference coordinates
'teams-meeting-conference'
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import { StartCallOptions } from '@azure/communication-calling';
/* @conditional-compile-remove(one-to-n-calling) */
import { IncomingCallCommon } from '@azure/communication-calling';
/* @conditional-compile-remove(PSTN-calls) */
/* @conditional-compile-remove(teams-identity-support-beta) */
import { AddPhoneNumberOptions } from '@azure/communication-calling';
/* @conditional-compile-remove(teams-identity-support) */
import { TeamsCall, TeamsCallAgent, TeamsCallAgentOptions } from '@azure/communication-calling';
Expand All @@ -13,7 +13,7 @@ import {
isCommunicationUserIdentifier,
isMicrosoftTeamsAppIdentifier
} from '@azure/communication-common';
/* @conditional-compile-remove(PSTN-calls) */
/* @conditional-compile-remove(teams-identity-support-beta) */
import { isPhoneNumberIdentifier } from '@azure/communication-common';
import { Common, _toCommunicationIdentifier } from '@internal/acs-ui-common';
import { StatefulCallClient, StatefulDeviceManager } from '@internal/calling-stateful-client';
Expand Down Expand Up @@ -84,7 +84,7 @@ export const createDefaultTeamsCallingHandlers = memoizeOne(

return undefined;
},
/* @conditional-compile-remove(PSTN-calls) */
/* @conditional-compile-remove(teams-identity-support-beta) */
onAddParticipant: async (
userId: string | CommunicationIdentifier,
options?: AddPhoneNumberOptions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { isPhoneNumberIdentifier } from '@azure/communication-common';

/**
* Selector to get the active and removed incoming calls.
* @beta
* @public
*/
export type IncomingCallStackSelector = (state: CallClientState) => {
activeIncomingCalls: IncomingCallStackCall[];
Expand All @@ -20,7 +20,7 @@ export type IncomingCallStackSelector = (state: CallClientState) => {

/**
* Select the active and removed incoming calls from the stateful client for the IncomingCallNotificationStackComponent.
* @beta
* @public
*/
export const incomingCallStackSelector: IncomingCallStackSelector = createSelector(
[getIncomingCalls, getRemovedIncomingCalls, getDeviceManager],
Expand Down
4 changes: 2 additions & 2 deletions packages/calling-stateful-client/src/CallAgentDeclarative.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { CallAgentCommon, CallCommon } from './BetaToStableTypes';

/* @conditional-compile-remove(one-to-n-calling) */
/**
* @beta
* @public
* This contains a readonly array that returns all the active `incomingCalls`.
* An active incoming call is a call that has not been answered, declined or disconnected.
*/
Expand All @@ -27,7 +27,7 @@ export type IncomingCallManagement = {
};

/**
* @beta
* @public
* `DeclarativeCallAgent` extends and proxies the {@link @azure/communication-calling#CallAgent}
*/
export type DeclarativeCallAgent = CallAgent &
Expand Down
2 changes: 1 addition & 1 deletion packages/calling-stateful-client/src/CallClientState.ts
Original file line number Diff line number Diff line change
Expand Up @@ -757,7 +757,7 @@ export interface IncomingCallState {

/**
* State only version of {@link @azure/communication-calling#TeamsIncomingCall}
* @beta
* @public
*/
export interface TeamsIncomingCallState {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { teamsCallDeclaratify } from './TeamsCallDeclarative';

/* @conditional-compile-remove(one-to-n-calling) */
/**
* @beta
* @public
* Proxies the {@link @azure/communication-calling#TeamsIncomingCall} interface.
*/
export type TeamsIncomingCallManagement = {
Expand Down
4 changes: 2 additions & 2 deletions packages/calling-stateful-client/src/TeamsCallDeclarative.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { TeamsCall } from './BetaToStableTypes';

/**
*
* @private
* @public
*/
export type DeclarativeTeamsCall = TeamsCall & {
/**
Expand All @@ -20,7 +20,7 @@ class ProxyTeamsCall extends ProxyCallCommon implements ProxyHandler<TeamsCall>
public get<P extends keyof TeamsCall>(target: TeamsCall, prop: P): any {
/* @conditional-compile-remove(teams-identity-support) */
switch (prop) {
/* @conditional-compile-remove(PSTN-calls) */
/* @conditional-compile-remove(teams-identity-support-beta) */
case 'addParticipant': {
return this.getContext().withAsyncErrorTeedToState(async function (
...args: Parameters<TeamsCall['addParticipant']>
Expand Down
45 changes: 18 additions & 27 deletions packages/communication-react/review/beta/communication-react.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -437,7 +437,6 @@ export interface CallAdapterCallManagement extends CallAdapterCallOperations {

// @public
export interface CallAdapterCallOperations {
// @beta
addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;
// (undocumented)
addParticipant(participant: CommunicationUserIdentifier): Promise<void>;
Expand All @@ -448,7 +447,6 @@ export interface CallAdapterCallOperations {
disposeScreenShareStreamView(remoteUserId: string): Promise<void>;
// @deprecated
disposeStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void>;
// @beta
holdCall(): Promise<void>;
leaveCall(forEveryone?: boolean): Promise<void>;
lowerHand(): Promise<void>;
Expand All @@ -458,9 +456,7 @@ export interface CallAdapterCallOperations {
onReactionClick(reaction: Reaction_2): Promise<void>;
raiseHand(): Promise<void>;
removeParticipant(userId: string): Promise<void>;
// @beta
removeParticipant(participant: CommunicationIdentifier): Promise<void>;
// @beta
resumeCall(): Promise<void>;
returnFromBreakoutRoom(): Promise<void>;
sendDtmfTone(dtmfTone: DtmfTone_2): Promise<void>;
Expand Down Expand Up @@ -527,7 +523,7 @@ export interface CallAdapterDeviceManagement {
}

// @public
export type CallAdapterLocator = TeamsMeetingLinkLocator | GroupCallLocator | RoomCallLocator | /* @conditional-compile-remove(teams-adhoc-call) */ /* @conditional-compile-remove(PSTN-calls) */ CallParticipantsLocator | TeamsMeetingIdLocator;
export type CallAdapterLocator = TeamsMeetingLinkLocator | GroupCallLocator | RoomCallLocator | /* @conditional-compile-remove(call-participants-locator) */ CallParticipantsLocator | TeamsMeetingIdLocator;

// @public
export type CallAdapterState = CallAdapterUiState & CallAdapterClientState;
Expand Down Expand Up @@ -605,7 +601,7 @@ export interface CallAgentState {

// @public
export interface CallAndChatLocator {
callLocator: GroupCallLocator | /* @conditional-compile-remove(teams-adhoc-call) */ CallParticipantsLocator;
callLocator: GroupCallLocator | /* @conditional-compile-remove(call-participants-locator) */ CallParticipantsLocator;
chatThreadId: string;
}

Expand Down Expand Up @@ -1188,7 +1184,6 @@ export interface CallWithChatAdapter extends CallWithChatAdapterManagement, Adap

// @public
export interface CallWithChatAdapterManagement {
// @beta
addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;
// (undocumented)
addParticipant(participant: CommunicationUserIdentifier): Promise<void>;
Expand All @@ -1205,7 +1200,6 @@ export interface CallWithChatAdapterManagement {
// (undocumented)
downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void>;
fetchInitialData(): Promise<void>;
// @beta
holdCall: () => Promise<void>;
// @deprecated
joinCall(microphoneOn?: boolean): Call | undefined;
Expand All @@ -1222,11 +1216,9 @@ export interface CallWithChatAdapterManagement {
querySpeakers(): Promise<AudioDeviceInfo[]>;
raiseHand(): Promise<void>;
removeParticipant(userId: string): Promise<void>;
// @beta
removeParticipant(participant: CommunicationIdentifier): Promise<void>;
// (undocumented)
removeResourceFromCache(resourceDetails: ResourceDetails): void;
// @beta
resumeCall: () => Promise<void>;
returnFromBreakoutRoom(): Promise<void>;
sendDtmfTone: (dtmfTone: DtmfTone_2) => Promise<void>;
Expand Down Expand Up @@ -2664,7 +2656,7 @@ export interface CustomMessage extends MessageCommon {
// @public
export const darkTheme: PartialTheme & CallingTheme;

// @beta
// @public
export type DeclarativeCallAgent = CallAgent & IncomingCallManagement;

// @public
Expand Down Expand Up @@ -3238,10 +3230,10 @@ export interface GridLayoutStyles extends BaseCustomStyles {
children?: IStyle;
}

// @beta
// @public
export const HoldButton: (props: HoldButtonProps) => JSX.Element;

// @beta (undocumented)
// @public (undocumented)
export interface HoldButtonProps extends ControlBarButtonProps {
onToggleHold: () => Promise<void>;
strings?: HoldButtonStrings;
Expand All @@ -3252,7 +3244,7 @@ export type HoldButtonSelector = (state: CallClientState, props: CallingBaseSele
checked: boolean;
};

// @beta
// @public
export interface HoldButtonStrings {
offLabel?: string;
onLabel?: string;
Expand Down Expand Up @@ -3323,15 +3315,15 @@ export interface ImageOverlayStrings {
// @public
export const imageOverlayTheme: PartialTheme;

// @beta
// @public
export type IncomingCallManagement = {
incomingCalls: ReadonlyArray<IncomingCall>;
};

// @beta
// @public
export const IncomingCallNotification: (props: IncomingCallNotificationProps) => JSX.Element;

// @beta
// @public
export interface IncomingCallNotificationProps {
acceptOptions: {
showAcceptWithVideo: boolean;
Expand All @@ -3349,7 +3341,7 @@ export interface IncomingCallNotificationProps {
styles?: IncomingCallNotificationStyles;
}

// @beta
// @public
export interface IncomingCallNotificationStrings {
incomingCallNoticicationAcceptWithAudioAriaLabel?: string;
incomingCallNoticicationAcceptWithVideoAriaLabel?: string;
Expand All @@ -3362,18 +3354,18 @@ export interface IncomingCallNotificationStrings {
incomingCallNotificationRejectButtonLabel?: string;
}

// @beta
// @public
export interface IncomingCallNotificationStyles {
acceptButton?: IButtonStyles;
avatarContainer?: IStackStyles;
rejectButton?: IButtonStyles;
root?: IStackStyles;
}

// @beta
// @public
export const IncomingCallStack: (props: IncomingCallStackProps) => JSX.Element;

// @beta
// @public
export interface IncomingCallStackCall {
callerInfo: {
displayName?: string;
Expand All @@ -3382,7 +3374,7 @@ export interface IncomingCallStackCall {
videoAvailable: boolean;
}

// @beta
// @public
export interface IncomingCallStackProps {
activeIncomingCalls: IncomingCallStackCall[];
onAcceptCall: (incomingCallId: string, useVideo?: boolean) => void;
Expand All @@ -3393,7 +3385,7 @@ export interface IncomingCallStackProps {
tabIndex?: number;
}

// @beta
// @public
export type IncomingCallStackSelector = (state: CallClientState) => {
activeIncomingCalls: IncomingCallStackCall[];
removedIncomingCalls: IncomingCallStackCall[];
Expand Down Expand Up @@ -4831,7 +4823,7 @@ export interface TeamsCallAdapter extends CommonCallAdapter {

// @public
export type TeamsCallAdapterArgs = TeamsCallAdapterArgsCommon & {
locator: TeamsMeetingLinkLocator | /* @conditional-compile-remove(teams-adhoc-call) */ /* @conditional-compile-remove(PSTN-calls) */ CallParticipantsLocator | TeamsMeetingIdLocator;
locator: TeamsMeetingLinkLocator | /* @conditional-compile-remove(call-participants-locator) */ CallParticipantsLocator | TeamsMeetingIdLocator;
};

// @public
Expand All @@ -4847,12 +4839,12 @@ export interface TeamsCallingHandlers extends CommonCallingHandlers {
onStartCall: (participants: CommunicationIdentifier[], options?: StartCallOptions) => undefined | /* @conditional-compile-remove(teams-identity-support) */ TeamsCall;
}

// @beta
// @public
export type TeamsIncomingCallManagement = {
incomingCalls: ReadonlyArray<TeamsIncomingCall>;
};

// @beta
// @public
export interface TeamsIncomingCallState {
callEndReason?: CallEndReason;
callerInfo: CallerInfo;
Expand Down Expand Up @@ -5156,7 +5148,6 @@ export interface VideoGalleryRemoteParticipant extends VideoGalleryParticipant {
raisedHand?: RaisedHand;
reaction?: Reaction;
screenShareStream?: VideoGalleryStream;
// @beta
state?: ParticipantState;
}

Expand Down
Loading

0 comments on commit 31b6977

Please sign in to comment.