Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Conversation

@robintown
Copy link
Member

@robintown robintown commented Aug 27, 2022

This is a refactoring of the video rooms code, with the goal of making it reusable for more than just video rooms (meaning, group calls and 1:1 calls as well), and greatly simplifying the task of integrating Element Call into the app as another call backend. To accomplish this, VideoChannelStore was renamed and split up into Call and CallStore, and all associated components have been updated to reflect this simpler architecture. All the pieces of the legacy 1:1 code have been renamed to 'LegacyCall', to reflect the fact that they're slated for eventual removal.

I recommend reviewing the individual commits rather than the overall diff.

Depends on element-hq/element-web#23158
Towards element-hq/element-web#22964

Checklist

  • Tests written for new code (and old code if feasible)
  • Linter and other CI checks pass

This change is marked as an internal change (Task), so will not be included in the changelog.

Adding a role to Tooltip was motivated by React Testing Library's
reliance on accessibility-related attributes to locate elements.
The ReadyWatchingStore constructor previously had a chance to
immediately call onReady, which was dangerous because it was potentially
calling the derived class's onReady at a point when the derived class
hadn't even finished construction yet. In normal usage, I guess this
never was a problem, but it was causing some of the tests I was writing
to crash. This is solved by separating out the onReady call into a start
method.
to reflect the fact that they're slated for removal, and to not clash
with the new Call code.
@robintown robintown added the T-Task Refactoring, enabling or disabling functionality, other engineering tasks label Aug 27, 2022
@robintown robintown requested a review from a team as a code owner August 27, 2022 05:07
Call is an abstract class that currently only has a Jitsi
implementation, but this will make it easy to later add an Element Call
implementation.
These are no longer used by the new Jitsi call implementation, and can
be removed.
Copy link
Contributor

@SimonBrandner SimonBrandner left a comment

Choose a reason for hiding this comment

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

This is looking really great! It's awesome to see the EC integration slowly taking shape!

@SimonBrandner SimonBrandner requested review from dbkr and removed request for dbkr and weeman1337 August 27, 2022 10:52
Copy link
Contributor

@SimonBrandner SimonBrandner left a comment

Choose a reason for hiding this comment

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

LGTM - thank you!!

Copy link
Member

@dbkr dbkr left a comment

Choose a reason for hiding this comment

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

I think this looks plausible, although for next time I'd definitely suggest doing renames, refactors and new functionality in separate PRs as the size of this PR makes it quite hard to review the new code.

@robintown robintown merged commit 0d6a550 into matrix-org:develop Aug 30, 2022
@robintown
Copy link
Member Author

Right, apologies for getting a little carried away. I was intending to at least separate the renaming changes at one point, but must've forgotten that was an option, I guess.

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

Labels

T-Task Refactoring, enabling or disabling functionality, other engineering tasks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants