@spare-technologies/spare-link 1.0.1 → 1.1.0
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/README.md +34 -5
- package/lib/commonjs/core/services/hosted-flow-controller.js +5 -0
- package/lib/commonjs/core/services/hosted-flow-controller.js.map +1 -1
- package/lib/commonjs/internal/hosted/bridge-message.js +13 -0
- package/lib/commonjs/internal/hosted/bridge-message.js.map +1 -1
- package/lib/commonjs/internal/telemetry/native-telemetry-reply.js +59 -0
- package/lib/commonjs/internal/telemetry/native-telemetry-reply.js.map +1 -0
- package/lib/commonjs/internal/telemetry/risk-telemetry-collector.js +99 -0
- package/lib/commonjs/internal/telemetry/risk-telemetry-collector.js.map +1 -0
- package/lib/commonjs/internal/telemetry/risk-telemetry-probes.js +134 -0
- package/lib/commonjs/internal/telemetry/risk-telemetry-probes.js.map +1 -0
- package/lib/commonjs/ui/hosted/hosted-payment-page.js +8 -0
- package/lib/commonjs/ui/hosted/hosted-payment-page.js.map +1 -1
- package/lib/commonjs/ui/hosted/hosted-payment-webview.js +31 -2
- package/lib/commonjs/ui/hosted/hosted-payment-webview.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/core/services/hosted-flow-controller.js +5 -0
- package/lib/module/core/services/hosted-flow-controller.js.map +1 -1
- package/lib/module/internal/hosted/bridge-message.js +13 -0
- package/lib/module/internal/hosted/bridge-message.js.map +1 -1
- package/lib/module/internal/telemetry/native-telemetry-reply.js +53 -0
- package/lib/module/internal/telemetry/native-telemetry-reply.js.map +1 -0
- package/lib/module/internal/telemetry/risk-telemetry-collector.js +94 -0
- package/lib/module/internal/telemetry/risk-telemetry-collector.js.map +1 -0
- package/lib/module/internal/telemetry/risk-telemetry-probes.js +129 -0
- package/lib/module/internal/telemetry/risk-telemetry-probes.js.map +1 -0
- package/lib/module/ui/hosted/hosted-payment-page.js +8 -0
- package/lib/module/ui/hosted/hosted-payment-page.js.map +1 -1
- package/lib/module/ui/hosted/hosted-payment-webview.js +32 -3
- package/lib/module/ui/hosted/hosted-payment-webview.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/commonjs/core/services/hosted-flow-controller.d.ts.map +1 -1
- package/lib/typescript/commonjs/internal/hosted/bridge-message.d.ts +12 -1
- package/lib/typescript/commonjs/internal/hosted/bridge-message.d.ts.map +1 -1
- package/lib/typescript/commonjs/internal/telemetry/native-telemetry-reply.d.ts +33 -0
- package/lib/typescript/commonjs/internal/telemetry/native-telemetry-reply.d.ts.map +1 -0
- package/lib/typescript/commonjs/internal/telemetry/risk-telemetry-collector.d.ts +47 -0
- package/lib/typescript/commonjs/internal/telemetry/risk-telemetry-collector.d.ts.map +1 -0
- package/lib/typescript/commonjs/internal/telemetry/risk-telemetry-probes.d.ts +19 -0
- package/lib/typescript/commonjs/internal/telemetry/risk-telemetry-probes.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hosted/hosted-payment-page.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hosted/hosted-payment-webview.d.ts +9 -0
- package/lib/typescript/commonjs/ui/hosted/hosted-payment-webview.d.ts.map +1 -1
- package/lib/typescript/commonjs/version.d.ts +1 -1
- package/lib/typescript/module/core/services/hosted-flow-controller.d.ts.map +1 -1
- package/lib/typescript/module/internal/hosted/bridge-message.d.ts +12 -1
- package/lib/typescript/module/internal/hosted/bridge-message.d.ts.map +1 -1
- package/lib/typescript/module/internal/telemetry/native-telemetry-reply.d.ts +33 -0
- package/lib/typescript/module/internal/telemetry/native-telemetry-reply.d.ts.map +1 -0
- package/lib/typescript/module/internal/telemetry/risk-telemetry-collector.d.ts +47 -0
- package/lib/typescript/module/internal/telemetry/risk-telemetry-collector.d.ts.map +1 -0
- package/lib/typescript/module/internal/telemetry/risk-telemetry-probes.d.ts +19 -0
- package/lib/typescript/module/internal/telemetry/risk-telemetry-probes.d.ts.map +1 -0
- package/lib/typescript/module/ui/hosted/hosted-payment-page.d.ts.map +1 -1
- package/lib/typescript/module/ui/hosted/hosted-payment-webview.d.ts +9 -0
- package/lib/typescript/module/ui/hosted/hosted-payment-webview.d.ts.map +1 -1
- package/lib/typescript/module/version.d.ts +1 -1
- package/package.json +24 -4
- package/plugins/with-spare-link.js +78 -5
- package/src/core/services/hosted-flow-controller.ts +5 -0
- package/src/internal/hosted/bridge-message.ts +20 -1
- package/src/internal/telemetry/native-telemetry-reply.ts +59 -0
- package/src/internal/telemetry/risk-telemetry-collector.ts +128 -0
- package/src/internal/telemetry/risk-telemetry-probes.ts +159 -0
- package/src/ui/hosted/hosted-payment-page.tsx +8 -0
- package/src/ui/hosted/hosted-payment-webview.tsx +42 -4
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeWebview","_hostedUrl","_logger","_urlParts","_index","_jsxRuntime","log","createLogger","safeOrigin","url","parts","parseUrlParts","scheme","host","shouldAllowHostedNavigation","args","isHostedOriginUrl","HostedPaymentWebView","props","baseUrl","reference","onBridgeMessage","onLoadFailure","onMounted","uri","buildHostedPaymentUrl","useEffect","handleMessage","useCallback","event","nativeEvent","data","handleShouldStartLoad","jsx","View","style","styles","container","testID","children","WebView","source","onMessage","originWhitelist","ALLOW_ALL_ORIGINS","onShouldStartLoadWithRequest","onError","severe","description","code","onHttpError","statusCode","onContentProcessDidTerminate","onRenderProcessGone","didCrash","webview","javaScriptEnabled","domStorageEnabled","incognito","setSupportMultipleWindows","allowFileAccess","allowUniversalAccessFromFileURLs","allowFileAccessFromFileURLs","StyleSheet","create","flex","backgroundColor","Colors","surfacePage"],"sourceRoot":"../../../../src","sources":["ui/hosted/hosted-payment-webview.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeWebview","_bridgeMessage","_hostedUrl","_logger","_nativeTelemetryReply","_urlParts","_index","_jsxRuntime","log","createLogger","safeOrigin","url","parts","parseUrlParts","scheme","host","shouldAllowHostedNavigation","args","isHostedOriginUrl","HostedPaymentWebView","props","baseUrl","reference","onBridgeMessage","onTelemetryRequest","onLoadFailure","onMounted","uri","buildHostedPaymentUrl","webViewRef","useRef","useEffect","handleMessage","useCallback","event","raw","nativeEvent","data","parseHostedBridgeMessage","type","respond","createTelemetryRequestHandler","collect","inject","script","current","injectJavaScript","handleShouldStartLoad","jsx","View","style","styles","container","testID","children","WebView","ref","source","onMessage","originWhitelist","ALLOW_ALL_ORIGINS","onShouldStartLoadWithRequest","onError","severe","description","code","onHttpError","statusCode","onContentProcessDidTerminate","onRenderProcessGone","didCrash","webview","javaScriptEnabled","domStorageEnabled","geolocationEnabled","incognito","setSupportMultipleWindows","allowFileAccess","allowUniversalAccessFromFileURLs","allowFileAccessFromFileURLs","StyleSheet","create","flex","backgroundColor","Colors","surfacePage"],"sourceRoot":"../../../../src","sources":["ui/hosted/hosted-payment-webview.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/version.js
CHANGED
|
@@ -12,5 +12,5 @@ exports.SDK_VERSION = void 0;
|
|
|
12
12
|
* `changeset version`). The src/index.ts smoke test asserts this matches
|
|
13
13
|
* package.json's version.
|
|
14
14
|
*/
|
|
15
|
-
const SDK_VERSION = exports.SDK_VERSION = '1.0
|
|
15
|
+
const SDK_VERSION = exports.SDK_VERSION = '1.1.0';
|
|
16
16
|
//# sourceMappingURL=version.js.map
|
|
@@ -109,6 +109,11 @@ export class HostedFlowController {
|
|
|
109
109
|
attempt: this.currentState.attempt
|
|
110
110
|
}));
|
|
111
111
|
break;
|
|
112
|
+
case 'telemetryRequest':
|
|
113
|
+
// Answered by the webview layer, which owns the injection channel the
|
|
114
|
+
// reply travels back on. Reaching here means no telemetry handler was
|
|
115
|
+
// wired, and the page's own timeout settles the request.
|
|
116
|
+
break;
|
|
112
117
|
}
|
|
113
118
|
return true;
|
|
114
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["launchBankRedirect","defaultLaunchBankRedirect","parseHostedBridgeMessage","createLogger","readPaymentReturn","HostedFlowStates","isTerminalPhase","log","DEFAULT_READY_TIMEOUT_MS","HostedFlowController","listeners","Set","constructor","options","reference","bankLauncher","url","authorizationUrl","readyTimeoutMs","currentState","loading","reportPageMounted","phase","watchForReadiness","state","subscribe","listener","add","delete","handleBridgeMessage","raw","message","info","isPagePresented","type","stopWatchingForReadiness","moveTo","hosted","attempt","openBank","cancelled","failed","errorCode","code","handleReturn","uri","outcome","report","undefined","warning","succeeded","abandoned","failToLoad","severe","unreachable","retry","giveUp","abandon","dispose","clear","readyTimer","setTimeout","clearTimeout","redirecting","awaitingCallback","next"],"sourceRoot":"../../../../src","sources":["core/services/hosted-flow-controller.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["launchBankRedirect","defaultLaunchBankRedirect","parseHostedBridgeMessage","createLogger","readPaymentReturn","HostedFlowStates","isTerminalPhase","log","DEFAULT_READY_TIMEOUT_MS","HostedFlowController","listeners","Set","constructor","options","reference","bankLauncher","url","authorizationUrl","readyTimeoutMs","currentState","loading","reportPageMounted","phase","watchForReadiness","state","subscribe","listener","add","delete","handleBridgeMessage","raw","message","info","isPagePresented","type","stopWatchingForReadiness","moveTo","hosted","attempt","openBank","cancelled","failed","errorCode","code","handleReturn","uri","outcome","report","undefined","warning","succeeded","abandoned","failToLoad","severe","unreachable","retry","giveUp","abandon","dispose","clear","readyTimer","setTimeout","clearTimeout","redirecting","awaitingCallback","next"],"sourceRoot":"../../../../src","sources":["core/services/hosted-flow-controller.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -27,6 +27,15 @@ import { parseUrlParts } from "../url-parts.js";
|
|
|
27
27
|
|
|
28
28
|
/** The flow cannot continue. [code] is the key the page itself renders. */
|
|
29
29
|
|
|
30
|
+
/**
|
|
31
|
+
* The page is asking for this device's native risk facts.
|
|
32
|
+
*
|
|
33
|
+
* The one message that expects an answer — not over this channel, which cannot
|
|
34
|
+
* reply, but through the `window.__spareLinkNativeTelemetry` callback the page
|
|
35
|
+
* exposes and the shell invokes by injecting script. A shell that stays silent
|
|
36
|
+
* costs the page one bounded timeout and nothing else.
|
|
37
|
+
*/
|
|
38
|
+
|
|
30
39
|
/**
|
|
31
40
|
* Parses a message posted by the hosted page.
|
|
32
41
|
*
|
|
@@ -57,6 +66,10 @@ export function parseHostedBridgeMessage(raw) {
|
|
|
57
66
|
return {
|
|
58
67
|
type: 'cancel'
|
|
59
68
|
};
|
|
69
|
+
case 'spare.telemetry_request':
|
|
70
|
+
return {
|
|
71
|
+
type: 'telemetryRequest'
|
|
72
|
+
};
|
|
60
73
|
case 'spare.error':
|
|
61
74
|
{
|
|
62
75
|
const code = message.code;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["parseUrlParts","parseHostedBridgeMessage","raw","message","asRecord","type","url","isHttpsUrl","code","trim","length","JSON","parse","Array","isArray","parts","scheme","host"],"sourceRoot":"../../../../src","sources":["internal/hosted/bridge-message.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,iBAAc;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["parseUrlParts","parseHostedBridgeMessage","raw","message","asRecord","type","url","isHttpsUrl","code","trim","length","JSON","parse","Array","isArray","parts","scheme","host"],"sourceRoot":"../../../../src","sources":["internal/hosted/bridge-message.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,iBAAc;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;;AAKA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAACC,GAAY,EAA8B;EACjF,MAAMC,OAAO,GAAGC,QAAQ,CAACF,GAAG,CAAC;EAC7B,IAAI,CAACC,OAAO,EAAE,OAAO,IAAI;EAEzB,MAAME,IAAI,GAAGF,OAAO,CAACE,IAAI;EACzB,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE,OAAO,IAAI;EAEzC,QAAQA,IAAI;IACV,KAAK,aAAa;MAChB,OAAO;QAAEA,IAAI,EAAE;MAAQ,CAAC;IAC1B,KAAK,gBAAgB;MAAE;QACrB,MAAMC,GAAG,GAAGH,OAAO,CAACG,GAAG;QACvB,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,CAACC,UAAU,CAACD,GAAG,CAAC,EAAE,OAAO,IAAI;QAC5D,OAAO;UAAED,IAAI,EAAE,SAAS;UAAEC;QAAI,CAAC;MACjC;IACA,KAAK,cAAc;MACjB,OAAO;QAAED,IAAI,EAAE;MAAS,CAAC;IAC3B,KAAK,yBAAyB;MAC5B,OAAO;QAAEA,IAAI,EAAE;MAAmB,CAAC;IACrC,KAAK,aAAa;MAAE;QAClB,MAAMG,IAAI,GAAGL,OAAO,CAACK,IAAI;QACzB,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACC,IAAI,CAAC,CAAC,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;QACrE,OAAO;UAAEL,IAAI,EAAE,OAAO;UAAEG;QAAK,CAAC;MAChC;IACA;MACE,OAAO,IAAI;EACf;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASJ,QAAQA,CAACF,GAAY,EAAkC;EAC9D,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IAC3B,IAAI;MACF,OAAOE,QAAQ,CAACO,IAAI,CAACC,KAAK,CAACV,GAAG,CAAY,CAAC;IAC7C,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF;EACA,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,IAAIW,KAAK,CAACC,OAAO,CAACZ,GAAG,CAAC,EAAE,OAAO,IAAI;EAC9E,OAAOA,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,UAAUA,CAACD,GAAW,EAAW;EACxC,MAAMS,KAAK,GAAGf,aAAa,CAACM,GAAG,CAAC;EAChC,OAAOS,KAAK,KAAK,IAAI,IAAIA,KAAK,CAACC,MAAM,KAAK,OAAO,IAAID,KAAK,CAACE,IAAI,CAACP,MAAM,GAAG,CAAC;AAC5E","ignoreList":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Delivers a telemetry reply into the hosted page.
|
|
5
|
+
*
|
|
6
|
+
* The WebView message channel is one-way, so the reply travels the other way:
|
|
7
|
+
* the page exposes `window.__spareLinkNativeTelemetry` before it asks, and the
|
|
8
|
+
* shell answers by injecting a call to it. A page without the callback — an
|
|
9
|
+
* older page, or one that already gave up waiting — receives nothing and the
|
|
10
|
+
* injected chunk evaluates to a harmless literal.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/** Page-exposed global the shell invokes with its telemetry reply. */
|
|
14
|
+
export const NATIVE_TELEMETRY_CALLBACK_NAME = '__spareLinkNativeTelemetry';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Builds the script that hands [payload] to the page's telemetry callback.
|
|
18
|
+
*
|
|
19
|
+
* The payload is embedded as a JSON literal. U+2028 and U+2029 are legal inside
|
|
20
|
+
* a JSON string but terminate a statement when evaluated as script, so they are
|
|
21
|
+
* escaped; the result is a single expression that is inert on a page without
|
|
22
|
+
* the callback.
|
|
23
|
+
*/
|
|
24
|
+
export function buildNativeTelemetryReplyScript(payload) {
|
|
25
|
+
const literal = JSON.stringify(payload).replaceAll('\u2028', '\\u2028').replaceAll('\u2029', '\\u2029');
|
|
26
|
+
return `window.${NATIVE_TELEMETRY_CALLBACK_NAME} && ` + `window.${NATIVE_TELEMETRY_CALLBACK_NAME}(${literal}); true;`;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Builds the handler the webview runs when the page asks for telemetry.
|
|
31
|
+
*
|
|
32
|
+
* Collection and injection are injected so the handler is a pure seam: the
|
|
33
|
+
* component wires the real collector and the WebView reference into it. A
|
|
34
|
+
* collector that answers nothing, or throws, injects nothing — the page's own
|
|
35
|
+
* timeout settles the request.
|
|
36
|
+
*/
|
|
37
|
+
export function createTelemetryRequestHandler(deps) {
|
|
38
|
+
return async () => {
|
|
39
|
+
let payload;
|
|
40
|
+
try {
|
|
41
|
+
payload = await deps.collect();
|
|
42
|
+
} catch {
|
|
43
|
+
payload = null;
|
|
44
|
+
}
|
|
45
|
+
if (payload == null) return;
|
|
46
|
+
try {
|
|
47
|
+
deps.inject(buildNativeTelemetryReplyScript(payload));
|
|
48
|
+
} catch {
|
|
49
|
+
// A torn-down webview cannot be injected into; the page's timeout answers.
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=native-telemetry-reply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NATIVE_TELEMETRY_CALLBACK_NAME","buildNativeTelemetryReplyScript","payload","literal","JSON","stringify","replaceAll","createTelemetryRequestHandler","deps","collect","inject"],"sourceRoot":"../../../../src","sources":["internal/telemetry/native-telemetry-reply.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,MAAMA,8BAA8B,GAAG,4BAA4B;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,+BAA+BA,CAACC,OAAgC,EAAU;EACxF,MAAMC,OAAO,GAAGC,IAAI,CAACC,SAAS,CAACH,OAAO,CAAC,CACpCI,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAC/BA,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;EAClC,OACE,UAAUN,8BAA8B,MAAM,GAC9C,UAAUA,8BAA8B,IAAIG,OAAO,UAAU;AAEjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,6BAA6BA,CAACC,IAG7C,EAAuB;EACtB,OAAO,YAAY;IACjB,IAAIN,OAAuC;IAC3C,IAAI;MACFA,OAAO,GAAG,MAAMM,IAAI,CAACC,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,MAAM;MACNP,OAAO,GAAG,IAAI;IAChB;IACA,IAAIA,OAAO,IAAI,IAAI,EAAE;IAErB,IAAI;MACFM,IAAI,CAACE,MAAM,CAACT,+BAA+B,CAACC,OAAO,CAAC,CAAC;IACvD,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Collects this device's native risk facts for the hosted payment page.
|
|
5
|
+
*
|
|
6
|
+
* Every probe is injected, so the collector runs under Jest with fakes and the
|
|
7
|
+
* module wiring lives in `risk-telemetry-probes`. Every probe is also allowed to
|
|
8
|
+
* fail or hang: a throwing or slow reading leaves its fact absent, because a risk
|
|
9
|
+
* reading must never delay or break a payment.
|
|
10
|
+
*
|
|
11
|
+
* The payload mirrors the page's own risk contract: camelCase keys under a
|
|
12
|
+
* `deviceInformation` block, facts only, nothing fabricated.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/** How long any single probe may take before its fact is given up on. */
|
|
16
|
+
export const TELEMETRY_PROBE_BUDGET_MS = 800;
|
|
17
|
+
|
|
18
|
+
/** Identity and build facts read from the platform. */
|
|
19
|
+
|
|
20
|
+
/** A battery reading, with the level as a 0 to 1 fraction. */
|
|
21
|
+
|
|
22
|
+
/** The network medium classes the risk payload distinguishes. */
|
|
23
|
+
|
|
24
|
+
/** The probes the collector runs. Each may answer null, throw, or hang. */
|
|
25
|
+
|
|
26
|
+
const CONNECTION_LABELS = {
|
|
27
|
+
wifi: 'WiFi',
|
|
28
|
+
cellular: 'Cellular',
|
|
29
|
+
other: 'Other'
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/** Runs a probe under the budget, yielding null on failure or timeout. */
|
|
33
|
+
async function guarded(probe) {
|
|
34
|
+
try {
|
|
35
|
+
return await Promise.race([probe(), new Promise(resolve => setTimeout(() => resolve(null), TELEMETRY_PROBE_BUDGET_MS))]);
|
|
36
|
+
} catch {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function read(reader) {
|
|
41
|
+
try {
|
|
42
|
+
return reader();
|
|
43
|
+
} catch {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Collects whatever the device answered within the per-probe budget.
|
|
50
|
+
*
|
|
51
|
+
* Returns null when nothing answered, so a caller hands the page nothing rather
|
|
52
|
+
* than an empty block.
|
|
53
|
+
*/
|
|
54
|
+
export async function collectRiskTelemetry(probes) {
|
|
55
|
+
const [snapshot, battery, connection] = await Promise.all([guarded(probes.loadDeviceSnapshot), guarded(probes.loadBattery), guarded(probes.loadConnection)]);
|
|
56
|
+
const localeTag = read(probes.localeTag);
|
|
57
|
+
const localDateTime = read(probes.localDateTime);
|
|
58
|
+
const deviceInformation = {};
|
|
59
|
+
if (snapshot?.operatingSystem != null) {
|
|
60
|
+
deviceInformation.deviceOperatingSystem = snapshot.operatingSystem;
|
|
61
|
+
}
|
|
62
|
+
if (snapshot?.operatingSystemVersion != null) {
|
|
63
|
+
deviceInformation.deviceOperatingSystemVersion = snapshot.operatingSystemVersion;
|
|
64
|
+
}
|
|
65
|
+
const manufacturer = {};
|
|
66
|
+
if (snapshot?.model != null) manufacturer.model = snapshot.model;
|
|
67
|
+
if (snapshot?.manufacturer != null) manufacturer.manufacturer = snapshot.manufacturer;
|
|
68
|
+
if (Object.keys(manufacturer).length > 0) {
|
|
69
|
+
deviceInformation.deviceManufacturer = manufacturer;
|
|
70
|
+
}
|
|
71
|
+
if (snapshot?.vendorIdentifier != null) {
|
|
72
|
+
deviceInformation.alternativeDeviceId = snapshot.vendorIdentifier;
|
|
73
|
+
}
|
|
74
|
+
if (localeTag != null) deviceInformation.deviceLanguage = localeTag;
|
|
75
|
+
if (localDateTime != null) deviceInformation.deviceLocalDateTime = localDateTime;
|
|
76
|
+
if (connection != null) deviceInformation.connectionType = CONNECTION_LABELS[connection];
|
|
77
|
+
const batteryStatus = {};
|
|
78
|
+
const level = battery?.levelFraction;
|
|
79
|
+
if (level != null && level >= 0 && level <= 1) batteryStatus.level = level;
|
|
80
|
+
if (battery?.isCharging != null) batteryStatus.isCharging = battery.isCharging;
|
|
81
|
+
if (Object.keys(batteryStatus).length > 0) {
|
|
82
|
+
deviceInformation.batteryStatus = batteryStatus;
|
|
83
|
+
}
|
|
84
|
+
const environmentContext = [];
|
|
85
|
+
if (snapshot?.isPhysicalDevice === false) environmentContext.push('EmulatorDetected');
|
|
86
|
+
if (environmentContext.length > 0) {
|
|
87
|
+
deviceInformation.deviceEnvironmentContext = environmentContext;
|
|
88
|
+
}
|
|
89
|
+
if (Object.keys(deviceInformation).length === 0) return null;
|
|
90
|
+
return {
|
|
91
|
+
deviceInformation
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=risk-telemetry-collector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TELEMETRY_PROBE_BUDGET_MS","CONNECTION_LABELS","wifi","cellular","other","guarded","probe","Promise","race","resolve","setTimeout","read","reader","collectRiskTelemetry","probes","snapshot","battery","connection","all","loadDeviceSnapshot","loadBattery","loadConnection","localeTag","localDateTime","deviceInformation","operatingSystem","deviceOperatingSystem","operatingSystemVersion","deviceOperatingSystemVersion","manufacturer","model","Object","keys","length","deviceManufacturer","vendorIdentifier","alternativeDeviceId","deviceLanguage","deviceLocalDateTime","connectionType","batteryStatus","level","levelFraction","isCharging","environmentContext","isPhysicalDevice","push","deviceEnvironmentContext"],"sourceRoot":"../../../../src","sources":["internal/telemetry/risk-telemetry-collector.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The real device probes behind `collectRiskTelemetry`.
|
|
5
|
+
*
|
|
6
|
+
* Every expo module here is an optional peer, loaded lazily inside a try/catch:
|
|
7
|
+
* a host app that ships without one simply reports that fact as absent, and no
|
|
8
|
+
* import of this file can throw for want of a native module. Structural `*Like`
|
|
9
|
+
* types keep this file honest about how little of each module it relies on.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { Platform } from 'react-native';
|
|
13
|
+
function load(moduleName) {
|
|
14
|
+
try {
|
|
15
|
+
// Resolved at call time so a host app without the optional peer never pays
|
|
16
|
+
// for it — bundlers keep the require because the name is static.
|
|
17
|
+
switch (moduleName) {
|
|
18
|
+
case 'expo-device':
|
|
19
|
+
return require('expo-device');
|
|
20
|
+
case 'expo-battery':
|
|
21
|
+
return require('expo-battery');
|
|
22
|
+
case 'expo-network':
|
|
23
|
+
return require('expo-network');
|
|
24
|
+
case 'expo-application':
|
|
25
|
+
return require('expo-application');
|
|
26
|
+
default:
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
} catch {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async function loadDeviceSnapshot() {
|
|
34
|
+
const device = load('expo-device');
|
|
35
|
+
if (device == null) return null;
|
|
36
|
+
|
|
37
|
+
// The vendor identifier is iOS-only by design: Android offers no equivalent
|
|
38
|
+
// scoped identifier worth persisting against a payment.
|
|
39
|
+
let vendorIdentifier = null;
|
|
40
|
+
if (Platform.OS === 'ios') {
|
|
41
|
+
const application = load('expo-application');
|
|
42
|
+
if (application != null) {
|
|
43
|
+
try {
|
|
44
|
+
vendorIdentifier = await application.getIosIdForVendorAsync();
|
|
45
|
+
} catch {
|
|
46
|
+
vendorIdentifier = null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
operatingSystem: Platform.OS === 'ios' ? 'iOS' : 'Android',
|
|
52
|
+
operatingSystemVersion: device.osVersion ?? null,
|
|
53
|
+
model: device.modelName ?? null,
|
|
54
|
+
manufacturer: device.manufacturer ?? null,
|
|
55
|
+
vendorIdentifier,
|
|
56
|
+
isPhysicalDevice: typeof device.isDevice === 'boolean' ? device.isDevice : null
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
async function loadBattery() {
|
|
60
|
+
const battery = load('expo-battery');
|
|
61
|
+
if (battery == null) return null;
|
|
62
|
+
const level = await battery.getBatteryLevelAsync();
|
|
63
|
+
const state = await battery.getBatteryStateAsync();
|
|
64
|
+
const charging = battery.BatteryState?.CHARGING;
|
|
65
|
+
const full = battery.BatteryState?.FULL;
|
|
66
|
+
return {
|
|
67
|
+
// The module reports -1 when the level cannot be read; the collector's 0..1
|
|
68
|
+
// bound would drop it anyway, made explicit here.
|
|
69
|
+
levelFraction: level >= 0 && level <= 1 ? level : null,
|
|
70
|
+
isCharging: charging != null ? state === charging || state === full : null
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
async function loadConnection() {
|
|
74
|
+
const network = load('expo-network');
|
|
75
|
+
if (network == null) return null;
|
|
76
|
+
const state = await network.getNetworkStateAsync();
|
|
77
|
+
const type = state.type?.toUpperCase() ?? null;
|
|
78
|
+
if (type == null || type === 'NONE' || type === 'UNKNOWN') return null;
|
|
79
|
+
if (type === 'WIFI') return 'wifi';
|
|
80
|
+
if (type === 'CELLULAR') return 'cellular';
|
|
81
|
+
return 'other';
|
|
82
|
+
}
|
|
83
|
+
function localeTag() {
|
|
84
|
+
try {
|
|
85
|
+
const tag = Intl.DateTimeFormat().resolvedOptions().locale;
|
|
86
|
+
return typeof tag === 'string' && tag.length > 0 ? tag : null;
|
|
87
|
+
} catch {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Formats a date as local-time ISO 8601 with a numeric UTC offset, e.g.
|
|
94
|
+
* `2026-08-25T10:45:46.319+05:30` — never the UTC `Z` form. This keeps the
|
|
95
|
+
* timestamp on the payer's own clock so it reads the same as the device shows,
|
|
96
|
+
* and matches the Flutter SDK's `deviceLocalDateTime`.
|
|
97
|
+
*/
|
|
98
|
+
export function formatLocalIsoWithOffset(date) {
|
|
99
|
+
const pad = (value, width = 2) => String(value).padStart(width, '0');
|
|
100
|
+
|
|
101
|
+
// getTimezoneOffset is minutes behind UTC, so east-of-UTC zones are negative;
|
|
102
|
+
// flip the sign to render the conventional offset.
|
|
103
|
+
const offsetMinutes = -date.getTimezoneOffset();
|
|
104
|
+
const sign = offsetMinutes >= 0 ? '+' : '-';
|
|
105
|
+
const absOffset = Math.abs(offsetMinutes);
|
|
106
|
+
const localDate = `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;
|
|
107
|
+
const localTime = `${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}.${pad(date.getMilliseconds(), 3)}`;
|
|
108
|
+
const offset = `${sign}${pad(Math.floor(absOffset / 60))}:${pad(absOffset % 60)}`;
|
|
109
|
+
return `${localDate}T${localTime}${offset}`;
|
|
110
|
+
}
|
|
111
|
+
function localDateTime() {
|
|
112
|
+
try {
|
|
113
|
+
return formatLocalIsoWithOffset(new Date());
|
|
114
|
+
} catch {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/** The production probe set, ready for `collectRiskTelemetry`. */
|
|
120
|
+
export function createRiskTelemetryProbes() {
|
|
121
|
+
return {
|
|
122
|
+
loadDeviceSnapshot,
|
|
123
|
+
loadBattery,
|
|
124
|
+
loadConnection,
|
|
125
|
+
localeTag,
|
|
126
|
+
localDateTime
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=risk-telemetry-probes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","load","moduleName","require","loadDeviceSnapshot","device","vendorIdentifier","OS","application","getIosIdForVendorAsync","operatingSystem","operatingSystemVersion","osVersion","model","modelName","manufacturer","isPhysicalDevice","isDevice","loadBattery","battery","level","getBatteryLevelAsync","state","getBatteryStateAsync","charging","BatteryState","CHARGING","full","FULL","levelFraction","isCharging","loadConnection","network","getNetworkStateAsync","type","toUpperCase","localeTag","tag","Intl","DateTimeFormat","resolvedOptions","locale","length","formatLocalIsoWithOffset","date","pad","value","width","String","padStart","offsetMinutes","getTimezoneOffset","sign","absOffset","Math","abs","localDate","getFullYear","getMonth","getDate","localTime","getHours","getMinutes","getSeconds","getMilliseconds","offset","floor","localDateTime","Date","createRiskTelemetryProbes"],"sourceRoot":"../../../../src","sources":["internal/telemetry/risk-telemetry-probes.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
import { useCallback, useEffect, useRef } from 'react';
|
|
4
4
|
import { ActivityIndicator, StyleSheet, Text, View } from 'react-native';
|
|
5
5
|
import { isTerminalPhase } from "../../core/services/hosted-flow-state.js";
|
|
6
|
+
import { collectRiskTelemetry } from "../../internal/telemetry/risk-telemetry-collector.js";
|
|
7
|
+
import { createRiskTelemetryProbes } from "../../internal/telemetry/risk-telemetry-probes.js";
|
|
6
8
|
import { useHostedFlowState } from "../hooks/use-hosted-flow-state.js";
|
|
7
9
|
import { PageUnavailableScreen } from "../screens/page-unavailable-screen.js";
|
|
8
10
|
import { RedirectHandoffScreen } from "../screens/redirect-handoff-screen.js";
|
|
@@ -62,6 +64,11 @@ export function HostedPaymentPage(props) {
|
|
|
62
64
|
const handleBridgeMessage = useCallback(message => {
|
|
63
65
|
void controller.handleBridgeMessage(message);
|
|
64
66
|
}, [controller]);
|
|
67
|
+
|
|
68
|
+
// One probe set for the page's lifetime; collection itself runs per request.
|
|
69
|
+
const handleTelemetryRequest = useCallback(() => {
|
|
70
|
+
return collectRiskTelemetry(createRiskTelemetryProbes());
|
|
71
|
+
}, []);
|
|
65
72
|
const handleLoadFailure = useCallback(() => {
|
|
66
73
|
controller.failToLoad();
|
|
67
74
|
}, [controller]);
|
|
@@ -93,6 +100,7 @@ export function HostedPaymentPage(props) {
|
|
|
93
100
|
baseUrl: baseUrl,
|
|
94
101
|
reference: controller.reference,
|
|
95
102
|
onBridgeMessage: handleBridgeMessage,
|
|
103
|
+
onTelemetryRequest: handleTelemetryRequest,
|
|
96
104
|
onLoadFailure: handleLoadFailure,
|
|
97
105
|
onMounted: handlePageMounted
|
|
98
106
|
}, state.attempt)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useRef","ActivityIndicator","StyleSheet","Text","View","isTerminalPhase","useHostedFlowState","PageUnavailableScreen","RedirectHandoffScreen","ResultScreen","ResumeProcessingScreen","Colors","Spacing","Typography","HostedPaymentWebView","jsx","_jsx","jsxs","_jsxs","RESULT_DWELL_MS","HostedPaymentPage","props","controller","baseUrl","onResolved","state","awaitingSinceMs","undefined","phase","current","Date","now","wasNeverReached","errorCode","resolved","timer","setTimeout","clearTimeout","handleBridgeMessage","message","handleLoadFailure","failToLoad","handlePageMounted","reportPageMounted","handleRetry","retry","handleGiveUp","giveUp","style","styles","fill","children","accessibilityElementsHidden","importantForAccessibility","reference","onBridgeMessage","onLoadFailure","onMounted","attempt","loadingCover","testID","size","color","spareBlue","bodyMuted","loadingLabel","onRetry","onCancel","awaitingCallbackStartedAtMs","abandon","title","isSuccess","onDone","create","flex","backgroundColor","surfacePage","absoluteFillObject","alignItems","justifyContent","gap","lg","textAlign"],"sourceRoot":"../../../../src","sources":["ui/hosted/hosted-payment-page.tsx"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACtD,SAASC,iBAAiB,EAAEC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAExE,SAASC,eAAe,QAAQ,0CAAuC;AACvE,SAASC,kBAAkB,QAAQ,mCAAgC;AACnE,SAASC,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,YAAY,QAAQ,6BAA0B;AACvD,SAASC,sBAAsB,QAAQ,wCAAqC;AAC5E,SAASC,MAAM,EAAEC,OAAO,EAAEC,UAAU,QAAQ,mBAAU;AACtD,SAASC,oBAAoB,QAAQ,6BAA0B;;AAE/D;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AACA,MAAMC,eAAe,GAAG,IAAI;AAU5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,KAA6B,EAAe;EAC5E,MAAM;IAAEC,UAAU;IAAEC,OAAO;IAAEC;EAAW,CAAC,GAAGH,KAAK;EACjD,MAAMI,KAAK,GAAGnB,kBAAkB,CAACgB,UAAU,CAAC;;EAE5C;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMI,eAAe,
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","ActivityIndicator","StyleSheet","Text","View","isTerminalPhase","collectRiskTelemetry","createRiskTelemetryProbes","useHostedFlowState","PageUnavailableScreen","RedirectHandoffScreen","ResultScreen","ResumeProcessingScreen","Colors","Spacing","Typography","HostedPaymentWebView","jsx","_jsx","jsxs","_jsxs","RESULT_DWELL_MS","HostedPaymentPage","props","controller","baseUrl","onResolved","state","awaitingSinceMs","undefined","phase","current","Date","now","wasNeverReached","errorCode","resolved","timer","setTimeout","clearTimeout","handleBridgeMessage","message","handleTelemetryRequest","handleLoadFailure","failToLoad","handlePageMounted","reportPageMounted","handleRetry","retry","handleGiveUp","giveUp","style","styles","fill","children","accessibilityElementsHidden","importantForAccessibility","reference","onBridgeMessage","onTelemetryRequest","onLoadFailure","onMounted","attempt","loadingCover","testID","size","color","spareBlue","bodyMuted","loadingLabel","onRetry","onCancel","awaitingCallbackStartedAtMs","abandon","title","isSuccess","onDone","create","flex","backgroundColor","surfacePage","absoluteFillObject","alignItems","justifyContent","gap","lg","textAlign"],"sourceRoot":"../../../../src","sources":["ui/hosted/hosted-payment-page.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useCallback, useEffect } from 'react';
|
|
3
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
4
4
|
import { StyleSheet, View } from 'react-native';
|
|
5
5
|
import { WebView } from 'react-native-webview';
|
|
6
|
+
import { parseHostedBridgeMessage } from "../../internal/hosted/bridge-message.js";
|
|
6
7
|
import { buildHostedPaymentUrl, isHostedOriginUrl } from "../../internal/hosted/hosted-url.js";
|
|
7
8
|
import { createLogger } from "../../internal/logger.js";
|
|
9
|
+
import { createTelemetryRequestHandler } from "../../internal/telemetry/native-telemetry-reply.js";
|
|
8
10
|
import { parseUrlParts } from "../../internal/url-parts.js";
|
|
9
11
|
import { Colors } from "../theme/index.js";
|
|
10
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -47,6 +49,7 @@ export function HostedPaymentWebView(props) {
|
|
|
47
49
|
baseUrl,
|
|
48
50
|
reference,
|
|
49
51
|
onBridgeMessage,
|
|
52
|
+
onTelemetryRequest,
|
|
50
53
|
onLoadFailure,
|
|
51
54
|
onMounted
|
|
52
55
|
} = props;
|
|
@@ -54,6 +57,7 @@ export function HostedPaymentWebView(props) {
|
|
|
54
57
|
baseUrl,
|
|
55
58
|
reference
|
|
56
59
|
});
|
|
60
|
+
const webViewRef = useRef(null);
|
|
57
61
|
|
|
58
62
|
// This reports that *this* webview exists, and a retry mounts a fresh instance
|
|
59
63
|
// which reports itself anew. Re-running on a new callback identity would
|
|
@@ -63,8 +67,21 @@ export function HostedPaymentWebView(props) {
|
|
|
63
67
|
onMounted?.();
|
|
64
68
|
}, []);
|
|
65
69
|
const handleMessage = useCallback(event => {
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
const raw = event.nativeEvent.data;
|
|
71
|
+
|
|
72
|
+
// The telemetry request is answered here, where the webview reference
|
|
73
|
+
// lives, because the reply is delivered by injecting script — a channel
|
|
74
|
+
// only this component holds. Everything else stays the caller's.
|
|
75
|
+
if (onTelemetryRequest && parseHostedBridgeMessage(raw)?.type === 'telemetryRequest') {
|
|
76
|
+
const respond = createTelemetryRequestHandler({
|
|
77
|
+
collect: onTelemetryRequest,
|
|
78
|
+
inject: script => webViewRef.current?.injectJavaScript(script)
|
|
79
|
+
});
|
|
80
|
+
void respond();
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
onBridgeMessage(raw);
|
|
84
|
+
}, [onBridgeMessage, onTelemetryRequest]);
|
|
68
85
|
|
|
69
86
|
// Every navigation is routed through here rather than through `originWhitelist`.
|
|
70
87
|
// A URL that fails the whitelist is handed to `Linking.openURL` by
|
|
@@ -88,6 +105,7 @@ export function HostedPaymentWebView(props) {
|
|
|
88
105
|
style: styles.container,
|
|
89
106
|
testID: "hosted-payment-webview",
|
|
90
107
|
children: /*#__PURE__*/_jsx(WebView, {
|
|
108
|
+
ref: webViewRef,
|
|
91
109
|
source: {
|
|
92
110
|
uri
|
|
93
111
|
},
|
|
@@ -133,6 +151,17 @@ export function HostedPaymentWebView(props) {
|
|
|
133
151
|
style: styles.webview,
|
|
134
152
|
javaScriptEnabled: true,
|
|
135
153
|
domStorageEnabled: true
|
|
154
|
+
// Lets the page's consent screen ask for a coarse location fix, which it
|
|
155
|
+
// attaches to the payment as a risk signal. Android only; iOS raises its
|
|
156
|
+
// own per-origin system prompt, gated by the host app's usage-description
|
|
157
|
+
// entry. This toggle is frame-wide — the platform offers no per-origin
|
|
158
|
+
// answer here — so the scope rests on `handleShouldStartLoad` above
|
|
159
|
+
// refusing every off-origin document in this frame. The toggle alone also
|
|
160
|
+
// reveals nothing: the host application must hold the user-facing location
|
|
161
|
+
// permission, and without it the page's request fails and the payment
|
|
162
|
+
// proceeds without the signal.
|
|
163
|
+
,
|
|
164
|
+
geolocationEnabled: true
|
|
136
165
|
// The page holds a payment in progress and nothing else should share its
|
|
137
166
|
// storage, on this device or between payers on it.
|
|
138
167
|
,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","StyleSheet","View","WebView","buildHostedPaymentUrl","isHostedOriginUrl","createLogger","parseUrlParts","Colors","jsx","_jsx","log","safeOrigin","url","parts","scheme","host","shouldAllowHostedNavigation","args","HostedPaymentWebView","props","baseUrl","reference","onBridgeMessage","onLoadFailure","onMounted","uri","handleMessage","event","nativeEvent","data","handleShouldStartLoad","style","styles","container","testID","children","source","onMessage","originWhitelist","ALLOW_ALL_ORIGINS","onShouldStartLoadWithRequest","onError","severe","description","code","onHttpError","statusCode","onContentProcessDidTerminate","onRenderProcessGone","didCrash","webview","javaScriptEnabled","domStorageEnabled","incognito","setSupportMultipleWindows","allowFileAccess","allowUniversalAccessFromFileURLs","allowFileAccessFromFileURLs","create","flex","backgroundColor","surfacePage"],"sourceRoot":"../../../../src","sources":["ui/hosted/hosted-payment-webview.tsx"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","StyleSheet","View","WebView","parseHostedBridgeMessage","buildHostedPaymentUrl","isHostedOriginUrl","createLogger","createTelemetryRequestHandler","parseUrlParts","Colors","jsx","_jsx","log","safeOrigin","url","parts","scheme","host","shouldAllowHostedNavigation","args","HostedPaymentWebView","props","baseUrl","reference","onBridgeMessage","onTelemetryRequest","onLoadFailure","onMounted","uri","webViewRef","handleMessage","event","raw","nativeEvent","data","type","respond","collect","inject","script","current","injectJavaScript","handleShouldStartLoad","style","styles","container","testID","children","ref","source","onMessage","originWhitelist","ALLOW_ALL_ORIGINS","onShouldStartLoadWithRequest","onError","severe","description","code","onHttpError","statusCode","onContentProcessDidTerminate","onRenderProcessGone","didCrash","webview","javaScriptEnabled","domStorageEnabled","geolocationEnabled","incognito","setSupportMultipleWindows","allowFileAccess","allowUniversalAccessFromFileURLs","allowFileAccessFromFileURLs","create","flex","backgroundColor","surfacePage"],"sourceRoot":"../../../../src","sources":["ui/hosted/hosted-payment-webview.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosted-flow-controller.d.ts","sourceRoot":"","sources":["../../../../../src/core/services/hosted-flow-controller.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,eAAe,EAAqC,MAAM,qBAAqB,CAAC;AAI9F,0DAA0D;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,UAAU,CAA4C;gBAElD,OAAO,EAAE,2BAA2B;IAQhD;;;;;OAKG;IACH,iBAAiB,IAAI,IAAI;IAKzB,IAAI,KAAK,IAAI,eAAe,CAE3B;IAED,mEAAmE;IACnE,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAO3C;;;;;;OAMG;IACG,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"hosted-flow-controller.d.ts","sourceRoot":"","sources":["../../../../../src/core/services/hosted-flow-controller.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,eAAe,EAAqC,MAAM,qBAAqB,CAAC;AAI9F,0DAA0D;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,UAAU,CAA4C;gBAElD,OAAO,EAAE,2BAA2B;IAQhD;;;;;OAKG;IACH,iBAAiB,IAAI,IAAI;IAKzB,IAAI,KAAK,IAAI,eAAe,CAE3B;IAED,mEAAmE;IACnE,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAO3C;;;;;;OAMG;IACG,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAiDzD;;;;;OAKG;IACH,+EAA+E;IAC/E,OAAO,CAAC,eAAe;IAKvB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI;IA4CrC;;;;;;;;;;;;;OAaG;IACH,UAAU,IAAI,IAAI;IA2BlB;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IAWb;;;;;OAKG;IACH,MAAM,IAAI,IAAI;IAed;;;;;;OAMG;IACH,OAAO,IAAI,IAAI;IAmBf,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,wBAAwB;IAMhC;;;;;;;OAOG;YACW,QAAQ;IAiCtB,OAAO,CAAC,MAAM;CAcf"}
|