Commit Graph

11 Commits (c2192a78bce9ae9f328087bb566c98839643e533)

Author SHA1 Message Date
David Baker f1cd086ae2 Cache virtual/native room mappings when they're created
Otherwise we look up the mapping immediately afterwards and the
remote echo of the account data hasn't come back yet, so we get
nothing.

Fixes "You're already in a call with this person" bug with virtual
rooms.
2021-06-15 16:27:18 +01:00
David Baker 2c4fa73a45 Map phone number lookup results to their native rooms
When dialing a phone number, also look to see if there's a corresponding
native user for the resulting user, and if so, go to the native room
for that user.
2021-06-02 17:39:13 +01:00
David Baker 59c5ab31de Support MSC3086 asserted identity 2021-04-19 20:30:51 +01:00
Michael Telatynski e6370a970b Tweak call handler stuff to not explode the room list on unsupported servers 2021-03-09 14:03:58 +00:00
David Baker 648295e26b Oops, we still used this cache for new incoming virtual rooms 2021-02-17 19:00:21 +00:00
David Baker 6130bdf0d2 Use creation content to signal virtual-ness
This makes things a lot simpler.
2021-02-17 18:51:21 +00:00
David Baker 0b574327d7
More typo
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-02-15 15:05:16 +00:00
David Baker 554dfdb6bf
Typo
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-02-15 15:05:01 +00:00
David Baker 196507a730 VoIP virtual rooms, mk II
Does a thirdparty protocol lookup to the homeserver to get the
corresponding native/virtual user for a matrix ID. Stores the
mappings in room account data. Involves some slightly nasty workarounds
for that fact that room account data has no local echo.
2021-02-12 20:55:54 +00:00
David Baker ba45b47240 Oops, the tests won't work if we don't export the functions 2021-01-21 22:42:12 +00:00
David Baker 0a90c982c7 Add VoIP user mapper
The accompanying element-web PR with the config documentation should
explain what this is & why. Internally, this breaks the assumption
that call.roomId is the room that the call appears in for the user.
call.roomId may now be a 'virtual' room while the react SDK actually
displays it in a different room. React SDK always stores the calls
under the user-facing rooms, and provides a function to get the
user-facing room for a given call.
2021-01-21 19:20:35 +00:00