diff --git a/src/matrixrtc/LegacyMembershipManager.ts b/src/matrixrtc/LegacyMembershipManager.ts index 47b92b5ccb5370b207e44b4154f58950a9aa062e..c2bd42b8dc32a523417b9f6435165057c3a501d2 100644 --- a/src/matrixrtc/LegacyMembershipManager.ts +++ b/src/matrixrtc/LegacyMembershipManager.ts @@ -63,31 +63,31 @@ export class LegacyMembershipManager implements IMembershipManager { private updateCallMembershipRunning = false; private needCallMembershipUpdate = false; /** - * If the server disallows the configured {@link membershipServerSideExpiryTimeout}, + * If the server disallows the configured {@link delayedLeaveEventDelayMs}, * this stores a delay that the server does allow. */ - private membershipServerSideExpiryTimeoutOverride?: number; + private delayedLeaveEventDelayMsOverride?: number; private disconnectDelayId: string | undefined; - private get callMemberEventRetryDelayMinimum(): number { + private get networkErrorLocalRetryMs(): number { return this.joinConfig?.networkErrorLocalRetryMs ?? this.joinConfig?.callMemberEventRetryDelayMinimum ?? 3_000; } - private get membershipExpiryTimeout(): number { + private get membershipEventExpiryMs(): number { return ( this.joinConfig?.membershipEventExpiryMs ?? this.joinConfig?.membershipExpiryTimeout ?? DEFAULT_EXPIRE_DURATION ); } - private get membershipServerSideExpiryTimeout(): number { + private get delayedLeaveEventDelayMs(): number { return ( - this.membershipServerSideExpiryTimeoutOverride ?? + this.delayedLeaveEventDelayMsOverride ?? this.joinConfig?.delayedLeaveEventDelayMs ?? this.joinConfig?.membershipServerSideExpiryTimeout ?? 8_000 ); } - private get membershipKeepAlivePeriod(): number { + private get delayedLeaveEventRestartMs(): number { return this.joinConfig?.delayedLeaveEventRestartMs ?? this.joinConfig?.membershipKeepAlivePeriod ?? 5_000; } @@ -138,7 +138,7 @@ export class LegacyMembershipManager implements IMembershipManager { public join(fociPreferred: Focus[], fociActive?: Focus): void { this.ownFocusActive = fociActive; this.ownFociPreferred = fociPreferred; - this.relativeExpiry = this.membershipExpiryTimeout; + this.relativeExpiry = this.membershipEventExpiryMs; // We don't wait for this, mostly because it may fail and schedule a retry, so this // function returning doesn't really mean anything at all. void this.triggerCallMembershipEventUpdate(); @@ -262,7 +262,7 @@ export class LegacyMembershipManager implements IMembershipManager { this.client._unstable_sendDelayedStateEvent( this.room.roomId, { - delay: this.membershipServerSideExpiryTimeout, + delay: this.delayedLeaveEventDelayMs, }, EventType.GroupCallMemberPrefix, {}, // leave event @@ -279,9 +279,9 @@ export class LegacyMembershipManager implements IMembershipManager { const maxDelayAllowed = e.data["org.matrix.msc4140.max_delay"]; if ( typeof maxDelayAllowed === "number" && - this.membershipServerSideExpiryTimeout > maxDelayAllowed + this.delayedLeaveEventDelayMs > maxDelayAllowed ) { - this.membershipServerSideExpiryTimeoutOverride = maxDelayAllowed; + this.delayedLeaveEventDelayMsOverride = maxDelayAllowed; return prepareDelayedDisconnection(); } } @@ -351,7 +351,7 @@ export class LegacyMembershipManager implements IMembershipManager { } logger.info("Sent updated call member event."); } catch (e) { - const resendDelay = this.callMemberEventRetryDelayMinimum; + const resendDelay = this.networkErrorLocalRetryMs; logger.warn(`Failed to send call member event (retrying in ${resendDelay}): ${e}`); await sleep(resendDelay); await this.triggerCallMembershipEventUpdate(); @@ -359,7 +359,7 @@ export class LegacyMembershipManager implements IMembershipManager { } private scheduleDelayDisconnection(): void { - this.memberEventTimeout = setTimeout(() => void this.delayDisconnection(), this.membershipKeepAlivePeriod); + this.memberEventTimeout = setTimeout(() => void this.delayDisconnection(), this.delayedLeaveEventRestartMs); } private readonly delayDisconnection = async (): Promise<void> => {