diff --git a/lib/pangea/activity_planner/activity_planner_builder.dart b/lib/pangea/activity_planner/activity_planner_builder.dart index acebff482..acdeb25f3 100644 --- a/lib/pangea/activity_planner/activity_planner_builder.dart +++ b/lib/pangea/activity_planner/activity_planner_builder.dart @@ -172,6 +172,7 @@ class ActivityPlannerBuilderState extends State { if (mounted) { setState(() { avatar = bytes; + imageURL = null; filename = photo.singleOrNull?.name; }); } diff --git a/lib/pangea/activity_suggestions/activity_suggestion_dialog.dart b/lib/pangea/activity_suggestions/activity_suggestion_dialog.dart index 0b3ffc8a6..4aa09c17e 100644 --- a/lib/pangea/activity_suggestions/activity_suggestion_dialog.dart +++ b/lib/pangea/activity_suggestions/activity_suggestion_dialog.dart @@ -56,22 +56,43 @@ class ActivitySuggestionDialogState extends State { : MediaQuery.of(context).size.width; Future _launchActivity() async { - if (widget.onLaunch != null) { - await widget.controller.updateImageURL(); - widget.onLaunch!.call(); - Navigator.of(context).pop(); - } else if (widget.controller.room != null && - !widget.controller.room!.isSpace) { - final resp = await showFutureLoadingDialog( - context: context, - future: widget.controller.launchToRoom, - ); - if (!resp.isError) { - context.go("/rooms/${widget.controller.room!.id}"); + try { + setState(() { + _loading = true; + _error = null; + }); + + if (widget.onLaunch != null) { + widget.onLaunch!.call(); Navigator.of(context).pop(); + } else if (widget.controller.room != null && + !widget.controller.room!.isSpace) { + final resp = await showFutureLoadingDialog( + context: context, + future: widget.controller.launchToRoom, + ); + if (!resp.isError) { + context.go("/rooms/${widget.controller.room!.id}"); + Navigator.of(context).pop(); + } + } else { + _setPageMode(_PageMode.roomSelection); + } + } catch (e, s) { + _error = e; + ErrorHandler.logError( + e: e, + s: s, + data: { + "request": widget.controller.updatedRequest.toJson(), + }, + ); + } finally { + if (mounted) { + setState(() { + _loading = false; + }); } - } else { - _setPageMode(_PageMode.roomSelection); } }