@swype-org/react-sdk 0.1.210 → 0.1.212

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3192,6 +3192,31 @@ function Spinner({ size = 40, label }) {
3192
3192
  }
3193
3193
  );
3194
3194
  }
3195
+
3196
+ // src/deeplink.ts
3197
+ var IFRAME_CLEANUP_DELAY_MS = 3e3;
3198
+ function isCustomSchemeUri(uri) {
3199
+ try {
3200
+ return !uri.startsWith("https://") && !uri.startsWith("http://");
3201
+ } catch {
3202
+ return false;
3203
+ }
3204
+ }
3205
+ function triggerDeeplink(uri) {
3206
+ try {
3207
+ const iframe = document.createElement("iframe");
3208
+ iframe.style.display = "none";
3209
+ iframe.src = uri;
3210
+ document.body.appendChild(iframe);
3211
+ setTimeout(() => {
3212
+ try {
3213
+ document.body.removeChild(iframe);
3214
+ } catch {
3215
+ }
3216
+ }, IFRAME_CLEANUP_DELAY_MS);
3217
+ } catch {
3218
+ }
3219
+ }
3195
3220
  var WALLET_EMOJIS = {
3196
3221
  rabby: "\u{1F430}",
3197
3222
  ora: "\u2666\uFE0F",
@@ -3260,7 +3285,7 @@ function WalletPickerScreen({
3260
3285
  {
3261
3286
  onClick: () => {
3262
3287
  const session = preparedSession?.providerId === selectedProvider.id ? preparedSession : void 0;
3263
- if (session && useDeeplink) {
3288
+ if (session && useDeeplink && isCustomSchemeUri(session.uri)) {
3264
3289
  window.open(session.uri, "_blank");
3265
3290
  }
3266
3291
  setConnecting(true);
@@ -4896,24 +4921,6 @@ var stepsWrapStyle2 = {
4896
4921
  textAlign: "left",
4897
4922
  marginBottom: 16
4898
4923
  };
4899
-
4900
- // src/deeplink.ts
4901
- var IFRAME_CLEANUP_DELAY_MS = 3e3;
4902
- function triggerDeeplink(uri) {
4903
- try {
4904
- const iframe = document.createElement("iframe");
4905
- iframe.style.display = "none";
4906
- iframe.src = uri;
4907
- document.body.appendChild(iframe);
4908
- setTimeout(() => {
4909
- try {
4910
- document.body.removeChild(iframe);
4911
- } catch {
4912
- }
4913
- }, IFRAME_CLEANUP_DELAY_MS);
4914
- } catch {
4915
- }
4916
- }
4917
4924
  function OpenWalletScreen({
4918
4925
  walletName,
4919
4926
  deeplinkUri,
@@ -4934,7 +4941,11 @@ function OpenWalletScreen({
4934
4941
  triggerDeeplink(deeplinkUri);
4935
4942
  }, [useDeeplink, loading, deeplinkUri]);
4936
4943
  const handleOpen = useCallback(() => {
4937
- window.open(deeplinkUri, "_blank");
4944
+ if (isCustomSchemeUri(deeplinkUri)) {
4945
+ window.open(deeplinkUri, "_blank");
4946
+ } else {
4947
+ window.location.href = deeplinkUri;
4948
+ }
4938
4949
  }, [deeplinkUri]);
4939
4950
  if (!useDeeplink) {
4940
4951
  return /* @__PURE__ */ jsxs(
@@ -6536,7 +6547,11 @@ function useProviderHandlers(deps) {
6536
6547
  providerId,
6537
6548
  isSetup: true
6538
6549
  });
6539
- triggerDeeplink(sessionUri);
6550
+ if (isCustomSchemeUri(sessionUri)) {
6551
+ triggerDeeplink(sessionUri);
6552
+ } else {
6553
+ window.location.href = sessionUri;
6554
+ }
6540
6555
  dispatch({ type: "MOBILE_DEEPLINK_READY", deeplinkUri: sessionUri });
6541
6556
  } else {
6542
6557
  await authExecutor.executeSessionById(sessionId);
@@ -6652,7 +6667,11 @@ function useProviderHandlers(deps) {
6652
6667
  isReauthorization: true
6653
6668
  });
6654
6669
  dispatch({ type: "MOBILE_DEEPLINK_READY", deeplinkUri: session.uri });
6655
- triggerDeeplink(session.uri);
6670
+ if (isCustomSchemeUri(session.uri)) {
6671
+ triggerDeeplink(session.uri);
6672
+ } else {
6673
+ window.location.href = session.uri;
6674
+ }
6656
6675
  } else {
6657
6676
  dispatch({ type: "NAVIGATE", step: "open-wallet" });
6658
6677
  await authExecutor.executeSessionById(session.id);
@@ -6745,7 +6764,11 @@ function useProviderHandlers(deps) {
6745
6764
  reauthorizationToken: { walletId: _walletId, tokenSymbol }
6746
6765
  });
6747
6766
  dispatch({ type: "MOBILE_DEEPLINK_READY", deeplinkUri: session.uri });
6748
- triggerDeeplink(session.uri);
6767
+ if (isCustomSchemeUri(session.uri)) {
6768
+ triggerDeeplink(session.uri);
6769
+ } else {
6770
+ window.location.href = session.uri;
6771
+ }
6749
6772
  } else {
6750
6773
  dispatch({ type: "NAVIGATE", step: "open-wallet" });
6751
6774
  await authExecutor.executeSessionById(session.id);
@@ -7385,11 +7408,18 @@ function usePaymentEffects(deps) {
7385
7408
  poll();
7386
7409
  }
7387
7410
  };
7411
+ const handlePageShow = (e) => {
7412
+ if (e.persisted && !cancelled) {
7413
+ poll();
7414
+ }
7415
+ };
7388
7416
  document.addEventListener("visibilitychange", handleVisibility);
7417
+ window.addEventListener("pageshow", handlePageShow);
7389
7418
  return () => {
7390
7419
  cancelled = true;
7391
7420
  window.clearInterval(intervalId);
7392
7421
  document.removeEventListener("visibilitychange", handleVisibility);
7422
+ window.removeEventListener("pageshow", handlePageShow);
7393
7423
  };
7394
7424
  }, [
7395
7425
  state.mobileFlow,
@@ -7414,8 +7444,17 @@ function usePaymentEffects(deps) {
7414
7444
  polling.startPolling(transferIdToResume);
7415
7445
  }
7416
7446
  };
7447
+ const handlePageShow = (e) => {
7448
+ if (e.persisted && !handlingMobileReturnRef.current) {
7449
+ polling.startPolling(transferIdToResume);
7450
+ }
7451
+ };
7417
7452
  document.addEventListener("visibilitychange", handleVisibility);
7418
- return () => document.removeEventListener("visibilitychange", handleVisibility);
7453
+ window.addEventListener("pageshow", handlePageShow);
7454
+ return () => {
7455
+ document.removeEventListener("visibilitychange", handleVisibility);
7456
+ window.removeEventListener("pageshow", handlePageShow);
7457
+ };
7419
7458
  }, [
7420
7459
  state.mobileFlow,
7421
7460
  state.transfer?.id,