mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-07-13 10:45:13 +03:00
fix: non-E2EE show dialog (#15514)
* fix: non-E2EE show dialog Signed-off-by: fufesou <linlong1266@gmail.com> * fix: build web, bridge Signed-off-by: fufesou <linlong1266@gmail.com> * fix: direct IP access, do not snow non-E2EE dialog Signed-off-by: fufesou <linlong1266@gmail.com> * fix: non E2EE dialog, update contents Signed-off-by: fufesou <linlong1266@gmail.com> * fix: non-E2EE, show dialog, port forward Signed-off-by: fufesou <linlong1266@gmail.com> * fix: non-E2EE dialog, port forward, ignore direct IP access Signed-off-by: fufesou <linlong1266@gmail.com> * fix: non-E2EE is_direct_ip_access() Signed-off-by: fufesou <linlong1266@gmail.com> * Simple refactor Signed-off-by: fufesou <linlong1266@gmail.com> * fix: non-E2EE dialog, port forward, close socket on disconnect Signed-off-by: fufesou <linlong1266@gmail.com> * fix: non-E2EE dialog, incorrect reuse of Data::Close Signed-off-by: fufesou <linlong1266@gmail.com> --------- Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
@@ -1185,6 +1185,48 @@ void msgBox(SessionID sessionId, String type, String title, String text,
|
||||
VoidCallback? onSubmit,
|
||||
int? submitTimeout}) {
|
||||
dialogManager.dismissAll();
|
||||
if (type.contains('insecure-connection')) {
|
||||
Future<void> closeSession() async {
|
||||
await bind.sessionSetCommon(
|
||||
sessionId: sessionId,
|
||||
key: 'continue-insecure-connection',
|
||||
value: 'N',
|
||||
);
|
||||
dialogManager.dismissAll();
|
||||
closeConnection();
|
||||
}
|
||||
|
||||
void continueSession() {
|
||||
unawaited(
|
||||
bind.sessionSetCommon(
|
||||
sessionId: sessionId,
|
||||
key: 'continue-insecure-connection',
|
||||
value: 'Y',
|
||||
),
|
||||
);
|
||||
dialogManager.dismissAll();
|
||||
}
|
||||
|
||||
dialogManager.show(
|
||||
(setState, close, context) => CustomAlertDialog(
|
||||
title: null,
|
||||
content: SelectionArea(child: msgboxContent(type, title, text)),
|
||||
actions: [
|
||||
dialogButton(
|
||||
'Continue',
|
||||
onPressed: continueSession,
|
||||
isOutline: true,
|
||||
),
|
||||
dialogButton('Disconnect', onPressed: closeSession),
|
||||
],
|
||||
onSubmit: closeSession,
|
||||
onCancel: closeSession,
|
||||
),
|
||||
tag: '$sessionId-$type-$title-$text-$link',
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
List<Widget> buttons = [];
|
||||
bool hasOk = false;
|
||||
submit() {
|
||||
|
||||
@@ -1914,6 +1914,15 @@ class RustdeskImpl {
|
||||
throw UnimplementedError("sessionHandleScreenshot");
|
||||
}
|
||||
|
||||
Future<void> sessionSetCommon(
|
||||
{required UuidValue sessionId, required String key, required String value, dynamic hint}) {
|
||||
js.context.callMethod('setByName', [
|
||||
'common',
|
||||
jsonEncode({'name': key, 'value': value})
|
||||
]);
|
||||
return Future.value();
|
||||
}
|
||||
|
||||
String? sessionGetCommonSync(
|
||||
{required UuidValue sessionId,
|
||||
required String key,
|
||||
|
||||
Reference in New Issue
Block a user