Skip to content

Commit 844d001

Browse files
feat(plugin-meetings): display hint for anonymize display names (#4944)
Co-authored-by: Dominic Carrington <11217672+dominiccarrington@users.noreply.github.com>
1 parent ea9f0df commit 844d001

7 files changed

Lines changed: 26 additions & 0 deletions

File tree

packages/@webex/plugin-meetings/src/constants.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1094,6 +1094,9 @@ export const DISPLAY_HINTS = {
10941094
// AI
10951095
ATTENDEE_REQUEST_AI_ASSISTANT_ENABLED: 'ATTENDEE_REQUEST_AI_ASSISTANT_ENABLED',
10961096
ATTENDEE_REQUEST_AI_ASSISTANT_DECLINED_ALL: 'ATTENDEE_REQUEST_AI_ASSISTANT_DECLINED_ALL',
1097+
1098+
// Anonymous Display Names
1099+
ANONYMOUS_DISPLAY_NAMES_ENABLED: 'ANONYMOUS_DISPLAY_NAMES_ENABLED',
10971100
};
10981101

10991102
export const INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];

packages/@webex/plugin-meetings/src/meeting/in-meeting-actions.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ interface IInMeetingActions {
120120
canDisablePollingQA?: boolean;
121121
canAttendeeRequestAiAssistantEnabled?: boolean;
122122
isAttendeeRequestAiAssistantDeclinedAll?: boolean;
123+
isAnonymizeDisplayNamesEnabled?: boolean;
123124
}
124125

125126
/**
@@ -346,6 +347,8 @@ export default class InMeetingActions implements IInMeetingActions {
346347

347348
isAttendeeRequestAiAssistantDeclinedAll = null;
348349

350+
isAnonymizeDisplayNamesEnabled = null;
351+
349352
/**
350353
* Returns all meeting action options
351354
* @returns {Object}
@@ -460,6 +463,7 @@ export default class InMeetingActions implements IInMeetingActions {
460463
canDisablePollingQA: this.canDisablePollingQA,
461464
canAttendeeRequestAiAssistantEnabled: this.canAttendeeRequestAiAssistantEnabled,
462465
isAttendeeRequestAiAssistantDeclinedAll: this.isAttendeeRequestAiAssistantDeclinedAll,
466+
isAnonymizeDisplayNamesEnabled: this.isAnonymizeDisplayNamesEnabled,
463467
});
464468

465469
/**

packages/@webex/plugin-meetings/src/meeting/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4616,6 +4616,9 @@ export default class Meeting extends StatelessWebexPlugin {
46164616
),
46174617
isAttendeeRequestAiAssistantDeclinedAll:
46184618
MeetingUtil.attendeeRequestAiAssistantDeclinedAll(this.userDisplayHints),
4619+
isAnonymizeDisplayNamesEnabled: MeetingUtil.isAnonymizeDisplayNamesEnabled(
4620+
this.userDisplayHints
4621+
),
46194622
}) || changed;
46204623
}
46214624
if (changed) {

packages/@webex/plugin-meetings/src/meeting/util.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -945,6 +945,9 @@ const MeetingUtil = {
945945
attendeeRequestAiAssistantDeclinedAll: (displayHints = []) =>
946946
displayHints.includes(DISPLAY_HINTS.ATTENDEE_REQUEST_AI_ASSISTANT_DECLINED_ALL),
947947

948+
isAnonymizeDisplayNamesEnabled: (displayHints) =>
949+
displayHints.includes(DISPLAY_HINTS.ANONYMOUS_DISPLAY_NAMES_ENABLED),
950+
948951
selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => {
949952
if (!userPolicies) {
950953
return true;

packages/@webex/plugin-meetings/test/unit/spec/meeting/in-meeting-actions.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ describe('plugin-meetings', () => {
114114
canDisablePollingQA: null,
115115
canAttendeeRequestAiAssistantEnabled: null,
116116
isAttendeeRequestAiAssistantDeclinedAll: null,
117+
isAnonymizeDisplayNamesEnabled: null,
117118

118119
...expected,
119120
};
@@ -234,6 +235,7 @@ describe('plugin-meetings', () => {
234235
'canDisablePollingQA',
235236
'canAttendeeRequestAiAssistantEnabled',
236237
'isAttendeeRequestAiAssistantDeclinedAll',
238+
'isAnonymizeDisplayNamesEnabled',
237239
].forEach((key) => {
238240
it(`get and set for ${key} work as expected`, () => {
239241
const inMeetingActions = new InMeetingActions();

packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12550,6 +12550,7 @@ describe('plugin-meetings', () => {
1255012550
let showAutoEndMeetingWarningSpy;
1255112551
let canAttendeeRequestAiAssistantEnabledSpy;
1255212552
let attendeeRequestAiAssistantDeclinedAllSpy;
12553+
let isAnonymizeDisplayNamesEnabledSpy;
1255312554
// Due to import tree issues, hasHints must be stubed within the scope of the `it`.
1255412555

1255512556
beforeEach(() => {
@@ -12598,6 +12599,10 @@ describe('plugin-meetings', () => {
1259812599
MeetingUtil,
1259912600
'attendeeRequestAiAssistantDeclinedAll'
1260012601
);
12602+
isAnonymizeDisplayNamesEnabledSpy = sinon.spy(
12603+
MeetingUtil,
12604+
'isAnonymizeDisplayNamesEnabled'
12605+
);
1260112606
});
1260212607

1260312608
afterEach(() => {
@@ -12606,6 +12611,7 @@ describe('plugin-meetings', () => {
1260612611
showAutoEndMeetingWarningSpy.restore();
1260712612
canAttendeeRequestAiAssistantEnabledSpy.restore();
1260812613
attendeeRequestAiAssistantDeclinedAllSpy.restore();
12614+
isAnonymizeDisplayNamesEnabledSpy.restore();
1260912615
});
1261012616

1261112617
forEach(
@@ -13163,6 +13169,7 @@ describe('plugin-meetings', () => {
1316313169
meeting.roles
1316413170
);
1316513171
assert.calledWith(attendeeRequestAiAssistantDeclinedAllSpy, userDisplayHints);
13172+
assert.calledWith(isAnonymizeDisplayNamesEnabledSpy, userDisplayHints);
1316613173

1316713174
assert.calledWith(ControlsOptionsUtil.hasHints, {
1316813175
requiredHints: [DISPLAY_HINTS.MUTE_ALL],

packages/@webex/plugin-meetings/test/unit/spec/meeting/utils.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1175,6 +1175,10 @@ describe('plugin-meetings', () => {
11751175
{functionName: 'canSelectSpokenLanguages', displayHint: 'DISPLAY_NON_ENGLISH_ASR'},
11761176
{functionName: 'waitingForOthersToJoin', displayHint: 'WAITING_FOR_OTHERS'},
11771177
{functionName: 'showAutoEndMeetingWarning', displayHint: 'SHOW_AUTO_END_MEETING_WARNING'},
1178+
{
1179+
functionName: 'isAnonymizeDisplayNamesEnabled',
1180+
displayHint: 'ANONYMOUS_DISPLAY_NAMES_ENABLED',
1181+
},
11781182
].forEach(({functionName, displayHint}) => {
11791183
describe(functionName, () => {
11801184
it('works as expected', () => {

0 commit comments

Comments
 (0)