banking_dcb_sdk_react_native 1.0.76 → 1.0.81

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.
Files changed (145) hide show
  1. package/android/app/build/generated/source/codegen/RCTAppDependencyProvider.h +25 -0
  2. package/android/app/build/generated/source/codegen/RCTAppDependencyProvider.mm +55 -0
  3. package/android/app/build/generated/source/codegen/RCTModulesConformingToProtocolsProvider.h +18 -0
  4. package/android/app/build/generated/source/codegen/RCTModulesConformingToProtocolsProvider.mm +33 -0
  5. package/android/app/build/generated/source/codegen/RCTThirdPartyComponentsProvider.h +16 -0
  6. package/android/app/build/generated/source/codegen/RCTThirdPartyComponentsProvider.mm +62 -0
  7. package/android/app/build/generated/source/codegen/ReactAppDependencyProvider.podspec +34 -0
  8. package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeAsyncStorageModuleSpec.java +59 -0
  9. package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeBlobUtilsSpec.java +280 -0
  10. package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeRNCWebViewModuleSpec.java +42 -0
  11. package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeRNPermissionsSpec.java +87 -0
  12. package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeSafeAreaContextSpec.java +65 -0
  13. package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeScreensModuleSpec.java +35 -0
  14. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNCSafeAreaProviderManagerDelegate.java +26 -0
  15. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNCSafeAreaProviderManagerInterface.java +17 -0
  16. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNCSafeAreaViewManagerDelegate.java +36 -0
  17. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNCSafeAreaViewManagerInterface.java +20 -0
  18. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNCWebViewManagerDelegate.java +301 -0
  19. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNCWebViewManagerInterface.java +107 -0
  20. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSBottomTabsManagerDelegate.java +84 -0
  21. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSBottomTabsManagerInterface.java +35 -0
  22. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSBottomTabsScreenManagerDelegate.java +101 -0
  23. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSBottomTabsScreenManagerInterface.java +42 -0
  24. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSFullWindowOverlayManagerDelegate.java +32 -0
  25. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSFullWindowOverlayManagerInterface.java +17 -0
  26. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSModalScreenManagerDelegate.java +128 -0
  27. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSModalScreenManagerInterface.java +51 -0
  28. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSafeAreaViewManagerDelegate.java +36 -0
  29. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSafeAreaViewManagerInterface.java +20 -0
  30. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerDelegate.java +26 -0
  31. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenContainerManagerInterface.java +17 -0
  32. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerDelegate.java +26 -0
  33. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenContentWrapperManagerInterface.java +17 -0
  34. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerDelegate.java +26 -0
  35. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenFooterManagerInterface.java +17 -0
  36. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +140 -0
  37. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +55 -0
  38. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenNavigationContainerManagerDelegate.java +26 -0
  39. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenNavigationContainerManagerInterface.java +17 -0
  40. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java +121 -0
  41. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java +48 -0
  42. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerDelegate.java +35 -0
  43. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerInterface.java +19 -0
  44. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackHostManagerDelegate.java +26 -0
  45. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackHostManagerInterface.java +17 -0
  46. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackManagerDelegate.java +26 -0
  47. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSScreenStackManagerInterface.java +17 -0
  48. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSearchBarManagerDelegate.java +106 -0
  49. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSearchBarManagerInterface.java +40 -0
  50. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSplitViewHostManagerDelegate.java +57 -0
  51. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSplitViewHostManagerInterface.java +27 -0
  52. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSplitViewScreenManagerDelegate.java +32 -0
  53. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSSplitViewScreenManagerInterface.java +18 -0
  54. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSStackScreenManagerDelegate.java +35 -0
  55. package/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/RNSStackScreenManagerInterface.java +19 -0
  56. package/android/app/build/generated/source/codegen/jni/BankingDcbSdkReactNative-generated.cpp +22 -0
  57. package/android/app/build/generated/source/codegen/jni/BankingDcbSdkReactNative.h +24 -0
  58. package/android/app/build/generated/source/codegen/jni/CMakeLists.txt +36 -0
  59. package/android/app/build/generated/source/codegen/jni/RNCWebViewSpec-generated.cpp +38 -0
  60. package/android/app/build/generated/source/codegen/jni/RNCWebViewSpec.h +31 -0
  61. package/android/app/build/generated/source/codegen/jni/RNPermissionsSpec-generated.cpp +104 -0
  62. package/android/app/build/generated/source/codegen/jni/RNPermissionsSpec.h +31 -0
  63. package/android/app/build/generated/source/codegen/jni/ReactNativeBlobUtilSpec-generated.cpp +320 -0
  64. package/android/app/build/generated/source/codegen/jni/ReactNativeBlobUtilSpec.h +31 -0
  65. package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/BankingDcbSdkReactNativeJSI-generated.cpp +17 -0
  66. package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/BankingDcbSdkReactNativeJSI.h +19 -0
  67. package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/ComponentDescriptors.cpp +22 -0
  68. package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/ComponentDescriptors.h +24 -0
  69. package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/EventEmitters.cpp +16 -0
  70. package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/EventEmitters.h +17 -0
  71. package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/Props.cpp +19 -0
  72. package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/Props.h +18 -0
  73. package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/ShadowNodes.cpp +17 -0
  74. package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/ShadowNodes.h +23 -0
  75. package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/States.cpp +16 -0
  76. package/android/app/build/generated/source/codegen/jni/react/renderer/components/BankingDcbSdkReactNative/States.h +19 -0
  77. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/ComponentDescriptors.cpp +22 -0
  78. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/ComponentDescriptors.h +24 -0
  79. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/EventEmitters.cpp +258 -0
  80. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/EventEmitters.h +277 -0
  81. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/Props.cpp +101 -0
  82. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/Props.h +507 -0
  83. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/RNCWebViewSpecJSI-generated.cpp +35 -0
  84. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/RNCWebViewSpecJSI.h +80 -0
  85. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/ShadowNodes.cpp +17 -0
  86. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/ShadowNodes.h +32 -0
  87. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/States.cpp +16 -0
  88. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNCWebViewSpec/States.h +29 -0
  89. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNPermissionsSpec/RNPermissionsSpecJSI-generated.cpp +106 -0
  90. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNPermissionsSpec/RNPermissionsSpecJSI.h +226 -0
  91. package/android/app/build/generated/source/codegen/jni/react/renderer/components/ReactNativeBlobUtilSpec/ReactNativeBlobUtilSpecJSI-generated.cpp +449 -0
  92. package/android/app/build/generated/source/codegen/jni/react/renderer/components/ReactNativeBlobUtilSpec/ReactNativeBlobUtilSpecJSI.h +503 -0
  93. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnasyncstorage/rnasyncstorageJSI-generated.cpp +72 -0
  94. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnasyncstorage/rnasyncstorageJSI.h +116 -0
  95. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/ComponentDescriptors.cpp +31 -0
  96. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/ComponentDescriptors.h +33 -0
  97. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/EventEmitters.cpp +499 -0
  98. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/EventEmitters.h +422 -0
  99. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/Props.cpp +307 -0
  100. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/Props.h +1391 -0
  101. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/ShadowNodes.cpp +26 -0
  102. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/ShadowNodes.h +131 -0
  103. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/States.cpp +16 -0
  104. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/States.h +137 -0
  105. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/rnscreensJSI-generated.cpp +22 -0
  106. package/android/app/build/generated/source/codegen/jni/react/renderer/components/rnscreens/rnscreensJSI.h +64 -0
  107. package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/ComponentDescriptors.cpp +22 -0
  108. package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/ComponentDescriptors.h +24 -0
  109. package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/EventEmitters.cpp +40 -0
  110. package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/EventEmitters.h +47 -0
  111. package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/Props.cpp +33 -0
  112. package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/Props.h +85 -0
  113. package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/ShadowNodes.cpp +17 -0
  114. package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/ShadowNodes.h +32 -0
  115. package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/States.cpp +16 -0
  116. package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/States.h +29 -0
  117. package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/safeareacontextJSI-generated.cpp +26 -0
  118. package/android/app/build/generated/source/codegen/jni/react/renderer/components/safeareacontext/safeareacontextJSI.h +71 -0
  119. package/android/app/build/generated/source/codegen/jni/rnasyncstorage-generated.cpp +62 -0
  120. package/android/app/build/generated/source/codegen/jni/rnasyncstorage.h +31 -0
  121. package/android/app/build/generated/source/codegen/jni/rnscreens-generated.cpp +29 -0
  122. package/android/app/build/generated/source/codegen/jni/rnscreens.h +31 -0
  123. package/android/app/build/generated/source/codegen/jni/safeareacontext-generated.cpp +32 -0
  124. package/android/app/build/generated/source/codegen/jni/safeareacontext.h +31 -0
  125. package/lib/module/helpers/banking_dcb_react_native.js +97 -10
  126. package/lib/module/helpers/banking_dcb_react_native.js.map +1 -1
  127. package/lib/module/helpers/utils/Constants.js +9 -7
  128. package/lib/module/helpers/utils/Constants.js.map +1 -1
  129. package/lib/module/helpers/utils/webviewCallback.js +11 -0
  130. package/lib/module/helpers/utils/webviewCallback.js.map +1 -1
  131. package/lib/module/helpers/webview.js +61 -24
  132. package/lib/module/helpers/webview.js.map +1 -1
  133. package/lib/typescript/package.json +1 -0
  134. package/lib/typescript/src/helpers/banking_dcb_react_native.d.ts +1 -0
  135. package/lib/typescript/src/helpers/banking_dcb_react_native.d.ts.map +1 -1
  136. package/lib/typescript/src/helpers/utils/Constants.d.ts +2 -0
  137. package/lib/typescript/src/helpers/utils/Constants.d.ts.map +1 -1
  138. package/lib/typescript/src/helpers/utils/webviewCallback.d.ts +10 -1
  139. package/lib/typescript/src/helpers/utils/webviewCallback.d.ts.map +1 -1
  140. package/lib/typescript/src/helpers/webview.d.ts.map +1 -1
  141. package/package.json +3 -2
  142. package/src/helpers/banking_dcb_react_native.tsx +164 -11
  143. package/src/helpers/utils/Constants.tsx +10 -9
  144. package/src/helpers/utils/webviewCallback.tsx +32 -16
  145. package/src/helpers/webview.tsx +71 -32
@@ -52,9 +52,6 @@ interface WebViewCustomProps {
52
52
  onPageFinished?: () => void;
53
53
  }
54
54
 
55
- const [waitingForUserClosedRedirect, setWaitingForUserClosedRedirect] =
56
- useState(false);
57
-
58
55
  type MailApp = 'gmail' | 'outlook' | 'yahoo';
59
56
 
60
57
  const PKG: Record<MailApp, string> = {
@@ -134,7 +131,9 @@ export const WebView = ({
134
131
  }: WebViewCustomProps) => {
135
132
  const webviewRef = useRef<RNWebView | null>(null);
136
133
  const [canGoBack, setCanGoBack] = useState(false);
137
- const _analyticsLogger = new AnalyticsLogger();
134
+ const canGoBackRef = useRef(false);
135
+ const hasUserClosedRef = useRef(false);
136
+
138
137
  // const [hasRedirected, setHasRedirected] = useState(false);
139
138
  const [, setToast] = useState<{ visible: boolean; message: string } | null>(
140
139
  null
@@ -267,27 +266,11 @@ export const WebView = ({
267
266
  const handleOnShouldStartLoadWithRequest = (event: WebViewNavigation) => {
268
267
  const { url } = event;
269
268
  console.log('SDK:LOG: WEBVIEW URL:', url);
270
- if (url === 'about:blank' || url === 'about:srcdoc') {
269
+
270
+ if (!url || url === 'about:blank' || url === 'about:srcdoc') {
271
271
  return true;
272
272
  }
273
- if (
274
- waitingForUserClosedRedirect &&
275
- (url?.includes('/session-expired?status=') ||
276
- url?.includes('/redirect?status=') ||
277
- url?.includes('/api/user/redirect'))
278
- ) {
279
- console.log('SDK:LOG: waitingForUserClosedRedirect overriding url');
280
- const status = getQueryParam(url, 'status');
281
-
282
- setWaitingForUserClosedRedirect(false);
283
-
284
- console.log('SDK:LOG: Status thrown from webview ', status);
285
273
 
286
- StatusBar.setBackgroundColor('#7E7E7EFF');
287
- clearAllCookies();
288
- onCallback?.(WebViewCallback.redirect(status ?? 'USER_CLOSED'));
289
- return false;
290
- }
291
274
  if (Platform.OS === 'android' && url) {
292
275
  if (url.includes('ms-outlook://')) {
293
276
  console.log('SDK:LOG: Intent to open Outlook detected');
@@ -393,17 +376,44 @@ export const WebView = ({
393
376
  );
394
377
 
395
378
  // Cookie injection script
396
-
397
379
  const injectedJavaScript = `
380
+ (function() {
381
+ function safePost(msg) {
382
+ try {
383
+ if (window.ReactNativeWebView) {
384
+ window.ReactNativeWebView.postMessage(JSON.stringify(msg));
385
+ }
386
+ } catch (e) {}
387
+ }
388
+
389
+ // Preserve any existing window.onerror
390
+ var previousOnError = window.onerror || null;
398
391
  window.onerror = function(message, source, lineno, colno, error) {
399
- if (message.includes('RATE_LIMIT_USER')) {
400
- window.ReactNativeWebView.postMessage(JSON.stringify({
401
- type: 'RATE_LIMIT_ERROR'
402
- }));
392
+ try {
393
+ if (String(message || '').indexOf('RATE_LIMIT_USER') !== -1 &&
394
+ window.ReactNativeWebView) {
395
+ safePost({ type: 'RATE_LIMIT_ERROR' });
396
+ }
397
+ } catch (e) {}
398
+ if (typeof previousOnError === 'function') {
399
+ try { return previousOnError.apply(this, arguments); } catch (e) {}
403
400
  }
404
401
  };
405
- true;
406
- `;
402
+
403
+ // Patch history.back() to notify the app
404
+ if (window.history && typeof window.history.back === 'function') {
405
+ var originalBack = window.history.back;
406
+ window.history.back = function() {
407
+ safePost({
408
+ type: 'HISTORY_BACK_CALLED',
409
+ href: window.location.href
410
+ });
411
+ return originalBack.apply(this, arguments);
412
+ };
413
+ }
414
+ })();
415
+ true;
416
+ `;
407
417
 
408
418
  const requestPermission = async (permission: Permission) => {
409
419
  try {
@@ -472,16 +482,43 @@ export const WebView = ({
472
482
  const handleMessage = (event: WebViewMessageEvent) => {
473
483
  try {
474
484
  const data = JSON.parse(event.nativeEvent.data);
485
+ console.log('SDK:LOG: onMessage data =');
486
+
487
+ // 1) history.back() from a "root" page → treat as USER_CLOSED
488
+ if (data?.type === 'HISTORY_BACK_CALLED') {
489
+ console.log('SDK:LOG: HISTORY_BACK_CALLED at', data.href);
475
490
 
476
- if (data?.method === 'CLOSE_CLICKED') {
477
- console.log('SDK:LOG: Received CLOSE_CLICKED from web');
491
+ if (!canGoBackRef.current && !hasUserClosedRef.current) {
492
+ hasUserClosedRef.current = true;
493
+
494
+ console.log(
495
+ 'SDK:LOG: No WebView history. Treating HISTORY_BACK as USER_CLOSED'
496
+ );
478
497
 
479
- setWaitingForUserClosedRedirect(true);
498
+ StatusBar.setBackgroundColor('#7E7E7EFF');
499
+ clearAllCookies();
500
+ onCallback?.(WebViewCallback.redirect('USER_CLOSED'));
501
+ }
502
+
503
+ return;
504
+ }
505
+
506
+ if (data?.type === 'RATE_LIMIT_ERROR') {
507
+ console.log('SDK:LOG: RATE_LIMIT_ERROR received from web');
508
+ ToastAndroid.show(
509
+ 'Too many requests. Please try after 1 minute',
510
+ ToastAndroid.LONG
511
+ );
512
+ // StatusBar.setBackgroundColor('#7E7E7EFF');
513
+ // clearAllCookies();
514
+ // onCallback?.(WebViewCallback.redirect('RATE_LIMIT_ERROR'));
515
+ // return;
480
516
  }
481
517
  } catch (e) {
482
518
  console.warn('SDK:LOG: Error parsing WebView message', e);
483
519
  }
484
520
  };
521
+
485
522
  const handleWebViewLoadEnd = (syntheticEvent: any) => {
486
523
  const loadedUrl = syntheticEvent?.nativeEvent?.url || url;
487
524
 
@@ -517,7 +554,9 @@ export const WebView = ({
517
554
  allowsInlineMediaPlayback={true}
518
555
  onShouldStartLoadWithRequest={handleOnShouldStartLoadWithRequest}
519
556
  onNavigationStateChange={(navState) => {
557
+ console.log('SDK:LOG: NAV STATE URL:', navState.url);
520
558
  setCanGoBack(navState.canGoBack);
559
+ canGoBackRef.current = navState.canGoBack;
521
560
  }}
522
561
  injectedJavaScript={injectedJavaScript}
523
562
  decelerationRate={Platform.OS === 'ios' ? 'normal' : 0.9}