-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adds toDevice capability to matrix transport #2174
Conversation
2d8a4b5
to
da173de
Compare
Codecov Report
@@ Coverage Diff @@
## master #2174 +/- ##
==========================================
+ Coverage 94.76% 94.79% +0.03%
==========================================
Files 156 156
Lines 6132 6170 +38
Branches 1146 1158 +12
==========================================
+ Hits 5811 5849 +38
+ Misses 259 258 -1
- Partials 62 63 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
1aa44ce
to
d13c94c
Compare
0e8a78f
to
27e7011
Compare
41f4af1
to
87734ee
Compare
df1fffb
to
69b4f26
Compare
69b4f26
to
1677040
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding this feature. I think it is a great addition. 🙃
Some epics have become way better to read. Good work to improve them! 💪
Disclaimer:
I stopped to read one of your commits. I was stating in its message sdk: better handle matrix rate-limit errors
. Why was this necessary (not required to write) and what is the higher level idea of your solution. This PR is huge. I barely have a chance to evaluate it without having an idea what your plan was. Therefore it is simply to big. Also I guess that not all of the changes where actually related to what the messages states. This makes it even harder. This might be okay to include such changes into the same commit, but usually you add then a paragraph in the body of the message to inform about it.
I think if we can improve on these messages for more complicated or just bigger changes, this will make PRs much more efficient. Reviewer can focus much better on the logic rather than understanding code.
It is again one of those reviews where I think the changes are good and many commits are totally clear and fine. But I can't provide an 100% approval.
I agree with Thore in that this is a huge chunk and hard to digest. I have a question about testing of those features: How is this big matrix of possible combinations tested? I'd expect (from the python codebase) to see a heavily parametrized test with two nodes on a matrix of the above features, testing that each combination works as expected. |
Thank you for submitting this pull request :)
Fixes #2195
Fixes #2204
Short description
Adds a protocol improvement which allows clients to advertise a new
toDevice
capability, and when both peers communicating through Matrix have it enabled, allows them to exchange messages without requiring room creation, invite logic and messages storing on server side.This implementation is backwards compatible, and clients fallback to old room-based message exchange if either isn't compatible or have set this new capability.
WebRTC events can also be exchanged through this type of messages since #2158 .
Includes fixes for other transport issues found while debugging issues above, which happened only on stressing scenarios like BF6.
Definition of Done
Steps to manually test the change (dApp)