Repository navigation
2.4.0 (2026-11-04)
What changed
- One app open sends one Universal Link or App Link click request. A repeat of the same link within 10 seconds sends no new request. Before, one open could send two requests in three cases:
createDetourNativeIntentHandlerin resolve mode together withDetourProviderset to'all'or'web-only', twourlevents for one tap on iOS, and two mounted providers. DetourProviderdelivers one tap once, even when the same link arrives twice within 1 second.- A failed click request (network error or a server error) does not block the link. The SDK logs
🔗[Detour] Universal link click not sentornot saved, and the next open of that link sends the click again.
Behavior change for Expo Router resolve mode
When createDetourNativeIntentHandler receives config and DetourProvider uses 'all' or 'web-only', the provider no longer sets useDetourContext().link for a Universal Link or App Link that the handler already routed. The provider still sets link when the handler cannot route the link, for example when a short link does not resolve.
If your app reads link for a promo code or analytics, read the query parameters on the target screen with useLocalSearchParams() instead. The default mapToRoute keeps the query string. Setups with 'deferred-only' are not affected.