diff --git a/lib/pages/homeserver_picker/homeserver_picker.dart b/lib/pages/homeserver_picker/homeserver_picker.dart index d0535d77c..95402306b 100644 --- a/lib/pages/homeserver_picker/homeserver_picker.dart +++ b/lib/pages/homeserver_picker/homeserver_picker.dart @@ -73,12 +73,18 @@ class HomeserverPickerController extends State { ); } - tryCheckHomeserverActionWithoutCooldown([_]) { + void tryCheckHomeserverActionWithoutCooldown([_]) { _checkHomeserverCooldown?.cancel(); _lastCheckedUrl = null; checkHomeserverAction(); } + void onSubmitted([_]) { + if (supportsSso) return ssoLoginAction(); + if (supportsPasswordLogin) return login(); + return tryCheckHomeserverActionWithoutCooldown(); + } + /// Starts an analysis of the given homeserver. It uses the current domain and /// makes sure that it is prefixed with https. Then it searches for the /// well-known information and forwards to the login page depending on the diff --git a/lib/pages/homeserver_picker/homeserver_picker_view.dart b/lib/pages/homeserver_picker/homeserver_picker_view.dart index 4cd02cdaa..1edfe1881 100644 --- a/lib/pages/homeserver_picker/homeserver_picker_view.dart +++ b/lib/pages/homeserver_picker/homeserver_picker_view.dart @@ -137,10 +137,7 @@ class HomeserverPickerView extends StatelessWidget { TextField( onChanged: controller.tryCheckHomeserverActionWithCooldown, - onEditingComplete: controller - .tryCheckHomeserverActionWithoutCooldown, - onSubmitted: controller - .tryCheckHomeserverActionWithoutCooldown, + onSubmitted: controller.onSubmitted, onTap: controller.tryCheckHomeserverActionWithCooldown, controller: controller.homeserverController,