matrix-nio
matrix-nio copied to clipboard
Incompatibility with Element and other SDKs due to MSC2746
Apparently nio is not compatible with Element, because of mismatch in the type of "version" field of m.call.* events. I have asked around at #matrix-specs and was told that Element (and allegedly all other SDKs besides nio) has merged MSC2746.
Any thoughts on this?
PS. I did submit a PR about this couple days back, but closed it after I realised it was not any good, see discussion with HarHarLinks there.
Example works with Element for me, only tested with unencrypted tx/rx from room.
Do you mean the original example? What version of Element on what platform have you tested it with?
First example from: https://matrix-nio.readthedocs.io/en/latest/examples.html
works from Windows/linux, it's picky about creadential format
srv = "https://matrix.org"
roomID = "!xx:matrix.org"
usr = "@xx:matrix.org"
pwd = "xx"
My bug report / PR is specific to the way matrix-nio handles m.call.* messages, which are generated only during video/audio calls. Does the example you refer place / receive any calls? Could you please give an exact link to the example you refer to?
My bad, I only tried it with text based.
I also encountered this problem after attaching a callback to a CallInviteEvent and not catching any events. The issue is that nio tags the events as bad events, due to a type mismatch of the version parameter. Current version of Matrix Element uses string type for the version parameter. According to MSC2746 the version parameter should treat numeric values as if they had version
== "1"
.
specifically here the schema only accepts numeric types, producing a bad event.
@abbbe did you find a solution for this?
I haven't looked into this particular MSC/incompatibilities in our current behavior. If there's still a PR to be made, it'd absolutely be welcome!