Skip to content

Conversation

@Half-Shot
Copy link
Contributor

Checklist

  • Tests written for new code (and old code if feasible).
  • New or updated public/exported symbols have accurate TSDoc documentation.
  • Linter and other CI checks pass.
  • Sign-off given on the changes (see CONTRIBUTING.md).

Comment on lines +279 to 290
case MembershipKind.RTC:
return data.rtc_transports[0];
case "session":
switch (data.focus_active.focus_selection) {
case "multi_sfu":
return data.foci_preferred[0];
case "oldest_membership":
if (CallMembership.equal(this, oldestMembership)) return data.foci_preferred[0];
if (oldestMembership !== undefined) return oldestMembership.getTransport(oldestMembership);
break;
case MembershipKind.Session:
if (data.focus_active.focus_selection === "oldest_membership") {
// For legacy events we only support "oldest_membership"
if (CallMembership.equal(this, oldestMembership)) return data.foci_preferred[0];
if (oldestMembership !== undefined) return oldestMembership.getTransport(oldestMembership);
}
break;
}
return undefined;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general the changes to the call membership are much more straight forward than what I anticipated. this seems to be the main functional change.

Is there anything else in the code that gets more complicated because of this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really, I only removed things which didn't break other files or ECall / EWeb. I think the conflicts with the other PRs may be high.

Comment on lines +373 to +383
const content = e.getContent<RtcMembershipData>();
// Ensure the slot ID of the membership matches the state
if (content.slot_id !== slotId) {
console.log("Invalid slot ID", content.slot_id, slotId);
return false;
}
if (content.application.type !== slotDescription.application) {
console.log("Invalid application.type", content.application.type, slotDescription.application);
return false;
}
return true;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this all covered by:

if (!deepCompare(membership.slotDescription, slotDescription))

which is done later?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants