the js-sdk is making some of its APIs asynchronous, and adding an `initCrypto`
method which you have to call.
Particular methods we need to worry about are:
* `getStoredDevice`
* `getStoredDevicesForUser`
* `getEventSenderDeviceInfo`
* `isEventSenderVerified`
Allows users to send a text string via an alternative channel (like email
or SMS) which Riot can leverage to confirm that the signing keys match.
Effectively removes the tedium of checking keys until a better mechanism
is completed.
Signed-off-by: Kit Sczudlo <kit@kitscz.com>
Now that we have the room setting to enable encryption, the /encrypt command is
not only redundant, but confusing, since it's in conflict with the room
setting.
Plus a number of other tidyups:
* Fix /join to dispatch a view_room for the room alias
with the additional auto_join parameter
* Make RoomView automatically join the room if the auto_join
parameter is true and the user isn't already in it
* Tidy up RoomView's peeking code, also fixing
https://github.com/vector-im/vector-web/issues/1220
in react-sdk (although it still requires a synapse change
to actually fix, but react-sdk does 'the right thing').
* Remove duplication of usage text from /join command
* Amalgamate MatrixChat::_viewRoom's many, many parameters
into an object and sort out case consistency a little.
getFillText() serves to decouple the text displayed in the auto-complete list
via getText() and the text actually filled into the box via getFillText(). This
allows us to display command + args on the list but only fill the command part.
A Command class has been added to provide some structure when extracting the
command name and args. Manually tested and it works.