Skip to content

Commit

Permalink
Web password source (rustdesk#9618)
Browse files Browse the repository at this point in the history
* ensure window init finish

Signed-off-by: 21pages <[email protected]>

* web password source

Signed-off-by: 21pages <[email protected]>

---------

Signed-off-by: 21pages <[email protected]>
  • Loading branch information
21pages authored Oct 11, 2024
1 parent 22c84bb commit 97f02ed
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 10 deletions.
2 changes: 1 addition & 1 deletion flutter/lib/common.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2383,7 +2383,7 @@ connect(BuildContext context, String id,
),
);
} else {
if (isWebDesktop) {
if (isWeb) {
Navigator.push(
context,
MaterialPageRoute(
Expand Down
2 changes: 1 addition & 1 deletion flutter/lib/models/model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ class FfiModel with ChangeNotifier {
} else if (name == 'plugin_option') {
handleOption(evt);
} else if (name == "sync_peer_hash_password_to_personal_ab") {
if (desktopType == DesktopType.main) {
if (desktopType == DesktopType.main || isWeb) {
final id = evt['id'];
final hash = evt['hash'];
if (id != null && hash != null) {
Expand Down
6 changes: 6 additions & 0 deletions flutter/lib/models/web_model.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// ignore_for_file: avoid_web_libraries_in_flutter

import 'dart:convert';
import 'dart:js_interop';
import 'dart:typed_data';
import 'dart:js';
import 'dart:html';
Expand Down Expand Up @@ -107,6 +108,10 @@ class PlatformFFI {
sessionId: sessionId, display: display, ptr: ptr);

Future<void> init(String appType) async {
Completer completer = Completer();
context["onInitFinished"] = () {
completer.complete();
};
context.callMethod('init');
version = getByName('version');
window.onContextMenu.listen((event) {
Expand All @@ -121,6 +126,7 @@ class PlatformFFI {
print('json.decode fail(): $e');
}
};
return completer.future;
}

void setEventCallback(void Function(Map<String, dynamic>) fun) {
Expand Down
22 changes: 14 additions & 8 deletions flutter/lib/web/bridge.dart
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,11 @@ class RustdeskImpl {
dynamic hint}) {
return js.context.callMethod('setByName', [
'session_add_sync',
jsonEncode({'id': id, 'password': password})
jsonEncode({
'id': id,
'password': password,
'is_shared_password': isSharedPassword
})
]);
}

Expand Down Expand Up @@ -1118,7 +1122,8 @@ class RustdeskImpl {
}

Future<void> mainRemovePeer({required String id, dynamic hint}) {
return Future(() => js.context.callMethod('setByName', ['remove', id]));
return Future(
() => js.context.callMethod('setByName', ['remove_peer', id]));
}

bool mainHasHwcodec({dynamic hint}) {
Expand Down Expand Up @@ -1146,27 +1151,28 @@ class RustdeskImpl {
}

Future<void> mainSaveAb({required String json, dynamic hint}) {
throw UnimplementedError();
return Future(() => js.context.callMethod('setByName', ['save_ab', json]));
}

Future<void> mainClearAb({dynamic hint}) {
throw UnimplementedError();
return Future(() => js.context.callMethod('setByName', ['clear_ab']));
}

Future<String> mainLoadAb({dynamic hint}) {
throw UnimplementedError();
return Future(() => js.context.callMethod('getByName', ['load_ab']));
}

Future<void> mainSaveGroup({required String json, dynamic hint}) {
throw UnimplementedError();
return Future(
() => js.context.callMethod('setByName', ['save_group', json]));
}

Future<void> mainClearGroup({dynamic hint}) {
throw UnimplementedError();
return Future(() => js.context.callMethod('setByName', ['clear_group']));
}

Future<String> mainLoadGroup({dynamic hint}) {
throw UnimplementedError();
return Future(() => js.context.callMethod('getByName', ['load_group']));
}

Future<void> sessionSendPointer(
Expand Down

0 comments on commit 97f02ed

Please sign in to comment.