banking_dcb_sdk_react_native 1.0.773 → 1.0.774-w

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.
@@ -295,69 +295,94 @@ export const WebView = ({
295
295
 
296
296
  const injectedJavaScript = `
297
297
  (function() {
298
- function isUserClosedRedirect(url) {
299
- if (!url) return false;
298
+ function safePost(msg) {
300
299
  try {
301
- var u = new URL(url, window.location.origin);
302
- if (u.pathname.indexOf('/api/user/redirect') === -1) return false;
303
- return u.searchParams.get('status') === 'USER_CLOSED';
304
- } catch (e) {
305
- return url.indexOf('/api/user/redirect?status=USER_CLOSED') !== -1;
306
- }
307
- }
308
-
309
- // Keep your RATE_LIMIT_USER error handler behavior
310
- var previousOnError = window.onerror || null;
311
- window.onerror = function(message, source, lineno, colno, error) {
312
- try {
313
- if (String(message || '').indexOf('RATE_LIMIT_USER') !== -1 &&
314
- window.ReactNativeWebView) {
315
- window.ReactNativeWebView.postMessage(JSON.stringify({
316
- type: 'RATE_LIMIT_ERROR'
317
- }));
300
+ if (window.ReactNativeWebView) {
301
+ window.ReactNativeWebView.postMessage(JSON.stringify(msg));
318
302
  }
319
303
  } catch (e) {}
320
- if (typeof previousOnError === 'function') {
321
- try { return previousOnError.apply(this, arguments); } catch (e) {}
322
- }
323
- };
304
+ }
324
305
 
325
- // Patch fetch only USER_CLOSED
326
- if (window.fetch) {
327
- var originalFetch = window.fetch;
328
- window.fetch = function() {
329
- try {
330
- var input = arguments[0];
331
- var url = typeof input === 'string'
332
- ? input
333
- : (input && input.url) || '';
334
- if (isUserClosedRedirect(url) && window.ReactNativeWebView) {
335
- window.ReactNativeWebView.postMessage(JSON.stringify({
336
- type: 'API_USER_CLOSED',
337
- via: 'fetch',
338
- url: url
339
- }));
340
- }
341
- } catch (e) {}
342
- return originalFetch.apply(this, arguments);
306
+ // Let RN know injection actually ran
307
+ safePost({
308
+ type: 'INJECT_READY',
309
+ href: window.location.href
310
+ });
311
+
312
+ // Spy on history.back()
313
+ if (window.history && typeof window.history.back === 'function') {
314
+ var originalBack = window.history.back;
315
+ window.history.back = function() {
316
+ safePost({
317
+ type: 'HISTORY_BACK_CALLED',
318
+ href: window.location.href
319
+ });
320
+ return originalBack.apply(this, arguments);
343
321
  };
344
322
  }
345
323
 
346
- // Patch XHR only USER_CLOSED
347
- if (window.XMLHttpRequest) {
348
- var originalOpen = XMLHttpRequest.prototype.open;
349
- XMLHttpRequest.prototype.open = function(method, url) {
350
- try {
351
- if (isUserClosedRedirect(url) && window.ReactNativeWebView) {
352
- window.ReactNativeWebView.postMessage(JSON.stringify({
353
- type: 'API_USER_CLOSED',
354
- via: 'xhr',
355
- url: url
356
- }));
324
+ // Spy on location.assign / replace
325
+ try {
326
+ var originalAssign = window.location.assign
327
+ ? window.location.assign.bind(window.location)
328
+ : null;
329
+ var originalReplace = window.location.replace
330
+ ? window.location.replace.bind(window.location)
331
+ : null;
332
+
333
+ if (originalAssign) {
334
+ window.location.assign = function(url) {
335
+ safePost({
336
+ type: 'LOCATION_ASSIGN',
337
+ url: url,
338
+ from: window.location.href
339
+ });
340
+ return originalAssign(url);
341
+ };
342
+ }
343
+
344
+ if (originalReplace) {
345
+ window.location.replace = function(url) {
346
+ safePost({
347
+ type: 'LOCATION_REPLACE',
348
+ url: url,
349
+ from: window.location.href
350
+ });
351
+ return originalReplace(url);
352
+ };
353
+ }
354
+
355
+ // Spy on direct href writes (best-effort)
356
+ try {
357
+ var currentHref = window.location.href;
358
+ Object.defineProperty(window.location, 'href', {
359
+ get: function() {
360
+ return currentHref;
361
+ },
362
+ set: function(val) {
363
+ safePost({
364
+ type: 'LOCATION_HREF_SET',
365
+ url: val,
366
+ from: currentHref
367
+ });
368
+ currentHref = val;
369
+ if (originalAssign) {
370
+ return originalAssign(val);
371
+ }
357
372
  }
358
- } catch (e) {}
359
- return originalOpen.apply(this, arguments);
360
- };
373
+ });
374
+ } catch (e) {
375
+ // Some browsers/WebViews don't allow redefining href; ignore
376
+ safePost({
377
+ type: 'LOCATION_HREF_PATCH_FAILED',
378
+ error: String(e)
379
+ });
380
+ }
381
+ } catch (e) {
382
+ safePost({
383
+ type: 'LOCATION_SPY_ERROR',
384
+ error: String(e)
385
+ });
361
386
  }
362
387
  })();
363
388
  true;
@@ -413,23 +438,27 @@ export const WebView = ({
413
438
  const handleMessage = event => {
414
439
  try {
415
440
  const data = JSON.parse(event.nativeEvent.data);
416
- if (data?.method === 'CLOSE_CLICKED') {
417
- console.log('SDK:LOG: Received CLOSE_CLICKED from web');
418
- // optional: just log, or set a flag, up to you
419
- return;
420
- }
421
- if (data?.type === 'API_USER_CLOSED') {
422
- console.log('SDK:LOG: USER_CLOSED intercepted via', data.via, 'url =', data.url);
423
- StatusBar.setBackgroundColor('#7E7E7EFF');
424
- clearAllCookies();
425
- onCallback?.(WebViewCallback.redirect('USER_CLOSED'));
426
-
427
- // close the screen here if your host expects that
428
- // e.g. options?.onClose?.();
429
- return;
430
- }
431
- if (data?.type === 'RATE_LIMIT_ERROR') {
432
- // your existing RATE_LIMIT handling if any
441
+ console.log('SDK:LOG: onMessage data =', data);
442
+ switch (data?.type) {
443
+ case 'INJECT_READY':
444
+ console.log('SDK:LOG: INJECT_READY, href =', data.href);
445
+ break;
446
+ case 'HISTORY_BACK_CALLED':
447
+ console.log('SDK:LOG: HISTORY_BACK_CALLED at', data.href);
448
+ break;
449
+ case 'LOCATION_ASSIGN':
450
+ case 'LOCATION_REPLACE':
451
+ case 'LOCATION_HREF_SET':
452
+ console.log('SDK:LOG:', data.type, 'from =', data.from, 'to =', data.url);
453
+ break;
454
+ case 'LOCATION_HREF_PATCH_FAILED':
455
+ case 'LOCATION_SPY_ERROR':
456
+ console.log('SDK:LOG:', data.type, data.error);
457
+ break;
458
+ default:
459
+ // keep your existing CLOSE_CLICKED / RATE_LIMIT logic here if you want,
460
+ // but for now pure logging is enough
461
+ break;
433
462
  }
434
463
  } catch (e) {
435
464
  console.warn('SDK:LOG: Error parsing WebView message', e);
@@ -1 +1 @@
1
- {"version":3,"names":["WebView","RNWebView","BackHandler","Platform","Linking","SafeAreaView","ActivityIndicator","View","ToastAndroid","StatusBar","useEffect","useRef","useState","WebViewCallback","check","PERMISSIONS","request","RESULTS","FileViewer","RNFS","CookieManager","SendIntentAndroid","jsx","_jsx","PKG","gmail","outlook","yahoo","SCHEME","openMailAppIntent","app","OS","pkg","scheme","wasOpened","openApp","err","console","log","canOpen","canOpenURL","openURL","err2","isUserClosedRedirect","url","u","URL","pathname","includes","searchParams","get","clearAllCookies","clearAll","e","error","options","onCallback","hostName","whitelistedUrls","onPageFinished","webviewRef","canGoBack","setCanGoBack","waitingForUserClosedRedirectRef","setWaitingForUserClosedRedirect","setToast","handleExternalUrl","Promise","resolve","setTimeout","show","LONG","showToast_with_code_message","syntheticEvent","nativeEvent","errorCodesToHandle","code","message","description","visible","redirect","getQueryParam","param","match","RegExp","decodeURIComponent","downloadAndOpenFile","fileUrl","cookieString","cookies","Object","keys","map","key","value","join","timestamp","Date","getTime","urlParts","split","lastPart","length","fileExt","pop","fileName","downloadPath","select","ios","DocumentDirectoryPath","android","DownloadDirectoryPath","Error","fromUrl","toFile","headers","background","begin","res","response","downloadFile","promise","statusCode","SHORT","open","showOpenWithDialog","onDismiss","unlink","catch","handleOnShouldStartLoadWithRequest","event","setBackgroundColor","then","ok","status","undefined","isWhitelisted","some","white","handleBackButton","current","goBack","backHandler","addEventListener","remove","Loading","style","flex","justifyContent","alignItems","children","size","injectedJavaScript","requestPermission","permission","result","DENIED","requestResult","GRANTED","handlePermissionRequest","resources","permissionsToRequest","push","IOS","CAMERA","ANDROID","MICROPHONE","RECORD_AUDIO","LOCATION_WHEN_IN_USE","ACCESS_FINE_LOCATION","results","all","granted","every","grant","deny","setWaitingFlag","handleMessage","data","JSON","parse","method","type","via","warn","handleWebViewLoadEnd","loadedUrl","backgroundColor","ref","source","uri","onPermissionRequest","geolocationEnabled","androidPermissions","camera","microphone","geolocation","onError","startInLoadingState","renderLoading","onLoadEnd","originWhitelist","javaScriptEnabled","domStorageEnabled","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","onShouldStartLoadWithRequest","onNavigationStateChange","navState","decelerationRate","allowsBackForwardNavigationGestures","sharedCookiesEnabled","setSupportMultipleWindows","mixedContentMode","allowsLinkPreview","onMessage"],"sourceRoot":"../../../src","sources":["helpers/webview.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["WebView","RNWebView","BackHandler","Platform","Linking","SafeAreaView","ActivityIndicator","View","ToastAndroid","StatusBar","useEffect","useRef","useState","WebViewCallback","check","PERMISSIONS","request","RESULTS","FileViewer","RNFS","CookieManager","SendIntentAndroid","jsx","_jsx","PKG","gmail","outlook","yahoo","SCHEME","openMailAppIntent","app","OS","pkg","scheme","wasOpened","openApp","err","console","log","canOpen","canOpenURL","openURL","err2","isUserClosedRedirect","url","u","URL","pathname","includes","searchParams","get","clearAllCookies","clearAll","e","error","options","onCallback","hostName","whitelistedUrls","onPageFinished","webviewRef","canGoBack","setCanGoBack","waitingForUserClosedRedirectRef","setWaitingForUserClosedRedirect","setToast","handleExternalUrl","Promise","resolve","setTimeout","show","LONG","showToast_with_code_message","syntheticEvent","nativeEvent","errorCodesToHandle","code","message","description","visible","redirect","getQueryParam","param","match","RegExp","decodeURIComponent","downloadAndOpenFile","fileUrl","cookieString","cookies","Object","keys","map","key","value","join","timestamp","Date","getTime","urlParts","split","lastPart","length","fileExt","pop","fileName","downloadPath","select","ios","DocumentDirectoryPath","android","DownloadDirectoryPath","Error","fromUrl","toFile","headers","background","begin","res","response","downloadFile","promise","statusCode","SHORT","open","showOpenWithDialog","onDismiss","unlink","catch","handleOnShouldStartLoadWithRequest","event","setBackgroundColor","then","ok","status","undefined","isWhitelisted","some","white","handleBackButton","current","goBack","backHandler","addEventListener","remove","Loading","style","flex","justifyContent","alignItems","children","size","injectedJavaScript","requestPermission","permission","result","DENIED","requestResult","GRANTED","handlePermissionRequest","resources","permissionsToRequest","push","IOS","CAMERA","ANDROID","MICROPHONE","RECORD_AUDIO","LOCATION_WHEN_IN_USE","ACCESS_FINE_LOCATION","results","all","granted","every","grant","deny","setWaitingFlag","handleMessage","data","JSON","parse","type","href","from","warn","handleWebViewLoadEnd","loadedUrl","backgroundColor","ref","source","uri","onPermissionRequest","geolocationEnabled","androidPermissions","camera","microphone","geolocation","onError","startInLoadingState","renderLoading","onLoadEnd","originWhitelist","javaScriptEnabled","domStorageEnabled","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","onShouldStartLoadWithRequest","onNavigationStateChange","navState","decelerationRate","allowsBackForwardNavigationGestures","sharedCookiesEnabled","setSupportMultipleWindows","mixedContentMode","allowsLinkPreview","onMessage"],"sourceRoot":"../../../src","sources":["helpers/webview.tsx"],"mappings":"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CAAC,EACpC;MACAX,OAAO,CAACC,GAAG,CAAC,sCAAsC,EAAEM,GAAG,CAAC;MACxD0C,mBAAmB,CAAC1C,GAAG,CAAC;MACxB,OAAO,KAAK;IACd;IAEA,OAAO,IAAI;EACb,CAAC;EAED,MAAM+F,gBAAgB,GAAGA,CAAA,KAAM;IAC7B,IAAI9E,SAAS,IAAID,UAAU,CAACgF,OAAO,EAAE;MACnChF,UAAU,CAACgF,OAAO,CAACC,MAAM,CAAC,CAAC;MAC3B,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd,CAAC;EAEDnI,SAAS,CAAC,MAAM;IACd,MAAMoI,WAAW,GAAG5I,WAAW,CAAC6I,gBAAgB,CAC9C,mBAAmB,EACnBJ,gBACF,CAAC;IACD,OAAO,MAAM;MACXG,WAAW,CAACE,MAAM,CAAC,CAAC;IACtB,CAAC;EACH,CAAC,EAAE,CAACnF,SAAS,CAAC,CAAC;EAEf,MAAMoF,OAAO,GAAGA,CAAA,kBACd1H,IAAA,CAAChB,IAAI;IAAC2I,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAEC,cAAc,EAAE,QAAQ;MAAEC,UAAU,EAAE;IAAS,CAAE;IAAAC,QAAA,eACvE/H,IAAA,CAACjB,iBAAiB;MAACiJ,IAAI,EAAC;IAAO,CAAE;EAAC,CAC9B,CACP;;EAED;;EAEA,MAAMC,kBAAkB,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"webview.d.ts","sourceRoot":"","sources":["../../../../src/helpers/webview.tsx"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAcjC,UAAU,oBAAqB,SAAQ,YAAY;IACjD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,kBAAkB,CAAC,EAAE;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AACD,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,KAAK,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAc7C;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAoCtE;AAuBD,eAAO,MAAM,OAAO,GAAI,0EAOrB,kBAAkB,4CAsepB,CAAC"}
1
+ {"version":3,"file":"webview.d.ts","sourceRoot":"","sources":["../../../../src/helpers/webview.tsx"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAcjC,UAAU,oBAAqB,SAAQ,YAAY;IACjD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,kBAAkB,CAAC,EAAE;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AACD,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,KAAK,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAc7C;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAoCtE;AAuBD,eAAO,MAAM,OAAO,GAAI,0EAOrB,kBAAkB,4CAsgBpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "banking_dcb_sdk_react_native",
3
- "version": "1.0.773",
3
+ "version": "1.0.774w",
4
4
  "description": "React Native package for partner integrating with DCB",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/module/index.js",
@@ -405,69 +405,94 @@ export const WebView = ({
405
405
 
406
406
  const injectedJavaScript = `
407
407
  (function() {
408
- function isUserClosedRedirect(url) {
409
- if (!url) return false;
408
+ function safePost(msg) {
410
409
  try {
411
- var u = new URL(url, window.location.origin);
412
- if (u.pathname.indexOf('/api/user/redirect') === -1) return false;
413
- return u.searchParams.get('status') === 'USER_CLOSED';
414
- } catch (e) {
415
- return url.indexOf('/api/user/redirect?status=USER_CLOSED') !== -1;
416
- }
417
- }
418
-
419
- // Keep your RATE_LIMIT_USER error handler behavior
420
- var previousOnError = window.onerror || null;
421
- window.onerror = function(message, source, lineno, colno, error) {
422
- try {
423
- if (String(message || '').indexOf('RATE_LIMIT_USER') !== -1 &&
424
- window.ReactNativeWebView) {
425
- window.ReactNativeWebView.postMessage(JSON.stringify({
426
- type: 'RATE_LIMIT_ERROR'
427
- }));
410
+ if (window.ReactNativeWebView) {
411
+ window.ReactNativeWebView.postMessage(JSON.stringify(msg));
428
412
  }
429
413
  } catch (e) {}
430
- if (typeof previousOnError === 'function') {
431
- try { return previousOnError.apply(this, arguments); } catch (e) {}
432
- }
433
- };
414
+ }
434
415
 
435
- // Patch fetch only USER_CLOSED
436
- if (window.fetch) {
437
- var originalFetch = window.fetch;
438
- window.fetch = function() {
439
- try {
440
- var input = arguments[0];
441
- var url = typeof input === 'string'
442
- ? input
443
- : (input && input.url) || '';
444
- if (isUserClosedRedirect(url) && window.ReactNativeWebView) {
445
- window.ReactNativeWebView.postMessage(JSON.stringify({
446
- type: 'API_USER_CLOSED',
447
- via: 'fetch',
448
- url: url
449
- }));
450
- }
451
- } catch (e) {}
452
- return originalFetch.apply(this, arguments);
416
+ // Let RN know injection actually ran
417
+ safePost({
418
+ type: 'INJECT_READY',
419
+ href: window.location.href
420
+ });
421
+
422
+ // Spy on history.back()
423
+ if (window.history && typeof window.history.back === 'function') {
424
+ var originalBack = window.history.back;
425
+ window.history.back = function() {
426
+ safePost({
427
+ type: 'HISTORY_BACK_CALLED',
428
+ href: window.location.href
429
+ });
430
+ return originalBack.apply(this, arguments);
453
431
  };
454
432
  }
455
433
 
456
- // Patch XHR only USER_CLOSED
457
- if (window.XMLHttpRequest) {
458
- var originalOpen = XMLHttpRequest.prototype.open;
459
- XMLHttpRequest.prototype.open = function(method, url) {
460
- try {
461
- if (isUserClosedRedirect(url) && window.ReactNativeWebView) {
462
- window.ReactNativeWebView.postMessage(JSON.stringify({
463
- type: 'API_USER_CLOSED',
464
- via: 'xhr',
465
- url: url
466
- }));
434
+ // Spy on location.assign / replace
435
+ try {
436
+ var originalAssign = window.location.assign
437
+ ? window.location.assign.bind(window.location)
438
+ : null;
439
+ var originalReplace = window.location.replace
440
+ ? window.location.replace.bind(window.location)
441
+ : null;
442
+
443
+ if (originalAssign) {
444
+ window.location.assign = function(url) {
445
+ safePost({
446
+ type: 'LOCATION_ASSIGN',
447
+ url: url,
448
+ from: window.location.href
449
+ });
450
+ return originalAssign(url);
451
+ };
452
+ }
453
+
454
+ if (originalReplace) {
455
+ window.location.replace = function(url) {
456
+ safePost({
457
+ type: 'LOCATION_REPLACE',
458
+ url: url,
459
+ from: window.location.href
460
+ });
461
+ return originalReplace(url);
462
+ };
463
+ }
464
+
465
+ // Spy on direct href writes (best-effort)
466
+ try {
467
+ var currentHref = window.location.href;
468
+ Object.defineProperty(window.location, 'href', {
469
+ get: function() {
470
+ return currentHref;
471
+ },
472
+ set: function(val) {
473
+ safePost({
474
+ type: 'LOCATION_HREF_SET',
475
+ url: val,
476
+ from: currentHref
477
+ });
478
+ currentHref = val;
479
+ if (originalAssign) {
480
+ return originalAssign(val);
481
+ }
467
482
  }
468
- } catch (e) {}
469
- return originalOpen.apply(this, arguments);
470
- };
483
+ });
484
+ } catch (e) {
485
+ // Some browsers/WebViews don't allow redefining href; ignore
486
+ safePost({
487
+ type: 'LOCATION_HREF_PATCH_FAILED',
488
+ error: String(e)
489
+ });
490
+ }
491
+ } catch (e) {
492
+ safePost({
493
+ type: 'LOCATION_SPY_ERROR',
494
+ error: String(e)
495
+ });
471
496
  }
472
497
  })();
473
498
  true;
@@ -545,32 +570,39 @@ export const WebView = ({
545
570
  const handleMessage = (event: WebViewMessageEvent) => {
546
571
  try {
547
572
  const data = JSON.parse(event.nativeEvent.data);
573
+ console.log('SDK:LOG: onMessage data =', data);
574
+
575
+ switch (data?.type) {
576
+ case 'INJECT_READY':
577
+ console.log('SDK:LOG: INJECT_READY, href =', data.href);
578
+ break;
579
+
580
+ case 'HISTORY_BACK_CALLED':
581
+ console.log('SDK:LOG: HISTORY_BACK_CALLED at', data.href);
582
+ break;
583
+
584
+ case 'LOCATION_ASSIGN':
585
+ case 'LOCATION_REPLACE':
586
+ case 'LOCATION_HREF_SET':
587
+ console.log(
588
+ 'SDK:LOG:',
589
+ data.type,
590
+ 'from =',
591
+ data.from,
592
+ 'to =',
593
+ data.url
594
+ );
595
+ break;
548
596
 
549
- if (data?.method === 'CLOSE_CLICKED') {
550
- console.log('SDK:LOG: Received CLOSE_CLICKED from web');
551
- // optional: just log, or set a flag, up to you
552
- return;
553
- }
554
-
555
- if (data?.type === 'API_USER_CLOSED') {
556
- console.log(
557
- 'SDK:LOG: USER_CLOSED intercepted via',
558
- data.via,
559
- 'url =',
560
- data.url
561
- );
562
-
563
- StatusBar.setBackgroundColor('#7E7E7EFF');
564
- clearAllCookies();
565
- onCallback?.(WebViewCallback.redirect('USER_CLOSED'));
566
-
567
- // close the screen here if your host expects that
568
- // e.g. options?.onClose?.();
569
- return;
570
- }
597
+ case 'LOCATION_HREF_PATCH_FAILED':
598
+ case 'LOCATION_SPY_ERROR':
599
+ console.log('SDK:LOG:', data.type, data.error);
600
+ break;
571
601
 
572
- if (data?.type === 'RATE_LIMIT_ERROR') {
573
- // your existing RATE_LIMIT handling if any
602
+ default:
603
+ // keep your existing CLOSE_CLICKED / RATE_LIMIT logic here if you want,
604
+ // but for now pure logging is enough
605
+ break;
574
606
  }
575
607
  } catch (e) {
576
608
  console.warn('SDK:LOG: Error parsing WebView message', e);