From 0e1e9cb2ffb1fe15101c75663c7b576557350edb Mon Sep 17 00:00:00 2001 From: stopflock Date: Fri, 31 Jul 2026 21:35:01 -0500 Subject: [PATCH] fix deeplinks --- android/app/src/main/AndroidManifest.xml | 13 +++++++++++++ ios/Runner/Info.plist | 11 +++++++++++ lib/main.dart | 13 +++++++++---- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index c1bb3bf..a533ebd 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -30,6 +30,19 @@ android:name="io.flutter.embedding.android.NormalTheme" android:resource="@style/NormalTheme" /> + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 8f414e4..6918f87 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -2,8 +2,19 @@ + + FlutterDeepLinkingEnabled + CADisableMinimumFrameDurationOnPhone + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName diff --git a/lib/main.dart b/lib/main.dart index 7151eb9..6b4473c 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -125,16 +125,21 @@ class DeFlockApp extends StatelessWidget { }, initialRoute: '/', onUnknownRoute: (settings) { - // Handle deep link routes that Flutter tries to process before app_links - // This catches routes like "/?id=13939398601" from "deflockapp://node?id=13939398601" - debugPrint('[Navigation] Unknown route intercepted: ${settings.name} (likely deep link, will be handled by DeepLinkService)'); + // Fallback for any genuinely unknown named route (e.g. a stale/bad + // link). Deep links (deflockapp://...) are handled exclusively by + // DeepLinkService via the app_links package - Flutter's own + // implicit deep-link routing is disabled at the platform level + // (see AndroidManifest.xml's flutter_deeplinking_enabled and + // Info.plist's FlutterDeepLinkingEnabled) to avoid this handler + // double-navigating and burying screens pushed by DeepLinkService. + debugPrint('[Navigation] Unknown route intercepted: ${settings.name}'); return MaterialPageRoute( settings: settings, builder: (_) => const HomeScreen(), ); }, - ); + } }