Skip to content
Snippets Groups Projects
Commit c5698935 authored by Timo's avatar Timo
Browse files

make LegacyMembershipManger local variables consistent with config

parent 85a27866
Branches
No related tags found
No related merge requests found
...@@ -63,31 +63,31 @@ export class LegacyMembershipManager implements IMembershipManager { ...@@ -63,31 +63,31 @@ export class LegacyMembershipManager implements IMembershipManager {
private updateCallMembershipRunning = false; private updateCallMembershipRunning = false;
private needCallMembershipUpdate = 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. * this stores a delay that the server does allow.
*/ */
private membershipServerSideExpiryTimeoutOverride?: number; private delayedLeaveEventDelayMsOverride?: number;
private disconnectDelayId: string | undefined; private disconnectDelayId: string | undefined;
private get callMemberEventRetryDelayMinimum(): number { private get networkErrorLocalRetryMs(): number {
return this.joinConfig?.networkErrorLocalRetryMs ?? this.joinConfig?.callMemberEventRetryDelayMinimum ?? 3_000; return this.joinConfig?.networkErrorLocalRetryMs ?? this.joinConfig?.callMemberEventRetryDelayMinimum ?? 3_000;
} }
private get membershipExpiryTimeout(): number { private get membershipEventExpiryMs(): number {
return ( return (
this.joinConfig?.membershipEventExpiryMs ?? this.joinConfig?.membershipEventExpiryMs ??
this.joinConfig?.membershipExpiryTimeout ?? this.joinConfig?.membershipExpiryTimeout ??
DEFAULT_EXPIRE_DURATION DEFAULT_EXPIRE_DURATION
); );
} }
private get membershipServerSideExpiryTimeout(): number { private get delayedLeaveEventDelayMs(): number {
return ( return (
this.membershipServerSideExpiryTimeoutOverride ?? this.delayedLeaveEventDelayMsOverride ??
this.joinConfig?.delayedLeaveEventDelayMs ?? this.joinConfig?.delayedLeaveEventDelayMs ??
this.joinConfig?.membershipServerSideExpiryTimeout ?? this.joinConfig?.membershipServerSideExpiryTimeout ??
8_000 8_000
); );
} }
private get membershipKeepAlivePeriod(): number { private get delayedLeaveEventRestartMs(): number {
return this.joinConfig?.delayedLeaveEventRestartMs ?? this.joinConfig?.membershipKeepAlivePeriod ?? 5_000; return this.joinConfig?.delayedLeaveEventRestartMs ?? this.joinConfig?.membershipKeepAlivePeriod ?? 5_000;
} }
...@@ -138,7 +138,7 @@ export class LegacyMembershipManager implements IMembershipManager { ...@@ -138,7 +138,7 @@ export class LegacyMembershipManager implements IMembershipManager {
public join(fociPreferred: Focus[], fociActive?: Focus): void { public join(fociPreferred: Focus[], fociActive?: Focus): void {
this.ownFocusActive = fociActive; this.ownFocusActive = fociActive;
this.ownFociPreferred = fociPreferred; 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 // 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. // function returning doesn't really mean anything at all.
void this.triggerCallMembershipEventUpdate(); void this.triggerCallMembershipEventUpdate();
...@@ -262,7 +262,7 @@ export class LegacyMembershipManager implements IMembershipManager { ...@@ -262,7 +262,7 @@ export class LegacyMembershipManager implements IMembershipManager {
this.client._unstable_sendDelayedStateEvent( this.client._unstable_sendDelayedStateEvent(
this.room.roomId, this.room.roomId,
{ {
delay: this.membershipServerSideExpiryTimeout, delay: this.delayedLeaveEventDelayMs,
}, },
EventType.GroupCallMemberPrefix, EventType.GroupCallMemberPrefix,
{}, // leave event {}, // leave event
...@@ -279,9 +279,9 @@ export class LegacyMembershipManager implements IMembershipManager { ...@@ -279,9 +279,9 @@ export class LegacyMembershipManager implements IMembershipManager {
const maxDelayAllowed = e.data["org.matrix.msc4140.max_delay"]; const maxDelayAllowed = e.data["org.matrix.msc4140.max_delay"];
if ( if (
typeof maxDelayAllowed === "number" && typeof maxDelayAllowed === "number" &&
this.membershipServerSideExpiryTimeout > maxDelayAllowed this.delayedLeaveEventDelayMs > maxDelayAllowed
) { ) {
this.membershipServerSideExpiryTimeoutOverride = maxDelayAllowed; this.delayedLeaveEventDelayMsOverride = maxDelayAllowed;
return prepareDelayedDisconnection(); return prepareDelayedDisconnection();
} }
} }
...@@ -351,7 +351,7 @@ export class LegacyMembershipManager implements IMembershipManager { ...@@ -351,7 +351,7 @@ export class LegacyMembershipManager implements IMembershipManager {
} }
logger.info("Sent updated call member event."); logger.info("Sent updated call member event.");
} catch (e) { } catch (e) {
const resendDelay = this.callMemberEventRetryDelayMinimum; const resendDelay = this.networkErrorLocalRetryMs;
logger.warn(`Failed to send call member event (retrying in ${resendDelay}): ${e}`); logger.warn(`Failed to send call member event (retrying in ${resendDelay}): ${e}`);
await sleep(resendDelay); await sleep(resendDelay);
await this.triggerCallMembershipEventUpdate(); await this.triggerCallMembershipEventUpdate();
...@@ -359,7 +359,7 @@ export class LegacyMembershipManager implements IMembershipManager { ...@@ -359,7 +359,7 @@ export class LegacyMembershipManager implements IMembershipManager {
} }
private scheduleDelayDisconnection(): void { 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> => { private readonly delayDisconnection = async (): Promise<void> => {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment