feat: Handle matrix: URIs as per MSC2312
This commit is contained in:
parent
c65066e127
commit
03058d44e6
15 changed files with 41 additions and 101 deletions
|
|
@ -4,7 +4,6 @@ import 'package:fluffychat/utils/fluffy_share.dart';
|
|||
import 'package:fluffychat/views/chat_permissions_settings.dart';
|
||||
import 'package:flushbar/flushbar_helper.dart';
|
||||
import 'package:famedlysdk/famedlysdk.dart';
|
||||
import 'package:famedlysdk/matrix_api.dart';
|
||||
|
||||
import 'package:file_picker_cross/file_picker_cross.dart';
|
||||
import 'package:fluffychat/components/adaptive_page_layout.dart';
|
||||
|
|
|
|||
|
|
@ -105,7 +105,9 @@ class _ChatListState extends State<ChatList> {
|
|||
if (Navigator.of(context).canPop()) {
|
||||
Navigator.of(context).popUntil((r) => r.isFirst);
|
||||
}
|
||||
if (text.startsWith(AppConfig.inviteLinkPrefix)) {
|
||||
if (text.toLowerCase().startsWith(AppConfig.inviteLinkPrefix) ||
|
||||
(text.toLowerCase().startsWith(AppConfig.schemePrefix) &&
|
||||
!RegExp(r'\s').hasMatch(text))) {
|
||||
UrlLauncher(context, text).openMatrixToUrl();
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ import 'dart:async';
|
|||
import 'package:fluffychat/components/default_app_bar_search_field.dart';
|
||||
import 'package:flushbar/flushbar_helper.dart';
|
||||
import 'package:famedlysdk/famedlysdk.dart';
|
||||
import 'package:famedlysdk/matrix_api.dart';
|
||||
import 'package:fluffychat/components/adaptive_page_layout.dart';
|
||||
import 'package:fluffychat/components/avatar.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import 'package:famedlysdk/matrix_api.dart' as api;
|
||||
import 'package:famedlysdk/famedlysdk.dart' as sdk;
|
||||
import 'package:fluffychat/components/adaptive_page_layout.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:fluffychat/components/matrix.dart';
|
||||
|
|
@ -37,9 +37,9 @@ class _NewGroupState extends State<_NewGroup> {
|
|||
context: context,
|
||||
future: () => matrix.client.createRoom(
|
||||
preset: publicGroup
|
||||
? api.CreateRoomPreset.public_chat
|
||||
: api.CreateRoomPreset.private_chat,
|
||||
visibility: publicGroup ? api.Visibility.public : null,
|
||||
? sdk.CreateRoomPreset.public_chat
|
||||
: sdk.CreateRoomPreset.private_chat,
|
||||
visibility: publicGroup ? sdk.Visibility.public : null,
|
||||
roomAliasName:
|
||||
publicGroup && controller.text.isNotEmpty ? controller.text : null,
|
||||
name: controller.text.isNotEmpty ? controller.text : null,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
import 'dart:async';
|
||||
|
||||
import 'package:famedlysdk/famedlysdk.dart';
|
||||
import 'package:famedlysdk/matrix_api.dart';
|
||||
import 'package:fluffychat/components/adaptive_page_layout.dart';
|
||||
import 'package:fluffychat/components/avatar.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue