diff --git a/lib/pages/chat_list/chat_list.dart b/lib/pages/chat_list/chat_list.dart index 75181bf04..87d97c17b 100644 --- a/lib/pages/chat_list/chat_list.dart +++ b/lib/pages/chat_list/chat_list.dart @@ -10,6 +10,7 @@ import 'package:go_router/go_router.dart'; import 'package:matrix/matrix.dart' as sdk; import 'package:matrix/matrix.dart'; import 'package:receive_sharing_intent/receive_sharing_intent.dart'; +import 'package:universal_html/html.dart' as html; import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/l10n/l10n.dart'; @@ -742,6 +743,16 @@ class ChatListController extends State ), ); } + + final uri = Uri.parse(html.window.location.href); + final userID = uri.queryParameters['direct']; + if (userID != null) { + final roomID = await client.startDirectChat( + userID, + enableEncryption: false, + ); + router.go('/rooms/$roomID'); + } } void setActiveFilter(ActiveFilter filter) {