From cd5f2379b8a380512d61be01fccd41ccb6faf700 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Fri, 25 Oct 2024 10:46:50 -0400 Subject: [PATCH] if staging user tries to login to production (or vice versa), log them out --- lib/main.dart | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/main.dart b/lib/main.dart index 6be6edc91..846c34d23 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,6 @@ import 'package:collection/collection.dart'; import 'package:fluffychat/config/app_config.dart'; +import 'package:fluffychat/pangea/config/environment.dart'; import 'package:fluffychat/pangea/controllers/language_list_controller.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:fluffychat/pangea/utils/firebase_analytics.dart'; @@ -100,6 +101,18 @@ Future startGui(List clients, SharedPreferences store) async { await firstClient?.accountDataLoading; ErrorWidget.builder = (details) => FluffyChatErrorWidget(details); + + // #Pangea + // errors seems to happen a lot when users switch better production / staging + // while testing by accident. If the account is a production account but server is + // staging or vice versa, logout. + final isStagingUser = firstClient?.userID?.domain?.contains("staging"); + final isStagingServer = Environment.isStaging; + if (isStagingServer != isStagingUser) { + await firstClient?.logout(); + } + // Pangea# + runApp(FluffyChatApp(clients: clients, pincode: pin, store: store)); }