From 1d507226f326caf14cacb99725202cf012e1f17c Mon Sep 17 00:00:00 2001 From: Gabby Gurdin Date: Thu, 18 Apr 2024 14:30:04 -0400 Subject: [PATCH] don't change add to space toggle value if error when trying to add --- lib/pangea/controllers/pangea_controller.dart | 1 + lib/pangea/widgets/class/add_space_toggles.dart | 8 ++++++++ lib/widgets/matrix.dart | 10 ++++++++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/pangea/controllers/pangea_controller.dart b/lib/pangea/controllers/pangea_controller.dart index a258d107a..7f463713d 100644 --- a/lib/pangea/controllers/pangea_controller.dart +++ b/lib/pangea/controllers/pangea_controller.dart @@ -232,6 +232,7 @@ class PangeaController { if (space.canInvite && !userIds.contains(BotName.byEnvironment)) { try { await space.invite(BotName.byEnvironment); + await space.postLoad(); await space.setPower( BotName.byEnvironment, ClassDefaultValues.powerLevelOfAdmin, diff --git a/lib/pangea/widgets/class/add_space_toggles.dart b/lib/pangea/widgets/class/add_space_toggles.dart index 9103bad16..307db42ef 100644 --- a/lib/pangea/widgets/class/add_space_toggles.dart +++ b/lib/pangea/widgets/class/add_space_toggles.dart @@ -2,6 +2,7 @@ import 'package:collection/collection.dart'; import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; +import 'package:fluffychat/utils/localized_exception_extension.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:future_loading_dialog/future_loading_dialog.dart'; @@ -134,6 +135,13 @@ class AddToSpaceState extends State { future: () => add ? _addSingleSpace(room!.id, possibleParent) : possibleParent.removeSpaceChild(room!.id), + onError: (e) { + // if error occurs, do not change value of toggle + add = !add; + return (e as Object?)?.toLocalizedString(context) ?? + e?.toString() ?? + L10n.of(context)!.oopsSomethingWentWrong; + }, ); } diff --git a/lib/widgets/matrix.dart b/lib/widgets/matrix.dart index 665528b49..afe470a7e 100644 --- a/lib/widgets/matrix.dart +++ b/lib/widgets/matrix.dart @@ -268,8 +268,14 @@ class MatrixState extends State with WidgetsBindingObserver { WidgetsBinding.instance.addPostFrameCallback((_) { LoadingDialog.defaultTitle = L10n.of(context)!.loadingPleaseWait; LoadingDialog.defaultBackLabel = L10n.of(context)!.close; - LoadingDialog.defaultOnError = - (e) => (e as Object?)!.toLocalizedString(context); + // #Pangea + // LoadingDialog.defaultOnError = + // (e) => (e as Object?)!.toLocalizedString(context); + LoadingDialog.defaultOnError = (e) => + (e as Object?)?.toLocalizedString(context) ?? + e?.toString() ?? + L10n.of(context)!.oopsSomethingWentWrong; + // Pangea# }); }