fix: Do not call matrix.of inside of matrix.dart

This commit is contained in:
Christian Pauly 2021-09-18 12:18:16 +02:00
parent a32ce35347
commit 73c7ef9840

View File

@ -79,14 +79,13 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
}
Client createLoginClient() {
final multiAccount = Matrix.of(context).client.isLogged();
final client = multiAccount
? ClientManager.createClient(
Matrix.of(context).client.generateUniqueTransactionId())
: Matrix.of(context).client;
final multiAccount = client.isLogged();
final newClient = multiAccount
? ClientManager.createClient(client.generateUniqueTransactionId())
: client;
if (multiAccount) {
// Add to client list
client.onLoginStateChanged.stream
newClient.onLoginStateChanged.stream
.where((l) => l == LoginState.loggedIn)
.first
.then((_) {
@ -95,7 +94,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
_registerSubs(client.clientName);
});
}
return client;
return newClient;
}
Client getClientByName(String name) => widget.clients
@ -204,14 +203,12 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
return uiaRequest
.cancel(Exception(L10n.of(context).serverRequiresEmail));
}
final clientSecret =
Matrix.of(context).client.generateUniqueTransactionId();
final currentThreepidCreds =
await Matrix.of(context).client.requestTokenToRegisterEmail(
clientSecret,
emailInput.single,
0,
);
final clientSecret = client.generateUniqueTransactionId();
final currentThreepidCreds = await client.requestTokenToRegisterEmail(
clientSecret,
emailInput.single,
0,
);
final auth = AuthenticationThreePidCreds(
session: uiaRequest.session,
type: AuthenticationTypes.emailIdentity,