Into a component that does Interactive Auth and a dialog that
wraps it, so we can do interactive auth not necessarily in a
dialog.
As a side effect:
* Put the buttons for each auth stage in the stage itself.
Some stages don't have submit buttons (and it's very possible
other stages may have other buttons entirely, like 'resend')
so it makes more sense for the buttons to live in the stage
components themselves. Plus it saves the slightly evil
calling-functions-on-react-children thing we were doing (and
indeed extending that to show the submit button at all).
* Give all BaseDialogs a cross in the top right to cancel. They
were all dismissable by clicking outside or pressing esc, so
this adds a more visually obvious way of dismissing them. Plus,
it means our InteractiveAuthDialog can have a way of canceling
the whole operation separate from buttons for the individual
stages.
Add Modal.createDialogAsync, which can be used to display asynchronously-loaded
React components. Also make EncryptedEventDialog use it as a handy
demonstration.
The idea here is to make a layer which sits around for as long as we have a
valid MatrixClient. Also it makes a plausible split for the render of
MatrixChat, even if they are much too tightly bound for now.
InteractiveAuthEntryComponents is not a single component and
doesn't really fit into the structure: ignore it, otherwise
we crash when loading the skin.
InteractiveAuthEntryComponents is not a single component and
doesn't really fit into the structure: ignore it, otherwise
we crash when loading the skin.
Pasting a list of addresses into the box will now pop up a dialog to confirm and show you the success / failure state of each address. It will also not die if it gets rate limited.
Fixes https://github.com/vector-im/vector-web/issues/1713
... hopefully fixing https://github.com/vector-im/vector-web/issues/1437 in the
process.
The idea here is that, when we remove a read-receipt from the DOM, we stash its
position in a map. Then, when the read-receipt appears again attached to
another event, we know where to start the transition.