diff --git a/lib/widgets/matrix.dart b/lib/widgets/matrix.dart index 03e6f132..d16f08d8 100644 --- a/lib/widgets/matrix.dart +++ b/lib/widgets/matrix.dart @@ -368,6 +368,13 @@ class MatrixState extends State with WidgetsBindingObserver { }); onLoginStateChanged[name] ??= c.onLoginStateChanged.stream.listen((state) { final loggedInWithMultipleClients = widget.clients.length > 1; + if (state != LoginState.loggedIn) { + _cancelSubs(c.clientName); + widget.router.currentState.to( + '/rooms', + queryParameters: widget.router.currentState.queryParameters, + ); + } if (loggedInWithMultipleClients) { // TODO: display a nicer toast showOkAlertDialog(