[MatrixRTC] Use relation based call membership to compute `create_ts()`
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
- [x] Tests written for new code (and old code if feasible).
- [x] New or updated
public/exportedsymbols have accurate TSDoc documentation. - [x] Linter and other CI checks pass.
- [x] Sign-off given on the changes (see CONTRIBUTING.md).
@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.
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
asyncandawait
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.
Could we please be a little more mindful to reviewers, there's little point in reviewing something with so many CI failures given it'll need re-reviewing after fixing.
Converted it to draft. As it should be until ci is sorted. Sorry for the confusion/overhead.