Merge pull request #2742 from krille-chan/krille/fix-receive-sharing

fix: GoRouter captures receive sharing intents sometimes
This commit is contained in:
Krille-chan 2026-03-21 11:53:03 +01:00 committed by GitHub
commit 695a03e730
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 5 additions and 9 deletions

View file

@ -307,13 +307,11 @@ class ChatListController extends State<ChatList>
void _processIncomingSharedMedia(List<SharedMediaFile> files) {
if (files.isEmpty) return;
inspect(files);
if (files.singleOrNull?.path.startsWith(AppConfig.deepLinkPrefix) == true) {
return;
}
inspect(files);
showScaffoldDialog(
context: context,
builder: (context) => ShareScaffoldDialog(

View file

@ -1,5 +1,3 @@
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
@ -51,7 +49,6 @@ class ChatPermissionsSettingsController extends State<ChatPermissionsSettings> {
} else {
content[key] = newLevel;
}
inspect(content);
await showFutureLoadingDialog(
context: context,
future: () => room.client.setRoomStateWithKey(

View file

@ -1,5 +1,3 @@
import 'dart:developer';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
@ -34,7 +32,6 @@ extension LocalizedBody on Event {
Future<void> shareFile(BuildContext context) async {
final matrixFile = await _getFile(context);
inspect(matrixFile);
matrixFile.result?.share(context);
}

View file

@ -39,6 +39,10 @@ class FluffyChatApp extends StatelessWidget {
routes: AppRoutes.routes,
debugLogDiagnostics: true,
redirect: (context, state) {
// Workaround for content sharings passed to go router:
if (state.uri.scheme == 'content') return null;
// Pass deep links to app:
if (state.uri.toString().startsWith(AppConfig.deepLinkPrefix)) {
return '/rooms/newprivatechat?deeplink=${state.uri}';
}