banking_dcb_sdk_react_native 1.0.77 → 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 -22
  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 -30
@@ -131,8 +131,9 @@ export const WebView = ({
131
131
  }: WebViewCustomProps) => {
132
132
  const webviewRef = useRef<RNWebView | null>(null);
133
133
  const [canGoBack, setCanGoBack] = useState(false);
134
- const [waitingForUserClosedRedirect, setWaitingForUserClosedRedirect] =
135
- useState(false);
134
+ const canGoBackRef = useRef(false);
135
+ const hasUserClosedRef = useRef(false);
136
+
136
137
  // const [hasRedirected, setHasRedirected] = useState(false);
137
138
  const [, setToast] = useState<{ visible: boolean; message: string } | null>(
138
139
  null
@@ -265,27 +266,11 @@ export const WebView = ({
265
266
  const handleOnShouldStartLoadWithRequest = (event: WebViewNavigation) => {
266
267
  const { url } = event;
267
268
  console.log('SDK:LOG: WEBVIEW URL:', url);
268
- if (url === 'about:blank' || url === 'about:srcdoc') {
269
+
270
+ if (!url || url === 'about:blank' || url === 'about:srcdoc') {
269
271
  return true;
270
272
  }
271
- if (
272
- waitingForUserClosedRedirect &&
273
- (url?.includes('/session-expired?status=') ||
274
- url?.includes('/redirect?status=') ||
275
- url?.includes('/api/user/redirect'))
276
- ) {
277
- console.log('SDK:LOG: waitingForUserClosedRedirect overriding url');
278
- const status = getQueryParam(url, 'status');
279
273
 
280
- setWaitingForUserClosedRedirect(false);
281
-
282
- console.log('SDK:LOG: Status thrown from webview ', status);
283
-
284
- StatusBar.setBackgroundColor('#7E7E7EFF');
285
- clearAllCookies();
286
- onCallback?.(WebViewCallback.redirect(status ?? 'USER_CLOSED'));
287
- return false;
288
- }
289
274
  if (Platform.OS === 'android' && url) {
290
275
  if (url.includes('ms-outlook://')) {
291
276
  console.log('SDK:LOG: Intent to open Outlook detected');
@@ -391,17 +376,44 @@ export const WebView = ({
391
376
  );
392
377
 
393
378
  // Cookie injection script
394
-
395
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;
396
391
  window.onerror = function(message, source, lineno, colno, error) {
397
- if (message.includes('RATE_LIMIT_USER')) {
398
- window.ReactNativeWebView.postMessage(JSON.stringify({
399
- type: 'RATE_LIMIT_ERROR'
400
- }));
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) {}
401
400
  }
402
401
  };
403
- true;
404
- `;
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
+ `;
405
417
 
406
418
  const requestPermission = async (permission: Permission) => {
407
419
  try {
@@ -470,16 +482,43 @@ export const WebView = ({
470
482
  const handleMessage = (event: WebViewMessageEvent) => {
471
483
  try {
472
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);
473
490
 
474
- if (data?.method === 'CLOSE_CLICKED') {
475
- 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
+ );
476
497
 
477
- 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;
478
516
  }
479
517
  } catch (e) {
480
518
  console.warn('SDK:LOG: Error parsing WebView message', e);
481
519
  }
482
520
  };
521
+
483
522
  const handleWebViewLoadEnd = (syntheticEvent: any) => {
484
523
  const loadedUrl = syntheticEvent?.nativeEvent?.url || url;
485
524
 
@@ -515,7 +554,9 @@ export const WebView = ({
515
554
  allowsInlineMediaPlayback={true}
516
555
  onShouldStartLoadWithRequest={handleOnShouldStartLoadWithRequest}
517
556
  onNavigationStateChange={(navState) => {
557
+ console.log('SDK:LOG: NAV STATE URL:', navState.url);
518
558
  setCanGoBack(navState.canGoBack);
559
+ canGoBackRef.current = navState.canGoBack;
519
560
  }}
520
561
  injectedJavaScript={injectedJavaScript}
521
562
  decelerationRate={Platform.OS === 'ios' ? 'normal' : 0.9}