diff --git a/packages/@webex/plugin-meetings/src/meeting/index.ts b/packages/@webex/plugin-meetings/src/meeting/index.ts index 8a5d0ed05f2..49f2b4e458a 100644 --- a/packages/@webex/plugin-meetings/src/meeting/index.ts +++ b/packages/@webex/plugin-meetings/src/meeting/index.ts @@ -5232,6 +5232,9 @@ export default class Meeting extends StatelessWebexPlugin { this.meetingFiniteStateMachine.join(); this.setupLocusMediaRequest(); + // @ts-ignore + this.webex.internal.device.meetingStarted(); + LoggerProxy.logger.log('Meeting:index#join --> Success'); Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_SUCCESS, { diff --git a/packages/@webex/plugin-meetings/src/meeting/util.ts b/packages/@webex/plugin-meetings/src/meeting/util.ts index 40159ddb8a9..a67fce6dd65 100644 --- a/packages/@webex/plugin-meetings/src/meeting/util.ts +++ b/packages/@webex/plugin-meetings/src/meeting/util.ts @@ -170,6 +170,8 @@ const MeetingUtil = { }, cleanUp: (meeting) => { + meeting.getWebexObject().internal.device.meetingEnded(); + meeting.breakouts.cleanUp(); meeting.simultaneousInterpretation.cleanUp(); meeting.locusMediaRequest = undefined; diff --git a/packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js b/packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js index 85b5bd30df5..fc9048a9a57 100644 --- a/packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js +++ b/packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js @@ -1605,6 +1605,7 @@ describe('plugin-meetings', () => { const result = await join; assert.calledOnce(MeetingUtil.joinMeeting); + assert.calledOnce(webex.internal.device.meetingStarted); assert.calledOnce(meeting.setLocus); assert.equal(result, joinMeetingResult); assert.calledWith(webex.internal.llm.on, 'online', meeting.handleLLMOnline); diff --git a/packages/@webex/plugin-meetings/test/unit/spec/meeting/utils.js b/packages/@webex/plugin-meetings/test/unit/spec/meeting/utils.js index f02c372960a..424846b1798 100644 --- a/packages/@webex/plugin-meetings/test/unit/spec/meeting/utils.js +++ b/packages/@webex/plugin-meetings/test/unit/spec/meeting/utils.js @@ -71,6 +71,7 @@ describe('plugin-meetings', () => { assert.calledOnce(meeting.updateLLMConnection); assert.calledOnce(meeting.breakouts.cleanUp); assert.calledOnce(meeting.simultaneousInterpretation.cleanUp); + assert.calledOnce(webex.internal.device.meetingEnded); }); it('do clean up on meeting object with LLM disabled', async () => { @@ -87,6 +88,7 @@ describe('plugin-meetings', () => { assert.notCalled(meeting.updateLLMConnection); assert.calledOnce(meeting.breakouts.cleanUp); assert.calledOnce(meeting.simultaneousInterpretation.cleanUp); + assert.calledOnce(webex.internal.device.meetingEnded); }); it('do clean up on meeting object with no config', async () => { @@ -102,6 +104,7 @@ describe('plugin-meetings', () => { assert.notCalled(meeting.updateLLMConnection); assert.calledOnce(meeting.breakouts.cleanUp); assert.calledOnce(meeting.simultaneousInterpretation.cleanUp); + assert.calledOnce(webex.internal.device.meetingEnded); }); }); diff --git a/packages/@webex/test-helper-mock-webex/src/index.js b/packages/@webex/test-helper-mock-webex/src/index.js index bfd92df62c3..255afe3742f 100644 --- a/packages/@webex/test-helper-mock-webex/src/index.js +++ b/packages/@webex/test-helper-mock-webex/src/index.js @@ -268,6 +268,8 @@ function makeWebex(options) { get: sinon.stub(), }, }, + meetingEnded: sinon.stub(), + meetingStarted: sinon.stub(), registered: true, register: sinon.stub().returns(Promise.resolve()), ipNetworkDetector: {