Skip to content

Commit e9444e3

Browse files
authored
Merge pull request #61 from internxt/handle_session_timeout
[PB-3892] Handle session timeout
2 parents 906ff88 + cbf36f9 commit e9444e3

4 files changed

Lines changed: 15 additions & 2 deletions

File tree

JitsiConferenceEvents.spec.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ describe( "/JitsiConferenceEvents members", () => {
2525
CONFERENCE_CREATED_TIMESTAMP,
2626
DTMF_SUPPORT_CHANGED,
2727
E2EE_SAS_AVAILABLE,
28+
E2EE_KEY_SYNC_FAILED,
29+
E2EE_KEY_SYNC_AFTER_TIMEOUT,
2830
ENCODE_TIME_STATS_RECEIVED,
2931
ENDPOINT_MESSAGE_RECEIVED,
3032
ENDPOINT_STATS_RECEIVED,
@@ -249,6 +251,8 @@ describe( "/JitsiConferenceEvents members", () => {
249251
expect( JitsiConferenceEvents.SILENT_STATUS_CHANGED ).toBe( 'conference.silentStatusChanged' );
250252
expect( JitsiConferenceEvents.REACTION_RECEIVED ).toBe( 'conference.reactionReceived' );
251253
expect( JitsiConferenceEvents.E2EE_SAS_AVAILABLE ).toBe( 'conference.e2ee.sas.available' );
254+
expect( JitsiConferenceEvents.E2EE_KEY_SYNC_FAILED ).toBe( 'conference.e2ee.key_sync_failed' );
255+
expect( JitsiConferenceEvents.E2EE_KEY_SYNC_AFTER_TIMEOUT ).toBe( 'conference.e2ee.key_sync_after_timeout' );
252256
} );
253257

254258
it( "unknown members", () => {

JitsiConferenceEvents.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,8 @@ export enum JitsiConferenceEvents {
188188
DTMF_SUPPORT_CHANGED = 'conference.dtmfSupportChanged',
189189

190190
E2EE_SAS_AVAILABLE = 'conference.e2ee.sas.available',
191+
E2EE_KEY_SYNC_FAILED = 'conference.e2ee.key_sync_failed',
192+
E2EE_KEY_SYNC_AFTER_TIMEOUT = 'conference.e2ee.key_sync_after_timeout',
191193

192194
/**
193195
* Indicates that the encode time stats for the local video sources has been received.
@@ -527,6 +529,8 @@ export const DISPLAY_NAME_CHANGED = JitsiConferenceEvents.DISPLAY_NAME_CHANGED;
527529
export const DOMINANT_SPEAKER_CHANGED = JitsiConferenceEvents.DOMINANT_SPEAKER_CHANGED;
528530
export const DTMF_SUPPORT_CHANGED = JitsiConferenceEvents.DTMF_SUPPORT_CHANGED;
529531
export const E2EE_SAS_AVAILABLE = JitsiConferenceEvents.E2EE_SAS_AVAILABLE;
532+
export const E2EE_KEY_SYNC_FAILED = JitsiConferenceEvents.E2EE_KEY_SYNC_FAILED;
533+
export const E2EE_KEY_SYNC_AFTER_TIMEOUT = JitsiConferenceEvents.E2EE_KEY_SYNC_AFTER_TIMEOUT;
530534
export const ENCODE_TIME_STATS_RECEIVED = JitsiConferenceEvents.ENCODE_TIME_STATS_RECEIVED;
531535
export const ENDPOINT_MESSAGE_RECEIVED = JitsiConferenceEvents.ENDPOINT_MESSAGE_RECEIVED;
532536
export const ENDPOINT_STATS_RECEIVED = JitsiConferenceEvents.ENDPOINT_STATS_RECEIVED;

modules/e2ee-internxt/ManagedKeyHandler.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,8 @@ export class ManagedKeyHandler extends Listenable {
280280
);
281281
return result;
282282
} catch (error) {
283+
this.conference.eventEmitter.emit(
284+
JitsiConferenceEvents.E2EE_KEY_SYNC_FAILED);
283285
this.log(
284286
"error",
285287
`Session initialization request timed out for ${pId}: ${error}`,
@@ -606,11 +608,14 @@ export class ManagedKeyHandler extends Listenable {
606608
if (requestPromise) {
607609
requestPromise.resolve();
608610
this._reqs.delete(pId);
609-
} else
611+
} else {
612+
this.conference.eventEmitter.emit(
613+
JitsiConferenceEvents.E2EE_KEY_SYNC_AFTER_TIMEOUT);
610614
this.log(
611615
"warn",
612616
`Session with ${pId} was established after reaching time out.`,
613617
);
618+
}
614619
break;
615620
}
616621
case OLM_MESSAGE_TYPES.ERROR: {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "lib-jitsi-meet",
3-
"version": "0.0.6-alpha",
3+
"version": "0.0.7-alpha",
44
"description": "JS library for accessing Jitsi server side deployments",
55
"repository": {
66
"type": "git",

0 commit comments

Comments
 (0)