diff --git a/app/lib/pages/progress_page.dart b/app/lib/pages/progress_page.dart index b2abf57e..99d666f3 100644 --- a/app/lib/pages/progress_page.dart +++ b/app/lib/pages/progress_page.dart @@ -204,6 +204,18 @@ class _ProgressPageState extends State with Refena { final SessionState? commonSessionState = receiveSession ?? sendSession; if (commonSessionState == null) { + // The session no longer exists, e.g. a multi-send session that finished successfully + // in background gets removed while this page is still open. + WidgetsBinding.instance.addPostFrameCallback((_) { + if (!mounted) { + return; + } + if (ref.read(serverProvider)?.webUpload == true) { + context.global.dispatch(NavigateAction.popUntil()); + } else { + context.global.dispatch(NavigateAction.popUntilRoot()); + } + }); return Scaffold( body: Container(), );