From ae1c1a56e6292558a3de4524fe974073ddd8547d Mon Sep 17 00:00:00 2001 From: 21pages Date: Mon, 14 Oct 2024 15:51:51 +0800 Subject: [PATCH] add missing code of last commit (#9646) Signed-off-by: 21pages --- flutter/lib/web/bridge.dart | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/flutter/lib/web/bridge.dart b/flutter/lib/web/bridge.dart index 9238d054a..d38f0f9cf 100644 --- a/flutter/lib/web/bridge.dart +++ b/flutter/lib/web/bridge.dart @@ -1210,11 +1210,18 @@ class RustdeskImpl { Future mainLoadAb({dynamic hint}) { Completer completer = Completer(); + Future timeoutFuture = completer.future.timeout( + Duration(seconds: 2), + onTimeout: () { + completer.completeError(TimeoutException('Load ab timed out')); + return 'Timeout'; + }, + ); js.context["onLoadAbFinished"] = (String s) { completer.complete(s); }; js.context.callMethod('setByName', ['load_ab']); - return completer.future; + return timeoutFuture; } Future mainSaveGroup({required String json, dynamic hint}) { @@ -1228,11 +1235,18 @@ class RustdeskImpl { Future mainLoadGroup({dynamic hint}) { Completer completer = Completer(); + Future timeoutFuture = completer.future.timeout( + Duration(seconds: 2), + onTimeout: () { + completer.completeError(TimeoutException('Load group timed out')); + return 'Timeout'; + }, + ); js.context["onLoadGroupFinished"] = (String s) { completer.complete(s); }; js.context.callMethod('setByName', ['load_group']); - return completer.future; + return timeoutFuture; } Future sessionSendPointer(