Skip to content

2.4.0

Latest

Choose a tag to compare

@SikoraKam SikoraKam released this 04 Nov 15:12

2.4.0 (2026-11-04)

  • fix: send one universal link click per app open (#78) (a981836), closes #78

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: createDetourNativeIntentHandler in resolve mode together with DetourProvider set to 'all' or 'web-only', two url events for one tap on iOS, and two mounted providers.
  • DetourProvider delivers 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 sent or not 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.