Skip to content

Conversation

toger5
Copy link
Contributor

@toger5 toger5 commented Oct 6, 2025

This PR changes the construction of the CallMembership object.
It will add an optional relatedEvent parameter which will store initial connect event for this call participation.

This is then used to fetch metadata (like application) and the origin_server_ts of the initial join event.

This requires that MatrixRTCSession.sessionMembershipsForSlot becomes async since it now also needs to fetch related events.

This change needs a bit of test adjustments and other places of the codebase need updating.

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).

@toger5 toger5 changed the title Toger5/use relation based call membership create ts [MatrixRTC] use relation based call membership create ts Oct 6, 2025
@toger5 toger5 force-pushed the toger5/use-relation-based-CallMembership-create-ts branch from 9e977fb to aa1cbe9 Compare October 7, 2025 13:20
Signed-off-by: Timo K <[email protected]>
Signed-off-by: Timo K <[email protected]>
Signed-off-by: Timo K <[email protected]>
@toger5 toger5 changed the title [MatrixRTC] use relation based call membership create ts [MatrixRTC] Use relation based call membership create_ts() Oct 7, 2025
@toger5 toger5 changed the title [MatrixRTC] Use relation based call membership create_ts() [MatrixRTC] Use relation based call membership to compute create_ts() Oct 7, 2025
Signed-off-by: Timo K <[email protected]>
Copy link
Contributor Author

@toger5 toger5 left a comment

Choose a reason for hiding this comment

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

What happens if two MatrixRTCSession.sessionMembershipsForSlot are running at the same time?
The second one could finish before the other.... Is this an issue?

@toger5 toger5 marked this pull request as ready for review October 7, 2025 18:25
@toger5 toger5 requested a review from a team as a code owner October 7, 2025 18:25
@toger5 toger5 requested review from BillCarsonFr and removed request for a team October 7, 2025 18:25
@robintown
Copy link
Member

@toger5 Is the diff meant to be as big as it is? I think I'm looking at a lot of lint fixes, or something.

@toger5
Copy link
Contributor Author

toger5 commented Oct 8, 2025

Is the diff meant to be as big as it is?
Yes the diff is meant to be this big. There is a very large amount of lines which add async and await

On top of this, the construct for callMembership has a signature change which requires a change in makeMockEvent.

before
new CallMembership(event, event.content, ....) now new CallMembership(event, relatedEvent,...)event.content will be aquired indirectly by reading event.getContent().relatedEvent` is new.

Base automatically changed from voip-team/multi-SFU to develop October 8, 2025 19:28
@sonarqubecloud sonarqubecloud bot requested a review from a team as a code owner October 8, 2025 19:28
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