banking_dcb_sdk_react_native 1.0.773 → 1.0.775
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.
|
@@ -92,7 +92,8 @@ export const WebView = ({
|
|
|
92
92
|
const webviewRef = useRef(null);
|
|
93
93
|
const [canGoBack, setCanGoBack] = useState(false);
|
|
94
94
|
const waitingForUserClosedRedirectRef = useRef(false);
|
|
95
|
-
const
|
|
95
|
+
const hasUserClosedRef = useRef(false);
|
|
96
|
+
const canGoBackRef = useRef(false);
|
|
96
97
|
|
|
97
98
|
// const [hasRedirected, setHasRedirected] = useState(false);
|
|
98
99
|
const [, setToast] = useState(null);
|
|
@@ -295,69 +296,94 @@ export const WebView = ({
|
|
|
295
296
|
|
|
296
297
|
const injectedJavaScript = `
|
|
297
298
|
(function() {
|
|
298
|
-
function
|
|
299
|
-
if (!url) return false;
|
|
299
|
+
function safePost(msg) {
|
|
300
300
|
try {
|
|
301
|
-
|
|
302
|
-
|
|
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
|
-
}));
|
|
301
|
+
if (window.ReactNativeWebView) {
|
|
302
|
+
window.ReactNativeWebView.postMessage(JSON.stringify(msg));
|
|
318
303
|
}
|
|
319
304
|
} catch (e) {}
|
|
320
|
-
|
|
321
|
-
try { return previousOnError.apply(this, arguments); } catch (e) {}
|
|
322
|
-
}
|
|
323
|
-
};
|
|
305
|
+
}
|
|
324
306
|
|
|
325
|
-
//
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
window.
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
}
|
|
341
|
-
} catch (e) {}
|
|
342
|
-
return originalFetch.apply(this, arguments);
|
|
307
|
+
// Let RN know injection actually ran
|
|
308
|
+
safePost({
|
|
309
|
+
type: 'INJECT_READY',
|
|
310
|
+
href: window.location.href
|
|
311
|
+
});
|
|
312
|
+
|
|
313
|
+
// Spy on history.back()
|
|
314
|
+
if (window.history && typeof window.history.back === 'function') {
|
|
315
|
+
var originalBack = window.history.back;
|
|
316
|
+
window.history.back = function() {
|
|
317
|
+
safePost({
|
|
318
|
+
type: 'HISTORY_BACK_CALLED',
|
|
319
|
+
href: window.location.href
|
|
320
|
+
});
|
|
321
|
+
return originalBack.apply(this, arguments);
|
|
343
322
|
};
|
|
344
323
|
}
|
|
345
324
|
|
|
346
|
-
//
|
|
347
|
-
|
|
348
|
-
var
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
325
|
+
// Spy on location.assign / replace
|
|
326
|
+
try {
|
|
327
|
+
var originalAssign = window.location.assign
|
|
328
|
+
? window.location.assign.bind(window.location)
|
|
329
|
+
: null;
|
|
330
|
+
var originalReplace = window.location.replace
|
|
331
|
+
? window.location.replace.bind(window.location)
|
|
332
|
+
: null;
|
|
333
|
+
|
|
334
|
+
if (originalAssign) {
|
|
335
|
+
window.location.assign = function(url) {
|
|
336
|
+
safePost({
|
|
337
|
+
type: 'LOCATION_ASSIGN',
|
|
338
|
+
url: url,
|
|
339
|
+
from: window.location.href
|
|
340
|
+
});
|
|
341
|
+
return originalAssign(url);
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
if (originalReplace) {
|
|
346
|
+
window.location.replace = function(url) {
|
|
347
|
+
safePost({
|
|
348
|
+
type: 'LOCATION_REPLACE',
|
|
349
|
+
url: url,
|
|
350
|
+
from: window.location.href
|
|
351
|
+
});
|
|
352
|
+
return originalReplace(url);
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
// Spy on direct href writes (best-effort)
|
|
357
|
+
try {
|
|
358
|
+
var currentHref = window.location.href;
|
|
359
|
+
Object.defineProperty(window.location, 'href', {
|
|
360
|
+
get: function() {
|
|
361
|
+
return currentHref;
|
|
362
|
+
},
|
|
363
|
+
set: function(val) {
|
|
364
|
+
safePost({
|
|
365
|
+
type: 'LOCATION_HREF_SET',
|
|
366
|
+
url: val,
|
|
367
|
+
from: currentHref
|
|
368
|
+
});
|
|
369
|
+
currentHref = val;
|
|
370
|
+
if (originalAssign) {
|
|
371
|
+
return originalAssign(val);
|
|
372
|
+
}
|
|
357
373
|
}
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
|
|
374
|
+
});
|
|
375
|
+
} catch (e) {
|
|
376
|
+
// Some browsers/WebViews don't allow redefining href; ignore
|
|
377
|
+
safePost({
|
|
378
|
+
type: 'LOCATION_HREF_PATCH_FAILED',
|
|
379
|
+
error: String(e)
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
} catch (e) {
|
|
383
|
+
safePost({
|
|
384
|
+
type: 'LOCATION_SPY_ERROR',
|
|
385
|
+
error: String(e)
|
|
386
|
+
});
|
|
361
387
|
}
|
|
362
388
|
})();
|
|
363
389
|
true;
|
|
@@ -406,31 +432,30 @@ export const WebView = ({
|
|
|
406
432
|
event.nativeEvent.deny();
|
|
407
433
|
}
|
|
408
434
|
};
|
|
409
|
-
const setWaitingFlag = value => {
|
|
410
|
-
waitingForUserClosedRedirectRef.current = value;
|
|
411
|
-
setWaitingForUserClosedRedirect(value);
|
|
412
|
-
};
|
|
413
435
|
const handleMessage = event => {
|
|
414
436
|
try {
|
|
415
437
|
const data = JSON.parse(event.nativeEvent.data);
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
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'));
|
|
438
|
+
console.log('SDK:LOG: onMessage data =', data);
|
|
439
|
+
if (data?.type === 'HISTORY_BACK_CALLED') {
|
|
440
|
+
console.log('SDK:LOG: HISTORY_BACK_CALLED at', data.href);
|
|
426
441
|
|
|
427
|
-
//
|
|
428
|
-
|
|
442
|
+
// If WebView has no back history, treat this as "user closed"
|
|
443
|
+
if (!canGoBackRef.current && !hasUserClosedRef.current) {
|
|
444
|
+
hasUserClosedRef.current = true;
|
|
445
|
+
console.log('SDK:LOG: No WebView history. Treating HISTORY_BACK as USER_CLOSED');
|
|
446
|
+
StatusBar.setBackgroundColor('#7E7E7EFF');
|
|
447
|
+
clearAllCookies();
|
|
448
|
+
onCallback?.(WebViewCallback.redirect('USER_CLOSED'));
|
|
449
|
+
|
|
450
|
+
// Now ask the host to close this WebView screen
|
|
451
|
+
// e.g. if this component is wrapped in a modal/screen, call:
|
|
452
|
+
// options?.onClose?.();
|
|
453
|
+
}
|
|
429
454
|
return;
|
|
430
455
|
}
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
456
|
+
|
|
457
|
+
// keep other existing handlers if you need them
|
|
458
|
+
// e.g. CLOSE_CLICKED, API_USER_CLOSED from fetch/xhr, RATE_LIMIT_ERROR, etc.
|
|
434
459
|
} catch (e) {
|
|
435
460
|
console.warn('SDK:LOG: Error parsing WebView message', e);
|
|
436
461
|
}
|
|
@@ -473,6 +498,7 @@ export const WebView = ({
|
|
|
473
498
|
onNavigationStateChange: navState => {
|
|
474
499
|
console.log('SDK:LOG: NAV STATE URL:', navState.url);
|
|
475
500
|
setCanGoBack(navState.canGoBack);
|
|
501
|
+
canGoBackRef.current = navState.canGoBack;
|
|
476
502
|
},
|
|
477
503
|
injectedJavaScript: injectedJavaScript,
|
|
478
504
|
decelerationRate: Platform.OS === 'ios' ? 'normal' : 0.9,
|
|
@@ -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","hasUserClosedRef","canGoBackRef","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","handleMessage","data","JSON","parse","type","href","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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G,CAACI,QAAQ,CAAC,sBAAsB,CAAC,EACpC;MACAX,OAAO,CAACC,GAAG,CAAC,sCAAsC,EAAEM,GAAG,CAAC;MACxD2C,mBAAmB,CAAC3C,GAAG,CAAC;MACxB,OAAO,KAAK;IACd;IAEA,OAAO,IAAI;EACb,CAAC;EAED,MAAMgG,gBAAgB,GAAGA,CAAA,KAAM;IAC7B,IAAI/E,SAAS,IAAID,UAAU,CAACiF,OAAO,EAAE;MACnCjF,UAAU,CAACiF,OAAO,CAACC,MAAM,CAAC,CAAC;MAC3B,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd,CAAC;EAEDpI,SAAS,CAAC,MAAM;IACd,MAAMqI,WAAW,GAAG7I,WAAW,CAAC8I,gBAAgB,CAC9C,mBAAmB,EACnBJ,gBACF,CAAC;IACD,OAAO,MAAM;MACXG,WAAW,CAACE,MAAM,CAAC,CAAC;IACtB,CAAC;EACH,CAAC,EAAE,CAACpF,SAAS,CAAC,CAAC;EAEf,MAAMqF,OAAO,GAAGA,CAAA,kBACd3H,IAAA,CAAChB,IAAI;IAAC4I,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAEC,cAAc,EAAE,QAAQ;MAAEC,UAAU,EAAE;IAAS,CAAE;IAAAC,QAAA,eACvEhI,IAAA,CAACjB,iBAAiB;MAACkJ,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;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,
|
|
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,4CA6fpB,CAAC"}
|
package/package.json
CHANGED
package/src/helpers/webview.tsx
CHANGED
|
@@ -144,7 +144,9 @@ export const WebView = ({
|
|
|
144
144
|
const webviewRef = useRef<RNWebView | null>(null);
|
|
145
145
|
const [canGoBack, setCanGoBack] = useState(false);
|
|
146
146
|
const waitingForUserClosedRedirectRef = useRef(false);
|
|
147
|
-
const
|
|
147
|
+
const hasUserClosedRef = useRef(false);
|
|
148
|
+
|
|
149
|
+
const canGoBackRef = useRef(false);
|
|
148
150
|
|
|
149
151
|
// const [hasRedirected, setHasRedirected] = useState(false);
|
|
150
152
|
const [, setToast] = useState<{ visible: boolean; message: string } | null>(
|
|
@@ -405,69 +407,94 @@ export const WebView = ({
|
|
|
405
407
|
|
|
406
408
|
const injectedJavaScript = `
|
|
407
409
|
(function() {
|
|
408
|
-
function
|
|
409
|
-
if (!url) return false;
|
|
410
|
-
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) {
|
|
410
|
+
function safePost(msg) {
|
|
422
411
|
try {
|
|
423
|
-
if (
|
|
424
|
-
|
|
425
|
-
window.ReactNativeWebView.postMessage(JSON.stringify({
|
|
426
|
-
type: 'RATE_LIMIT_ERROR'
|
|
427
|
-
}));
|
|
412
|
+
if (window.ReactNativeWebView) {
|
|
413
|
+
window.ReactNativeWebView.postMessage(JSON.stringify(msg));
|
|
428
414
|
}
|
|
429
415
|
} catch (e) {}
|
|
430
|
-
|
|
431
|
-
try { return previousOnError.apply(this, arguments); } catch (e) {}
|
|
432
|
-
}
|
|
433
|
-
};
|
|
416
|
+
}
|
|
434
417
|
|
|
435
|
-
//
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
window.
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
}
|
|
451
|
-
} catch (e) {}
|
|
452
|
-
return originalFetch.apply(this, arguments);
|
|
418
|
+
// Let RN know injection actually ran
|
|
419
|
+
safePost({
|
|
420
|
+
type: 'INJECT_READY',
|
|
421
|
+
href: window.location.href
|
|
422
|
+
});
|
|
423
|
+
|
|
424
|
+
// Spy on history.back()
|
|
425
|
+
if (window.history && typeof window.history.back === 'function') {
|
|
426
|
+
var originalBack = window.history.back;
|
|
427
|
+
window.history.back = function() {
|
|
428
|
+
safePost({
|
|
429
|
+
type: 'HISTORY_BACK_CALLED',
|
|
430
|
+
href: window.location.href
|
|
431
|
+
});
|
|
432
|
+
return originalBack.apply(this, arguments);
|
|
453
433
|
};
|
|
454
434
|
}
|
|
455
435
|
|
|
456
|
-
//
|
|
457
|
-
|
|
458
|
-
var
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
436
|
+
// Spy on location.assign / replace
|
|
437
|
+
try {
|
|
438
|
+
var originalAssign = window.location.assign
|
|
439
|
+
? window.location.assign.bind(window.location)
|
|
440
|
+
: null;
|
|
441
|
+
var originalReplace = window.location.replace
|
|
442
|
+
? window.location.replace.bind(window.location)
|
|
443
|
+
: null;
|
|
444
|
+
|
|
445
|
+
if (originalAssign) {
|
|
446
|
+
window.location.assign = function(url) {
|
|
447
|
+
safePost({
|
|
448
|
+
type: 'LOCATION_ASSIGN',
|
|
449
|
+
url: url,
|
|
450
|
+
from: window.location.href
|
|
451
|
+
});
|
|
452
|
+
return originalAssign(url);
|
|
453
|
+
};
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
if (originalReplace) {
|
|
457
|
+
window.location.replace = function(url) {
|
|
458
|
+
safePost({
|
|
459
|
+
type: 'LOCATION_REPLACE',
|
|
460
|
+
url: url,
|
|
461
|
+
from: window.location.href
|
|
462
|
+
});
|
|
463
|
+
return originalReplace(url);
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
// Spy on direct href writes (best-effort)
|
|
468
|
+
try {
|
|
469
|
+
var currentHref = window.location.href;
|
|
470
|
+
Object.defineProperty(window.location, 'href', {
|
|
471
|
+
get: function() {
|
|
472
|
+
return currentHref;
|
|
473
|
+
},
|
|
474
|
+
set: function(val) {
|
|
475
|
+
safePost({
|
|
476
|
+
type: 'LOCATION_HREF_SET',
|
|
477
|
+
url: val,
|
|
478
|
+
from: currentHref
|
|
479
|
+
});
|
|
480
|
+
currentHref = val;
|
|
481
|
+
if (originalAssign) {
|
|
482
|
+
return originalAssign(val);
|
|
483
|
+
}
|
|
467
484
|
}
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
|
|
485
|
+
});
|
|
486
|
+
} catch (e) {
|
|
487
|
+
// Some browsers/WebViews don't allow redefining href; ignore
|
|
488
|
+
safePost({
|
|
489
|
+
type: 'LOCATION_HREF_PATCH_FAILED',
|
|
490
|
+
error: String(e)
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
} catch (e) {
|
|
494
|
+
safePost({
|
|
495
|
+
type: 'LOCATION_SPY_ERROR',
|
|
496
|
+
error: String(e)
|
|
497
|
+
});
|
|
471
498
|
}
|
|
472
499
|
})();
|
|
473
500
|
true;
|
|
@@ -537,41 +564,36 @@ export const WebView = ({
|
|
|
537
564
|
}
|
|
538
565
|
};
|
|
539
566
|
|
|
540
|
-
const setWaitingFlag = (value: boolean) => {
|
|
541
|
-
waitingForUserClosedRedirectRef.current = value;
|
|
542
|
-
setWaitingForUserClosedRedirect(value);
|
|
543
|
-
};
|
|
544
|
-
|
|
545
567
|
const handleMessage = (event: WebViewMessageEvent) => {
|
|
546
568
|
try {
|
|
547
569
|
const data = JSON.parse(event.nativeEvent.data);
|
|
570
|
+
console.log('SDK:LOG: onMessage data =', data);
|
|
548
571
|
|
|
549
|
-
if (data?.
|
|
550
|
-
console.log('SDK:LOG:
|
|
551
|
-
// optional: just log, or set a flag, up to you
|
|
552
|
-
return;
|
|
553
|
-
}
|
|
572
|
+
if (data?.type === 'HISTORY_BACK_CALLED') {
|
|
573
|
+
console.log('SDK:LOG: HISTORY_BACK_CALLED at', data.href);
|
|
554
574
|
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
data.via,
|
|
559
|
-
'url =',
|
|
560
|
-
data.url
|
|
561
|
-
);
|
|
575
|
+
// If WebView has no back history, treat this as "user closed"
|
|
576
|
+
if (!canGoBackRef.current && !hasUserClosedRef.current) {
|
|
577
|
+
hasUserClosedRef.current = true;
|
|
562
578
|
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
579
|
+
console.log(
|
|
580
|
+
'SDK:LOG: No WebView history. Treating HISTORY_BACK as USER_CLOSED'
|
|
581
|
+
);
|
|
582
|
+
|
|
583
|
+
StatusBar.setBackgroundColor('#7E7E7EFF');
|
|
584
|
+
clearAllCookies();
|
|
585
|
+
onCallback?.(WebViewCallback.redirect('USER_CLOSED'));
|
|
586
|
+
|
|
587
|
+
// Now ask the host to close this WebView screen
|
|
588
|
+
// e.g. if this component is wrapped in a modal/screen, call:
|
|
589
|
+
// options?.onClose?.();
|
|
590
|
+
}
|
|
566
591
|
|
|
567
|
-
// close the screen here if your host expects that
|
|
568
|
-
// e.g. options?.onClose?.();
|
|
569
592
|
return;
|
|
570
593
|
}
|
|
571
594
|
|
|
572
|
-
if
|
|
573
|
-
|
|
574
|
-
}
|
|
595
|
+
// keep other existing handlers if you need them
|
|
596
|
+
// e.g. CLOSE_CLICKED, API_USER_CLOSED from fetch/xhr, RATE_LIMIT_ERROR, etc.
|
|
575
597
|
} catch (e) {
|
|
576
598
|
console.warn('SDK:LOG: Error parsing WebView message', e);
|
|
577
599
|
}
|
|
@@ -614,6 +636,7 @@ export const WebView = ({
|
|
|
614
636
|
onNavigationStateChange={(navState) => {
|
|
615
637
|
console.log('SDK:LOG: NAV STATE URL:', navState.url);
|
|
616
638
|
setCanGoBack(navState.canGoBack);
|
|
639
|
+
canGoBackRef.current = navState.canGoBack;
|
|
617
640
|
}}
|
|
618
641
|
injectedJavaScript={injectedJavaScript}
|
|
619
642
|
decelerationRate={Platform.OS === 'ios' ? 'normal' : 0.9}
|