@userflow-tech/react-native 0.3.0 → 0.3.1
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 +325 -63
- package/docs/anchoring.md +58 -42
- package/docs/troubleshooting.md +63 -27
- package/expo-plugin/hostDependencyWarnings.d.ts +18 -0
- package/expo-plugin/hostDependencyWarnings.d.ts.map +1 -0
- package/expo-plugin/hostDependencyWarnings.js +91 -0
- package/expo-plugin/hostDependencyWarnings.js.map +1 -0
- package/expo-plugin/withUserflow.d.ts.map +1 -1
- package/expo-plugin/withUserflow.js +16 -0
- package/expo-plugin/withUserflow.js.map +1 -1
- package/lib/commonjs/anchors/AnchorRegistry.js +7 -0
- package/lib/commonjs/anchors/AnchorRegistry.js.map +1 -1
- package/lib/commonjs/anchors/elementConditionEvaluator.js +189 -55
- package/lib/commonjs/anchors/elementConditionEvaluator.js.map +1 -1
- package/lib/commonjs/anchors/elementTapMonitor.js +92 -0
- package/lib/commonjs/anchors/elementTapMonitor.js.map +1 -0
- package/lib/commonjs/anchors/elementTargetMatch.js +85 -0
- package/lib/commonjs/anchors/elementTargetMatch.js.map +1 -0
- package/lib/commonjs/anchors/fiber/findAnchorFiber.js +64 -39
- package/lib/commonjs/anchors/fiber/findAnchorFiber.js.map +1 -1
- package/lib/commonjs/anchors/fiber/touchTargetFiber.js +105 -0
- package/lib/commonjs/anchors/fiber/touchTargetFiber.js.map +1 -0
- package/lib/commonjs/anchors/resolveAnchorHost.js +2 -1
- package/lib/commonjs/anchors/resolveAnchorHost.js.map +1 -1
- package/lib/commonjs/anchors/resolveAutoAnchorHost.js +4 -2
- package/lib/commonjs/anchors/resolveAutoAnchorHost.js.map +1 -1
- package/lib/commonjs/anchors/resolveElementTargets.js +158 -0
- package/lib/commonjs/anchors/resolveElementTargets.js.map +1 -0
- package/lib/commonjs/anchors/targetPressMonitor.js +9 -3
- package/lib/commonjs/anchors/targetPressMonitor.js.map +1 -1
- package/lib/commonjs/anchors/useUserflowAnchor.js +1 -0
- package/lib/commonjs/anchors/useUserflowAnchor.js.map +1 -1
- package/lib/commonjs/anonymousId.js +16 -7
- package/lib/commonjs/anonymousId.js.map +1 -1
- package/lib/commonjs/index.js +5 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/installCheck.js +151 -0
- package/lib/commonjs/installCheck.js.map +1 -0
- package/lib/commonjs/pairing/deviceId.js +14 -11
- package/lib/commonjs/pairing/deviceId.js.map +1 -1
- package/lib/commonjs/runtime/TargetPressBridge.js +12 -1
- package/lib/commonjs/runtime/TargetPressBridge.js.map +1 -1
- package/lib/commonjs/runtime/UserflowProvider.js +6 -3
- package/lib/commonjs/runtime/UserflowProvider.js.map +1 -1
- package/lib/commonjs/storage/asyncStorage.js +67 -0
- package/lib/commonjs/storage/asyncStorage.js.map +1 -0
- package/lib/commonjs/surfaces/safeArea.js +68 -28
- package/lib/commonjs/surfaces/safeArea.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/anchors/AnchorRegistry.js +7 -0
- package/lib/module/anchors/AnchorRegistry.js.map +1 -1
- package/lib/module/anchors/elementConditionEvaluator.js +189 -55
- package/lib/module/anchors/elementConditionEvaluator.js.map +1 -1
- package/lib/module/anchors/elementTapMonitor.js +87 -0
- package/lib/module/anchors/elementTapMonitor.js.map +1 -0
- package/lib/module/anchors/elementTargetMatch.js +78 -0
- package/lib/module/anchors/elementTargetMatch.js.map +1 -0
- package/lib/module/anchors/fiber/findAnchorFiber.js +62 -39
- package/lib/module/anchors/fiber/findAnchorFiber.js.map +1 -1
- package/lib/module/anchors/fiber/touchTargetFiber.js +100 -0
- package/lib/module/anchors/fiber/touchTargetFiber.js.map +1 -0
- package/lib/module/anchors/resolveAnchorHost.js +2 -1
- package/lib/module/anchors/resolveAnchorHost.js.map +1 -1
- package/lib/module/anchors/resolveAutoAnchorHost.js +3 -3
- package/lib/module/anchors/resolveAutoAnchorHost.js.map +1 -1
- package/lib/module/anchors/resolveElementTargets.js +152 -0
- package/lib/module/anchors/resolveElementTargets.js.map +1 -0
- package/lib/module/anchors/targetPressMonitor.js +8 -3
- package/lib/module/anchors/targetPressMonitor.js.map +1 -1
- package/lib/module/anchors/useUserflowAnchor.js +1 -0
- package/lib/module/anchors/useUserflowAnchor.js.map +1 -1
- package/lib/module/anonymousId.js +15 -5
- package/lib/module/anonymousId.js.map +1 -1
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/installCheck.js +139 -0
- package/lib/module/installCheck.js.map +1 -0
- package/lib/module/pairing/deviceId.js +14 -10
- package/lib/module/pairing/deviceId.js.map +1 -1
- package/lib/module/runtime/TargetPressBridge.js +12 -1
- package/lib/module/runtime/TargetPressBridge.js.map +1 -1
- package/lib/module/runtime/UserflowProvider.js +7 -4
- package/lib/module/runtime/UserflowProvider.js.map +1 -1
- package/lib/module/storage/asyncStorage.js +61 -0
- package/lib/module/storage/asyncStorage.js.map +1 -0
- package/lib/module/surfaces/safeArea.js +65 -28
- package/lib/module/surfaces/safeArea.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts +7 -0
- package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts +12 -16
- package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts +36 -0
- package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts +20 -0
- package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/findAnchorFiber.d.ts +17 -5
- package/lib/typescript/commonjs/src/anchors/fiber/findAnchorFiber.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/touchTargetFiber.d.ts +24 -0
- package/lib/typescript/commonjs/src/anchors/fiber/touchTargetFiber.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts +2 -1
- package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts +10 -1
- package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/resolveElementTargets.d.ts +39 -0
- package/lib/typescript/commonjs/src/anchors/resolveElementTargets.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts +2 -0
- package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anonymousId.d.ts +2 -0
- package/lib/typescript/commonjs/src/anonymousId.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/installCheck.d.ts +33 -0
- package/lib/typescript/commonjs/src/installCheck.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/pairing/deviceId.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts +2 -1
- package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/storage/asyncStorage.d.ts +15 -0
- package/lib/typescript/commonjs/src/storage/asyncStorage.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/safeArea.d.ts +4 -2
- package/lib/typescript/commonjs/src/surfaces/safeArea.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/version.d.ts +1 -1
- package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts +7 -0
- package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts +12 -16
- package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts +36 -0
- package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts +20 -0
- package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/findAnchorFiber.d.ts +17 -5
- package/lib/typescript/module/src/anchors/fiber/findAnchorFiber.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/touchTargetFiber.d.ts +24 -0
- package/lib/typescript/module/src/anchors/fiber/touchTargetFiber.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts +2 -1
- package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts +10 -1
- package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/resolveElementTargets.d.ts +39 -0
- package/lib/typescript/module/src/anchors/resolveElementTargets.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts +2 -0
- package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts.map +1 -1
- package/lib/typescript/module/src/anonymousId.d.ts +2 -0
- package/lib/typescript/module/src/anonymousId.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/installCheck.d.ts +33 -0
- package/lib/typescript/module/src/installCheck.d.ts.map +1 -0
- package/lib/typescript/module/src/pairing/deviceId.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts +2 -1
- package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/UserflowProvider.d.ts.map +1 -1
- package/lib/typescript/module/src/storage/asyncStorage.d.ts +15 -0
- package/lib/typescript/module/src/storage/asyncStorage.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/safeArea.d.ts +4 -2
- package/lib/typescript/module/src/surfaces/safeArea.d.ts.map +1 -1
- package/lib/typescript/module/src/version.d.ts +1 -1
- package/package.json +13 -1
- package/src/anchors/AnchorRegistry.ts +12 -0
- package/src/anchors/elementConditionEvaluator.ts +235 -70
- package/src/anchors/elementTapMonitor.ts +95 -0
- package/src/anchors/elementTargetMatch.ts +90 -0
- package/src/anchors/fiber/findAnchorFiber.ts +66 -35
- package/src/anchors/fiber/touchTargetFiber.ts +125 -0
- package/src/anchors/resolveAnchorHost.ts +2 -1
- package/src/anchors/resolveAutoAnchorHost.ts +3 -3
- package/src/anchors/resolveElementTargets.ts +165 -0
- package/src/anchors/targetPressMonitor.ts +12 -3
- package/src/anchors/useUserflowAnchor.ts +1 -0
- package/src/anonymousId.ts +19 -8
- package/src/index.ts +10 -0
- package/src/installCheck.ts +191 -0
- package/src/pairing/deviceId.ts +14 -11
- package/src/runtime/TargetPressBridge.tsx +17 -1
- package/src/runtime/UserflowProvider.tsx +11 -4
- package/src/storage/asyncStorage.ts +88 -0
- package/src/surfaces/safeArea.ts +80 -40
- package/src/version.ts +1 -1
- package/vendor/core/dist/constants.d.ts +2 -0
- package/vendor/core/dist/constants.d.ts.map +1 -1
- package/vendor/core/dist/constants.js +2 -0
- package/vendor/core/dist/constants.js.map +1 -1
- package/vendor/core/dist/engine/ClientConditionEngine.d.ts +20 -1
- package/vendor/core/dist/engine/ClientConditionEngine.d.ts.map +1 -1
- package/vendor/core/dist/engine/ClientConditionEngine.js +13 -10
- package/vendor/core/dist/engine/ClientConditionEngine.js.map +1 -1
- package/vendor/core/dist/engine/UserflowCore.d.ts.map +1 -1
- package/vendor/core/dist/engine/UserflowCore.js +21 -2
- package/vendor/core/dist/engine/UserflowCore.js.map +1 -1
- package/vendor/core/dist/index.d.ts +1 -1
- package/vendor/core/dist/index.d.ts.map +1 -1
- package/vendor/core/dist/index.js.map +1 -1
- package/vendor/core/dist/version.d.ts +1 -1
- package/vendor/core/dist/version.js +1 -1
- package/vendor/core/package.json +1 -1
- package/vendor/protocol/package.json +1 -1
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Resolve every host an ELEMENT condition should consider.
|
|
5
|
+
*
|
|
6
|
+
* Tooltips fail closed when an id matches more than one view. Conditions follow
|
|
7
|
+
* the web SDK instead: any match counts. AUTO exact ids (`userflowId`, then
|
|
8
|
+
* `testID`, then a real `nativeID`) use that same multi-host lookup, and fall
|
|
9
|
+
* through to scoring only when nothing matched.
|
|
10
|
+
*/
|
|
11
|
+
import { decodeMobileAutoData } from '@userflow-tech/protocol';
|
|
12
|
+
import { anchorRegistry } from "./AnchorRegistry.js";
|
|
13
|
+
import { anchorIdsAboveTap } from "./elementTargetMatch.js";
|
|
14
|
+
import { fiberScanRoot } from "./fiber/FiberScanRoot.js";
|
|
15
|
+
import { publicInstanceFromHostFiber } from "./fiber/fiberInternals.js";
|
|
16
|
+
import { findAnchorFibers } from "./fiber/findAnchorFiber.js";
|
|
17
|
+
import { createLazyHostFiberIndex, lookupHostFiber } from "./fiber/indexHostFibers.js";
|
|
18
|
+
import { createFiberMeasureInWindow } from "./fiber/measureHostFiber.js";
|
|
19
|
+
import { isFiberOnVisibleScreen } from "./fiber/visibleScreens.js";
|
|
20
|
+
import { exactIdFromFingerprint, resolveAutoAnchorHost, resolveScoredAutoAnchor } from "./resolveAutoAnchorHost.js";
|
|
21
|
+
import { resolveManualAnchorId } from "./resolveManualAnchorId.js";
|
|
22
|
+
export function resolveElementTargets(selector) {
|
|
23
|
+
if (selector == null) return {
|
|
24
|
+
status: 'unknown'
|
|
25
|
+
};
|
|
26
|
+
if (selector.type === 'AUTO') {
|
|
27
|
+
return resolveAutoTargets(selector.autoData);
|
|
28
|
+
}
|
|
29
|
+
const anchorId = resolveManualAnchorId(selector.css);
|
|
30
|
+
if (anchorId == null) return {
|
|
31
|
+
status: 'unknown'
|
|
32
|
+
};
|
|
33
|
+
return resolveManualTargets(anchorId);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* False when no target of `selector` can contain `tap`, decided without a tree
|
|
38
|
+
* scan. A fiber-scan target carries its id itself or sits under a composite
|
|
39
|
+
* that does, so a MANUAL id that is neither registered nor on the tap's
|
|
40
|
+
* ancestor chain cannot match. AUTO selectors are not gated: only a scan tells
|
|
41
|
+
* whether the exact id or a scored match applies.
|
|
42
|
+
*/
|
|
43
|
+
export function tapMayHitSelector(selector, tap) {
|
|
44
|
+
if (selector == null) return false;
|
|
45
|
+
if (selector.type === 'AUTO') return true;
|
|
46
|
+
const anchorId = resolveManualAnchorId(selector.css);
|
|
47
|
+
if (anchorId == null) return false;
|
|
48
|
+
return anchorRegistry.get(anchorId) != null || anchorIdsAboveTap(tap).has(anchorId);
|
|
49
|
+
}
|
|
50
|
+
function resolveAutoTargets(autoData) {
|
|
51
|
+
const decoded = decodeMobileAutoData(autoData);
|
|
52
|
+
const fingerprint = decoded?.fingerprint;
|
|
53
|
+
if (!decoded || !fingerprint) return {
|
|
54
|
+
status: 'unknown'
|
|
55
|
+
};
|
|
56
|
+
if (decoded.resolver === 'fiber' && decoded.fiberPath) {
|
|
57
|
+
return fromAutoResolution(resolveAutoAnchorHost(decoded));
|
|
58
|
+
}
|
|
59
|
+
const exactId = exactIdFromFingerprint(fingerprint);
|
|
60
|
+
if (exactId) {
|
|
61
|
+
const manual = resolveManualTargets(exactId);
|
|
62
|
+
if (manual.status === 'found') return manual;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// The exact id already missed above, so go straight to scoring rather than
|
|
66
|
+
// letting resolveAutoAnchorHost scan for it again.
|
|
67
|
+
return fromAutoResolution(resolveScoredAutoAnchor(fingerprint));
|
|
68
|
+
}
|
|
69
|
+
function fromAutoResolution(resolution) {
|
|
70
|
+
if (resolution.status === 'found') {
|
|
71
|
+
// Scored matches only try the direct ref pointer, which Paper release
|
|
72
|
+
// builds null out. Without the index fallback a tap could never match.
|
|
73
|
+
const fiber = resolution.fiber ?? fiberForNode(createLazyHostFiberIndex(), resolution.match?.instance?.ref.current);
|
|
74
|
+
return {
|
|
75
|
+
status: 'found',
|
|
76
|
+
targets: [{
|
|
77
|
+
host: resolution.host,
|
|
78
|
+
...(fiber ? {
|
|
79
|
+
fiber
|
|
80
|
+
} : {})
|
|
81
|
+
}]
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
if (resolution.status === 'absent') return {
|
|
85
|
+
status: 'absent'
|
|
86
|
+
};
|
|
87
|
+
// Ambiguous and unknown both fail closed. Ambiguous is a real tie, not a
|
|
88
|
+
// broken selector, so it does not warn.
|
|
89
|
+
if (resolution.status === 'ambiguous') return {
|
|
90
|
+
status: 'unknown',
|
|
91
|
+
silent: true
|
|
92
|
+
};
|
|
93
|
+
return {
|
|
94
|
+
status: 'unknown'
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function resolveManualTargets(id) {
|
|
98
|
+
const registered = anchorRegistry.getAll(id);
|
|
99
|
+
if (registered.length > 0) {
|
|
100
|
+
const index = createLazyHostFiberIndex();
|
|
101
|
+
// Registered views on a covered navigator screen still measure non-zero,
|
|
102
|
+
// so drop them here the way the fiber scan skips covered screens. A host
|
|
103
|
+
// whose fiber cannot be found is kept.
|
|
104
|
+
const targets = registered.map(host => {
|
|
105
|
+
const fiber = fiberForNode(index, host.node);
|
|
106
|
+
return fiber ? {
|
|
107
|
+
host,
|
|
108
|
+
fiber
|
|
109
|
+
} : {
|
|
110
|
+
host
|
|
111
|
+
};
|
|
112
|
+
}).filter(target => !target.fiber || isFiberOnVisibleScreen(target.fiber));
|
|
113
|
+
return targets.length > 0 ? {
|
|
114
|
+
status: 'found',
|
|
115
|
+
targets
|
|
116
|
+
} : {
|
|
117
|
+
status: 'absent'
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
const root = fiberScanRoot.getFiber();
|
|
121
|
+
if (!root) return {
|
|
122
|
+
status: 'absent'
|
|
123
|
+
};
|
|
124
|
+
const found = findAnchorFibers(root, id);
|
|
125
|
+
if (found.status === 'missing') return {
|
|
126
|
+
status: 'absent'
|
|
127
|
+
};
|
|
128
|
+
return {
|
|
129
|
+
status: 'found',
|
|
130
|
+
targets: found.fibers.map(fiber => {
|
|
131
|
+
const node = publicInstanceFromHostFiber(fiber);
|
|
132
|
+
return {
|
|
133
|
+
host: {
|
|
134
|
+
measureInWindow: createFiberMeasureInWindow(fiber),
|
|
135
|
+
...(node ? {
|
|
136
|
+
node
|
|
137
|
+
} : {})
|
|
138
|
+
},
|
|
139
|
+
fiber
|
|
140
|
+
};
|
|
141
|
+
})
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function fiberForNode(index, node) {
|
|
145
|
+
if (!node) return undefined;
|
|
146
|
+
try {
|
|
147
|
+
return lookupHostFiber(index, node) ?? undefined;
|
|
148
|
+
} catch {
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=resolveElementTargets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["decodeMobileAutoData","anchorRegistry","anchorIdsAboveTap","fiberScanRoot","publicInstanceFromHostFiber","findAnchorFibers","createLazyHostFiberIndex","lookupHostFiber","createFiberMeasureInWindow","isFiberOnVisibleScreen","exactIdFromFingerprint","resolveAutoAnchorHost","resolveScoredAutoAnchor","resolveManualAnchorId","resolveElementTargets","selector","status","type","resolveAutoTargets","autoData","anchorId","css","resolveManualTargets","tapMayHitSelector","tap","get","has","decoded","fingerprint","resolver","fiberPath","fromAutoResolution","exactId","manual","resolution","fiber","fiberForNode","match","instance","ref","current","targets","host","silent","id","registered","getAll","length","index","map","node","filter","target","root","getFiber","found","fibers","measureInWindow","undefined"],"sourceRoot":"../../../src","sources":["anchors/resolveElementTargets.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,6 +13,13 @@ export const TARGET_PRESS_TAP_SLOP = 10;
|
|
|
13
13
|
export function pointInRect(x, y, rect) {
|
|
14
14
|
return x >= rect.x && x <= rect.x + rect.width && y >= rect.y && y <= rect.y + rect.height;
|
|
15
15
|
}
|
|
16
|
+
/** True when the finger moved no more than `slop` between start and end. */
|
|
17
|
+
export function withinTapSlop(start, end, slop = TARGET_PRESS_TAP_SLOP) {
|
|
18
|
+
const dx = end.pageX - start.pageX;
|
|
19
|
+
const dy = end.pageY - start.pageY;
|
|
20
|
+
return dx * dx + dy * dy <= slop * slop;
|
|
21
|
+
}
|
|
22
|
+
|
|
16
23
|
/**
|
|
17
24
|
* True when start and end both land in `rect` and movement stays within tap
|
|
18
25
|
* slop — mirrors a DOM click on the target without claiming the responder.
|
|
@@ -20,9 +27,7 @@ export function pointInRect(x, y, rect) {
|
|
|
20
27
|
export function isTargetTap(start, end, rect, slop = TARGET_PRESS_TAP_SLOP) {
|
|
21
28
|
if (!pointInRect(start.pageX, start.pageY, rect)) return false;
|
|
22
29
|
if (!pointInRect(end.pageX, end.pageY, rect)) return false;
|
|
23
|
-
|
|
24
|
-
const dy = end.pageY - start.pageY;
|
|
25
|
-
return dx * dx + dy * dy <= slop * slop;
|
|
30
|
+
return withinTapSlop(start, end, slop);
|
|
26
31
|
}
|
|
27
32
|
|
|
28
33
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TARGET_PRESS_TAP_SLOP","pointInRect","x","y","rect","width","height","
|
|
1
|
+
{"version":3,"names":["TARGET_PRESS_TAP_SLOP","pointInRect","x","y","rect","width","height","withinTapSlop","start","end","slop","dx","pageX","dy","pageY","isTargetTap","TargetPressMonitor","subscription","touchStarts","Map","set","clear","get","handleTouchStart","identifier","handleTouchEnd","delete","sub","getRect","onPress","cancelTouch","resetForTests","targetPressMonitor"],"sourceRoot":"../../../src","sources":["anchors/targetPressMonitor.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","anchorRegistry","useUserflowAnchor","id","hostRef","useRef","idRef","useEffect","previousId","current","host","unregister","register","useCallback","node","previous","currentId","measureInWindow","callback","scrollIntoView","scrollable","block","inline"],"sourceRoot":"../../../src","sources":["anchors/useUserflowAnchor.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,SAASC,cAAc,QAAyB,qBAAkB;;AAElE;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,OAAO,SAASC,iBAAiBA,CAACC,EAAU,EAA2B;EACrE,MAAMC,OAAO,GAAGJ,KAAK,CAACK,MAAM,CAAoB,IAAI,CAAC;EACrD,MAAMC,KAAK,GAAGN,KAAK,CAACK,MAAM,CAACF,EAAE,CAAC;EAE9BH,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,MAAMC,UAAU,GAAGF,KAAK,CAACG,OAAO;IAChC,MAAMC,IAAI,GAAGN,OAAO,CAACK,OAAO;IAC5B,IAAID,UAAU,KAAKL,EAAE,IAAIO,IAAI,EAAE;MAC7BT,cAAc,CAACU,UAAU,CAACH,UAAU,EAAEE,IAAI,CAAC;MAC3C,IAAIP,EAAE,EAAE;QACNF,cAAc,CAACW,QAAQ,CAACT,EAAE,EAAEO,IAAI,CAAC;MACnC;IACF;IACAJ,KAAK,CAACG,OAAO,GAAGN,EAAE;EACpB,CAAC,EAAE,CAACA,EAAE,CAAC,CAAC;EAERH,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACX,MAAMG,IAAI,GAAGN,OAAO,CAACK,OAAO;MAC5B,IAAIC,IAAI,EAAE;QACRT,cAAc,CAACU,UAAU,CAACL,KAAK,CAACG,OAAO,EAAEC,IAAI,CAAC;QAC9CN,OAAO,CAACK,OAAO,GAAG,IAAI;MACxB;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOT,KAAK,CAACa,WAAW,CAAEC,IAAiB,IAAK;IAC9C,MAAMC,QAAQ,GAAGX,OAAO,CAACK,OAAO;IAChC,MAAMO,SAAS,GAAGV,KAAK,CAACG,OAAO;IAC/B,IAAIM,QAAQ,EAAE;MACZd,cAAc,CAACU,UAAU,CAACK,SAAS,EAAED,QAAQ,CAAC;IAChD;IACA,IAAI,CAACD,IAAI,EAAE;MACTV,OAAO,CAACK,OAAO,GAAG,IAAI;MACtB;IACF;;IAEA;IACA,MAAMC,IAAgB,GAAG;MACvBO,eAAe,EAAGC,QAAQ,IAAK;QAC7BJ,IAAI,CAACG,eAAe,CAACC,QAAQ,CAAC;MAChC,CAAC;
|
|
1
|
+
{"version":3,"names":["React","anchorRegistry","useUserflowAnchor","id","hostRef","useRef","idRef","useEffect","previousId","current","host","unregister","register","useCallback","node","previous","currentId","measureInWindow","callback","scrollIntoView","scrollable","block","inline"],"sourceRoot":"../../../src","sources":["anchors/useUserflowAnchor.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,SAASC,cAAc,QAAyB,qBAAkB;;AAElE;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,OAAO,SAASC,iBAAiBA,CAACC,EAAU,EAA2B;EACrE,MAAMC,OAAO,GAAGJ,KAAK,CAACK,MAAM,CAAoB,IAAI,CAAC;EACrD,MAAMC,KAAK,GAAGN,KAAK,CAACK,MAAM,CAACF,EAAE,CAAC;EAE9BH,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,MAAMC,UAAU,GAAGF,KAAK,CAACG,OAAO;IAChC,MAAMC,IAAI,GAAGN,OAAO,CAACK,OAAO;IAC5B,IAAID,UAAU,KAAKL,EAAE,IAAIO,IAAI,EAAE;MAC7BT,cAAc,CAACU,UAAU,CAACH,UAAU,EAAEE,IAAI,CAAC;MAC3C,IAAIP,EAAE,EAAE;QACNF,cAAc,CAACW,QAAQ,CAACT,EAAE,EAAEO,IAAI,CAAC;MACnC;IACF;IACAJ,KAAK,CAACG,OAAO,GAAGN,EAAE;EACpB,CAAC,EAAE,CAACA,EAAE,CAAC,CAAC;EAERH,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACX,MAAMG,IAAI,GAAGN,OAAO,CAACK,OAAO;MAC5B,IAAIC,IAAI,EAAE;QACRT,cAAc,CAACU,UAAU,CAACL,KAAK,CAACG,OAAO,EAAEC,IAAI,CAAC;QAC9CN,OAAO,CAACK,OAAO,GAAG,IAAI;MACxB;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOT,KAAK,CAACa,WAAW,CAAEC,IAAiB,IAAK;IAC9C,MAAMC,QAAQ,GAAGX,OAAO,CAACK,OAAO;IAChC,MAAMO,SAAS,GAAGV,KAAK,CAACG,OAAO;IAC/B,IAAIM,QAAQ,EAAE;MACZd,cAAc,CAACU,UAAU,CAACK,SAAS,EAAED,QAAQ,CAAC;IAChD;IACA,IAAI,CAACD,IAAI,EAAE;MACTV,OAAO,CAACK,OAAO,GAAG,IAAI;MACtB;IACF;;IAEA;IACA,MAAMC,IAAgB,GAAG;MACvBO,eAAe,EAAGC,QAAQ,IAAK;QAC7BJ,IAAI,CAACG,eAAe,CAACC,QAAQ,CAAC;MAChC,CAAC;MACDJ,IAAI;MACJK,cAAc,EAAEA,CAAA,KAAM;QACpB,MAAMC,UAAU,GAAGN,IAElB;QACD,IAAI,OAAOM,UAAU,CAACD,cAAc,KAAK,UAAU,EAAE;UACnDC,UAAU,CAACD,cAAc,CAAC;YAAEE,KAAK,EAAE,SAAS;YAAEC,MAAM,EAAE;UAAU,CAAC,CAAC;QACpE;MACF;IACF,CAAC;IACDlB,OAAO,CAACK,OAAO,GAAGC,IAAI;IACtB,IAAIM,SAAS,EAAE;MACbf,cAAc,CAACW,QAAQ,CAACI,SAAS,EAAEN,IAAI,CAAC;IAC1C;EACF,CAAC,EAAE,EAAE,CAAC;AACR","ignoreList":[]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
4
3
|
import { UserflowAuthError } from '@userflow-tech/core';
|
|
4
|
+
import { getAsyncStorage } from "./storage/asyncStorage.js";
|
|
5
5
|
|
|
6
6
|
/** Matches the web SDK's `userflow:anonymousId` localStorage key. */
|
|
7
7
|
export const ANONYMOUS_ID_STORAGE_KEY = 'userflow:anonymousId';
|
|
8
|
+
export const ANONYMOUS_STORAGE_UNAVAILABLE = 'Userflow.identifyAnonymous() is not supported when persistent storage is unavailable.';
|
|
9
|
+
export const ANONYMOUS_STORAGE_NOT_LINKED = 'Userflow.identifyAnonymous() needs @react-native-async-storage/async-storage, which is not ' + "linked in this native build. Add it to your app's package.json, run pod install, and rebuild.";
|
|
8
10
|
export function uuid() {
|
|
9
11
|
const webcrypto = globalThis.crypto;
|
|
10
12
|
if (webcrypto?.randomUUID) return webcrypto.randomUUID();
|
|
@@ -15,22 +17,30 @@ export function uuid() {
|
|
|
15
17
|
});
|
|
16
18
|
}
|
|
17
19
|
export async function getOrCreateAnonymousId() {
|
|
20
|
+
const storage = getAsyncStorage();
|
|
21
|
+
if (!storage) {
|
|
22
|
+
throw new UserflowAuthError(ANONYMOUS_STORAGE_NOT_LINKED, {
|
|
23
|
+
isHostContract: true
|
|
24
|
+
});
|
|
25
|
+
}
|
|
18
26
|
try {
|
|
19
|
-
let externalId = await
|
|
27
|
+
let externalId = await storage.getItem(ANONYMOUS_ID_STORAGE_KEY);
|
|
20
28
|
if (!externalId) {
|
|
21
29
|
externalId = `anon-${uuid()}`;
|
|
22
|
-
await
|
|
30
|
+
await storage.setItem(ANONYMOUS_ID_STORAGE_KEY, externalId);
|
|
23
31
|
}
|
|
24
32
|
return externalId;
|
|
25
33
|
} catch {
|
|
26
|
-
throw new UserflowAuthError(
|
|
34
|
+
throw new UserflowAuthError(ANONYMOUS_STORAGE_UNAVAILABLE, {
|
|
27
35
|
isHostContract: true
|
|
28
36
|
});
|
|
29
37
|
}
|
|
30
38
|
}
|
|
31
39
|
export async function clearAnonymousId() {
|
|
40
|
+
const storage = getAsyncStorage();
|
|
41
|
+
if (!storage) return;
|
|
32
42
|
try {
|
|
33
|
-
await
|
|
43
|
+
await storage.removeItem(ANONYMOUS_ID_STORAGE_KEY);
|
|
34
44
|
} catch {
|
|
35
45
|
// Best-effort clear, mirroring the web SDK when storage access is denied.
|
|
36
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["UserflowAuthError","getAsyncStorage","ANONYMOUS_ID_STORAGE_KEY","ANONYMOUS_STORAGE_UNAVAILABLE","ANONYMOUS_STORAGE_NOT_LINKED","uuid","webcrypto","globalThis","crypto","randomUUID","replace","char","rand","Math","random","value","toString","getOrCreateAnonymousId","storage","isHostContract","externalId","getItem","setItem","clearAnonymousId","removeItem"],"sourceRoot":"../../src","sources":["anonymousId.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,eAAe,QAAQ,2BAAwB;;AAExD;AACA,OAAO,MAAMC,wBAAwB,GAAG,sBAAsB;AAE9D,OAAO,MAAMC,6BAA6B,GACxC,uFAAuF;AAEzF,OAAO,MAAMC,4BAA4B,GACvC,6FAA6F,GAC7F,+FAA+F;AAEjG,OAAO,SAASC,IAAIA,CAAA,EAAW;EAC7B,MAAMC,SAAS,GAAGC,UAAU,CAACC,MAAM;EACnC,IAAIF,SAAS,EAAEG,UAAU,EAAE,OAAOH,SAAS,CAACG,UAAU,CAAC,CAAC;EACxD,OAAO,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAGC,IAAI,IAAK;IACvE,MAAMC,IAAI,GAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAI,CAAC;IACrC,MAAMC,KAAK,GAAGJ,IAAI,KAAK,GAAG,GAAGC,IAAI,GAAIA,IAAI,GAAG,GAAG,GAAI,GAAG;IACtD,OAAOG,KAAK,CAACC,QAAQ,CAAC,EAAE,CAAC;EAC3B,CAAC,CAAC;AACJ;AAEA,OAAO,eAAeC,sBAAsBA,CAAA,EAAoB;EAC9D,MAAMC,OAAO,GAAGjB,eAAe,CAAC,CAAC;EACjC,IAAI,CAACiB,OAAO,EAAE;IACZ,MAAM,IAAIlB,iBAAiB,CAACI,4BAA4B,EAAE;MAAEe,cAAc,EAAE;IAAK,CAAC,CAAC;EACrF;EACA,IAAI;IACF,IAAIC,UAAU,GAAG,MAAMF,OAAO,CAACG,OAAO,CAACnB,wBAAwB,CAAC;IAChE,IAAI,CAACkB,UAAU,EAAE;MACfA,UAAU,GAAG,QAAQf,IAAI,CAAC,CAAC,EAAE;MAC7B,MAAMa,OAAO,CAACI,OAAO,CAACpB,wBAAwB,EAAEkB,UAAU,CAAC;IAC7D;IACA,OAAOA,UAAU;EACnB,CAAC,CAAC,MAAM;IACN,MAAM,IAAIpB,iBAAiB,CAACG,6BAA6B,EAAE;MAAEgB,cAAc,EAAE;IAAK,CAAC,CAAC;EACtF;AACF;AAEA,OAAO,eAAeI,gBAAgBA,CAAA,EAAkB;EACtD,MAAML,OAAO,GAAGjB,eAAe,CAAC,CAAC;EACjC,IAAI,CAACiB,OAAO,EAAE;EACd,IAAI;IACF,MAAMA,OAAO,CAACM,UAAU,CAACtB,wBAAwB,CAAC;EACpD,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -20,6 +20,7 @@ import { cacheDeviceContextAtInit, getCachedDeviceContext, logDeviceContext as l
|
|
|
20
20
|
import { setEvalJsBridgeHandlers } from "./evalJs/evalJsBridge.js";
|
|
21
21
|
import { evalJsController } from "./evalJs/evalJsController.js";
|
|
22
22
|
import { cacheHostAppVersionAtInit, getCachedHostAppVersion, logHostAppVersion as logHostAppVersionToConsole, mergeHostAppVersionUserAttributes } from "./hostAppVersion.js";
|
|
23
|
+
import { commitInitOptions, releaseFailedInitOptions, warnIfInitOptionsIgnored, warnIfInstallIncomplete } from "./installCheck.js";
|
|
23
24
|
import { LifecycleController } from "./lifecycle.js";
|
|
24
25
|
import { openFlowNavigateUrl, setHostOnNavigate } from "./navigation/openFlowNavigateUrl.js";
|
|
25
26
|
import { NetworkController } from "./network.js";
|
|
@@ -148,6 +149,7 @@ async function afterIdentify() {
|
|
|
148
149
|
export const Userflow = {
|
|
149
150
|
/** Validate credentials, store configuration, and wire app-lifecycle handling. */
|
|
150
151
|
init(config) {
|
|
152
|
+
warnIfInitOptionsIgnored(config);
|
|
151
153
|
cacheHostAppVersionAtInit({
|
|
152
154
|
...(config.appVersion !== undefined ? {
|
|
153
155
|
appVersion: config.appVersion
|
|
@@ -156,6 +158,7 @@ export const Userflow = {
|
|
|
156
158
|
appBuild: config.appBuild
|
|
157
159
|
} : {})
|
|
158
160
|
});
|
|
161
|
+
warnIfInstallIncomplete();
|
|
159
162
|
cacheDeviceContextAtInit();
|
|
160
163
|
setHostOnNavigate(config.onNavigate);
|
|
161
164
|
lifecycle.start();
|
|
@@ -185,6 +188,7 @@ export const Userflow = {
|
|
|
185
188
|
pairing.notifyInitStarted();
|
|
186
189
|
void pairing.start();
|
|
187
190
|
return core.init(config).then(resolved => {
|
|
191
|
+
commitInitOptions();
|
|
188
192
|
enableScreenTracking();
|
|
189
193
|
// Pairing connect can take the full socket timeout. Identify, and the
|
|
190
194
|
// end-user socket that delivers the preview, must not wait on it.
|
|
@@ -192,6 +196,7 @@ export const Userflow = {
|
|
|
192
196
|
void pairing.notifyInitialized();
|
|
193
197
|
return resolved;
|
|
194
198
|
}, error => {
|
|
199
|
+
releaseFailedInitOptions();
|
|
195
200
|
pairing.notifyInitFailed(error);
|
|
196
201
|
throw error;
|
|
197
202
|
});
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["anchorChangeTicker","notifyAnchorScreenChange","setCustomScrollIntoView","setCustomScrollIntoViewConfig","setScrollPadding","setScrollPaddingConfig","clearAnonymousId","getOrCreateAnonymousId","didHandleURL","flushPendingPreviewToken","startDeepLinking","stopDeepLinking","cacheDeviceContextAtInit","getCachedDeviceContext","logDeviceContext","logDeviceContextToConsole","mergeDeviceContextUserAttributes","setEvalJsBridgeHandlers","evalJsController","cacheHostAppVersionAtInit","getCachedHostAppVersion","logHostAppVersion","logHostAppVersionToConsole","mergeHostAppVersionUserAttributes","LifecycleController","openFlowNavigateUrl","setHostOnNavigate","NetworkController","getPairingController","installPairingController","attachBannerSessionEngine","clearBannerSessionEngineLocalSession","getBannerSessionEngine","resetBannerSessionEngine","attachClientConditionEngine","resetClientConditionEngine","attachFlowSessionEngine","cancelPendingDraftEnd","clearFlowSessionEngineLocalSession","endDraftFlowSession","endEvalJsFlowSession","getFlowSessionEngine","hasActiveFlowSession","resetFlowSessionEngine","isolateAsync","isolateSync","getUserflowCore","disableScreenTracking","enableScreenTracking","getCurrentScreenLocation","handleScreenChange","reportCurrentScreen","SCREEN_VIEWED_EVENT","screenViewedAttributes","setScreenChangeReporter","setSurfaceInteractionBlocking","setSurfaceInteractionBlockingConfig","SDK_VERSION","EmbedBannerPlaceholder","UserflowProvider","useUserflow","useFlowSessionState","useUserflowScreen","useUserflowAnchor","__userflowAutoAnchor","useUserflowScrollContainer","INACTIVITY_TIMEOUT_MS","SESSION_STALE_AFTER_BACKGROUND_MS","SUSPEND_GRACE_MS","inspectPairingDeepLink","isPairingAttempt","parsePairingDeepLink","isUserflowPairingUrl","PreviewModeBanner","core","lifecycle","suspend","resume","flushPendingSends","clearLocalSession","setFlowSessionId","setBannerSessionId","ensureAlive","hasActiveSession","onScreenResume","network","screenViewedAwaitingIdentify","armScreenViewedForNextIdentify","wireScreenChangeReporter","location","reportActivity","screenKey","path","screen","notify","identified","getUserId","__DEV__","console","log","updateScreen","rethrowHostContract","attrs","track","wireDeepLinking","isIdentified","startFlowWithToken","token","mergeSystemUserAttributes","attributes","afterIdentify","notifyIdentified","Userflow","init","config","appVersion","undefined","appBuild","onNavigate","start","pairing","pairingEndpoint","reset","endDraftSession","notifyInitStarted","then","resolved","notifyInitialized","error","notifyInitFailed","handlePairingUrl","url","handleUrl","exitPreview","setOnNavigate","handler","identify","userId","options","previousId","setClientConditions","identifyAnonymous","anonymousId","group","groupId","updateUser","updateGroup","name","getAttributes","getHostAppVersion","getDeviceContext","teardown","stop","screenName","padding","fn","enabled","setEvalJsContext","values","setHostContext","membership","openUrl","endFlow","sessionIds","warn","message"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["anchorChangeTicker","notifyAnchorScreenChange","setCustomScrollIntoView","setCustomScrollIntoViewConfig","setScrollPadding","setScrollPaddingConfig","clearAnonymousId","getOrCreateAnonymousId","didHandleURL","flushPendingPreviewToken","startDeepLinking","stopDeepLinking","cacheDeviceContextAtInit","getCachedDeviceContext","logDeviceContext","logDeviceContextToConsole","mergeDeviceContextUserAttributes","setEvalJsBridgeHandlers","evalJsController","cacheHostAppVersionAtInit","getCachedHostAppVersion","logHostAppVersion","logHostAppVersionToConsole","mergeHostAppVersionUserAttributes","commitInitOptions","releaseFailedInitOptions","warnIfInitOptionsIgnored","warnIfInstallIncomplete","LifecycleController","openFlowNavigateUrl","setHostOnNavigate","NetworkController","getPairingController","installPairingController","attachBannerSessionEngine","clearBannerSessionEngineLocalSession","getBannerSessionEngine","resetBannerSessionEngine","attachClientConditionEngine","resetClientConditionEngine","attachFlowSessionEngine","cancelPendingDraftEnd","clearFlowSessionEngineLocalSession","endDraftFlowSession","endEvalJsFlowSession","getFlowSessionEngine","hasActiveFlowSession","resetFlowSessionEngine","isolateAsync","isolateSync","getUserflowCore","disableScreenTracking","enableScreenTracking","getCurrentScreenLocation","handleScreenChange","reportCurrentScreen","SCREEN_VIEWED_EVENT","screenViewedAttributes","setScreenChangeReporter","setSurfaceInteractionBlocking","setSurfaceInteractionBlockingConfig","SDK_VERSION","EmbedBannerPlaceholder","UserflowProvider","useUserflow","useFlowSessionState","useUserflowScreen","useUserflowAnchor","__userflowAutoAnchor","useUserflowScrollContainer","INACTIVITY_TIMEOUT_MS","SESSION_STALE_AFTER_BACKGROUND_MS","SUSPEND_GRACE_MS","inspectPairingDeepLink","isPairingAttempt","parsePairingDeepLink","isUserflowPairingUrl","PreviewModeBanner","core","lifecycle","suspend","resume","flushPendingSends","clearLocalSession","setFlowSessionId","setBannerSessionId","ensureAlive","hasActiveSession","onScreenResume","network","screenViewedAwaitingIdentify","armScreenViewedForNextIdentify","wireScreenChangeReporter","location","reportActivity","screenKey","path","screen","notify","identified","getUserId","__DEV__","console","log","updateScreen","rethrowHostContract","attrs","track","wireDeepLinking","isIdentified","startFlowWithToken","token","mergeSystemUserAttributes","attributes","afterIdentify","notifyIdentified","Userflow","init","config","appVersion","undefined","appBuild","onNavigate","start","pairing","pairingEndpoint","reset","endDraftSession","notifyInitStarted","then","resolved","notifyInitialized","error","notifyInitFailed","handlePairingUrl","url","handleUrl","exitPreview","setOnNavigate","handler","identify","userId","options","previousId","setClientConditions","identifyAnonymous","anonymousId","group","groupId","updateUser","updateGroup","name","getAttributes","getHostAppVersion","getDeviceContext","teardown","stop","screenName","padding","fn","enabled","setEvalJsContext","values","setHostContext","membership","openUrl","endFlow","sessionIds","warn","message"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { isEvalJsWebViewNativeLinked } from "./evalJs/getWebView.js";
|
|
4
|
+
import { isAsyncStorageLinked } from "./storage/asyncStorage.js";
|
|
5
|
+
export const INSTALL_CHECK_HEADER = '[Userflow] Native setup is incomplete. Flows may not run until you fix the following, then rebuild the app (a Metro reload is not enough):';
|
|
6
|
+
export const INSTALL_ASYNC_STORAGE_LINE = '- @react-native-async-storage/async-storage is not linked. Anonymous users and Builder pairing will not persist. Add it to the app package.json (npx expo install @react-native-async-storage/async-storage), run pod install on iOS, and rebuild.';
|
|
7
|
+
export const INSTALL_VIEW_SHOT_LINE = '- react-native-view-shot is not linked, so Builder element selection gets no screenshot. Install react-native-view-shot@^5.0.0 and rebuild. On Expo SDK 54, pin ^5.0.0; an unpinned npx expo install resolves 4.0.3.';
|
|
8
|
+
export const INSTALL_WEBVIEW_LINE = '- react-native-webview is not linked. Evaluate JavaScript and WebView banners will not run. Install it (npx expo install react-native-webview) and rebuild.';
|
|
9
|
+
export const INSTALL_DEVICE_INFO_LINE = '- react-native-device-info is not linked, so app_version and app_build are not sent. npm install react-native-device-info, then rebuild.';
|
|
10
|
+
export const INSTALL_CHECK_FOOTER = 'See docs/troubleshooting.md.';
|
|
11
|
+
export const EXPO_GO_WARNING = '[Userflow] This app is running in Expo Go, which cannot load the SDK native modules. Builder preview links will not open the app. Use a development build (npx expo run:ios / npx expo run:android).';
|
|
12
|
+
export const INIT_OPTIONS_IGNORED_WARNING = '[Userflow] Userflow.init() already ran with different options. The new clientToken, serverEndpoint, and pairingEndpoint are ignored because init runs once per process. Userflow.reset() does not apply new credentials. Restart the app to change them.';
|
|
13
|
+
const VIEW_SHOT_MODULE = 'RNViewShot';
|
|
14
|
+
const DEVICE_INFO_MODULE = 'RNDeviceInfo';
|
|
15
|
+
let didWarn = false;
|
|
16
|
+
function loadReactNative() {
|
|
17
|
+
try {
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
19
|
+
return require('react-native');
|
|
20
|
+
} catch {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function isNativeModuleLinked(name) {
|
|
25
|
+
const reactNative = loadReactNative();
|
|
26
|
+
if (!reactNative) return false;
|
|
27
|
+
try {
|
|
28
|
+
const turbo = reactNative.TurboModuleRegistry;
|
|
29
|
+
if (typeof turbo?.get === 'function' && turbo.get(name) != null) return true;
|
|
30
|
+
} catch {
|
|
31
|
+
// Fall through to the legacy registry.
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
return reactNative.NativeModules?.[name] != null;
|
|
35
|
+
} catch {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function readExpoConstants() {
|
|
40
|
+
try {
|
|
41
|
+
// Optional. Bare React Native does not have this package.
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
43
|
+
const mod = require('expo-constants');
|
|
44
|
+
const record = mod?.default ?? mod;
|
|
45
|
+
if (record == null || typeof record !== 'object') return null;
|
|
46
|
+
// Touch the field so a throwing getter (missing package stand-in) is caught.
|
|
47
|
+
void record.executionEnvironment;
|
|
48
|
+
return record;
|
|
49
|
+
} catch {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Lines for missing native modules. Empty when the build looks complete. */
|
|
55
|
+
export function collectInstallFindings() {
|
|
56
|
+
const findings = [];
|
|
57
|
+
if (!isAsyncStorageLinked()) findings.push(INSTALL_ASYNC_STORAGE_LINE);
|
|
58
|
+
if (!isNativeModuleLinked(VIEW_SHOT_MODULE)) findings.push(INSTALL_VIEW_SHOT_LINE);
|
|
59
|
+
if (!isEvalJsWebViewNativeLinked()) findings.push(INSTALL_WEBVIEW_LINE);
|
|
60
|
+
// Expo reads the store version from expo-constants / expo-application.
|
|
61
|
+
// device-info is the bare React Native path.
|
|
62
|
+
if (readExpoConstants() == null && !isNativeModuleLinked(DEVICE_INFO_MODULE)) {
|
|
63
|
+
findings.push(INSTALL_DEVICE_INFO_LINE);
|
|
64
|
+
}
|
|
65
|
+
return findings;
|
|
66
|
+
}
|
|
67
|
+
export function expoGoWarning() {
|
|
68
|
+
const constants = readExpoConstants();
|
|
69
|
+
const environment = constants?.executionEnvironment;
|
|
70
|
+
return environment === 'storeClient' ? EXPO_GO_WARNING : null;
|
|
71
|
+
}
|
|
72
|
+
export function formatInstallWarning(findings) {
|
|
73
|
+
return [INSTALL_CHECK_HEADER, ...findings, INSTALL_CHECK_FOOTER].join('\n');
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* One development warning for missing native modules, plus a separate warning
|
|
78
|
+
* when the host is Expo Go. Release builds stay quiet.
|
|
79
|
+
*/
|
|
80
|
+
export function warnIfInstallIncomplete() {
|
|
81
|
+
if (!__DEV__ || didWarn) return;
|
|
82
|
+
didWarn = true;
|
|
83
|
+
const findings = collectInstallFindings();
|
|
84
|
+
if (findings.length > 0) {
|
|
85
|
+
// eslint-disable-next-line no-console -- intentional install diagnostic
|
|
86
|
+
console.warn(formatInstallWarning(findings));
|
|
87
|
+
}
|
|
88
|
+
const expoGo = expoGoWarning();
|
|
89
|
+
if (expoGo) {
|
|
90
|
+
// eslint-disable-next-line no-console -- intentional install diagnostic
|
|
91
|
+
console.warn(expoGo);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/** @internal */
|
|
96
|
+
export function resetInstallCheckForTests() {
|
|
97
|
+
didWarn = false;
|
|
98
|
+
recordedInitOptions = null;
|
|
99
|
+
initOptionsCommitted = false;
|
|
100
|
+
}
|
|
101
|
+
let recordedInitOptions = null;
|
|
102
|
+
/** True once an `init` promise has resolved. A rejection before that clears the record. */
|
|
103
|
+
let initOptionsCommitted = false;
|
|
104
|
+
function recordInitOptions(config) {
|
|
105
|
+
return {
|
|
106
|
+
clientToken: config.clientToken,
|
|
107
|
+
serverEndpoint: config.serverEndpoint ?? '',
|
|
108
|
+
pairingEndpoint: config.pairingEndpoint ?? ''
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
export function warnIfInitOptionsIgnored(config) {
|
|
112
|
+
const next = recordInitOptions(config);
|
|
113
|
+
if (!recordedInitOptions) {
|
|
114
|
+
recordedInitOptions = next;
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (recordedInitOptions.clientToken === next.clientToken && recordedInitOptions.serverEndpoint === next.serverEndpoint && recordedInitOptions.pairingEndpoint === next.pairingEndpoint) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (!__DEV__) return;
|
|
121
|
+
// eslint-disable-next-line no-console -- intentional install diagnostic
|
|
122
|
+
console.warn(INIT_OPTIONS_IGNORED_WARNING);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/** The in-flight `init` resolved, so later calls really are ignored. */
|
|
126
|
+
export function commitInitOptions() {
|
|
127
|
+
initOptionsCommitted = true;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* The in-flight `init` rejected. Core drops its cached promise and will run
|
|
132
|
+
* the next call, so a corrected token or endpoint must not warn.
|
|
133
|
+
* A rejection after a successful init does not forget that success.
|
|
134
|
+
*/
|
|
135
|
+
export function releaseFailedInitOptions() {
|
|
136
|
+
if (initOptionsCommitted) return;
|
|
137
|
+
recordedInitOptions = null;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=installCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isEvalJsWebViewNativeLinked","isAsyncStorageLinked","INSTALL_CHECK_HEADER","INSTALL_ASYNC_STORAGE_LINE","INSTALL_VIEW_SHOT_LINE","INSTALL_WEBVIEW_LINE","INSTALL_DEVICE_INFO_LINE","INSTALL_CHECK_FOOTER","EXPO_GO_WARNING","INIT_OPTIONS_IGNORED_WARNING","VIEW_SHOT_MODULE","DEVICE_INFO_MODULE","didWarn","loadReactNative","require","isNativeModuleLinked","name","reactNative","turbo","TurboModuleRegistry","get","NativeModules","readExpoConstants","mod","record","default","executionEnvironment","collectInstallFindings","findings","push","expoGoWarning","constants","environment","formatInstallWarning","join","warnIfInstallIncomplete","__DEV__","length","console","warn","expoGo","resetInstallCheckForTests","recordedInitOptions","initOptionsCommitted","recordInitOptions","config","clientToken","serverEndpoint","pairingEndpoint","warnIfInitOptionsIgnored","next","commitInitOptions","releaseFailedInitOptions"],"sourceRoot":"../../src","sources":["installCheck.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
4
3
|
import { uuid } from "../anonymousId.js";
|
|
4
|
+
import { getAsyncStorage } from "../storage/asyncStorage.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Stable id for this install on the pairing channel.
|
|
@@ -14,20 +14,24 @@ export const PAIRING_DEVICE_ID_STORAGE_KEY = 'userflow:pairingDeviceId';
|
|
|
14
14
|
let memoized = null;
|
|
15
15
|
export async function getOrCreatePairingDeviceId() {
|
|
16
16
|
if (memoized !== null) return memoized;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
const storage = getAsyncStorage();
|
|
18
|
+
if (storage) {
|
|
19
|
+
try {
|
|
20
|
+
const stored = await storage.getItem(PAIRING_DEVICE_ID_STORAGE_KEY);
|
|
21
|
+
if (typeof stored === 'string' && stored.length > 0) {
|
|
22
|
+
memoized = stored;
|
|
23
|
+
return stored;
|
|
24
|
+
}
|
|
25
|
+
} catch {
|
|
26
|
+
memoized = uuid();
|
|
27
|
+
return memoized;
|
|
22
28
|
}
|
|
23
|
-
} catch {
|
|
24
|
-
memoized = uuid();
|
|
25
|
-
return memoized;
|
|
26
29
|
}
|
|
27
30
|
const created = uuid();
|
|
28
31
|
memoized = created;
|
|
32
|
+
if (!storage) return created;
|
|
29
33
|
try {
|
|
30
|
-
await
|
|
34
|
+
await storage.setItem(PAIRING_DEVICE_ID_STORAGE_KEY, created);
|
|
31
35
|
} catch {
|
|
32
36
|
// Keep the in-memory id for this process. A later launch may mint another.
|
|
33
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["uuid","getAsyncStorage","PAIRING_DEVICE_ID_STORAGE_KEY","memoized","getOrCreatePairingDeviceId","storage","stored","getItem","length","created","setItem","resetPairingDeviceIdForTests"],"sourceRoot":"../../../src","sources":["pairing/deviceId.ts"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,mBAAgB;AACrC,SAASC,eAAe,QAAQ,4BAAyB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,6BAA6B,GAAG,0BAA0B;AAEvE,IAAIC,QAAuB,GAAG,IAAI;AAElC,OAAO,eAAeC,0BAA0BA,CAAA,EAAoB;EAClE,IAAID,QAAQ,KAAK,IAAI,EAAE,OAAOA,QAAQ;EAEtC,MAAME,OAAO,GAAGJ,eAAe,CAAC,CAAC;EACjC,IAAII,OAAO,EAAE;IACX,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMD,OAAO,CAACE,OAAO,CAACL,6BAA6B,CAAC;MACnE,IAAI,OAAOI,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACE,MAAM,GAAG,CAAC,EAAE;QACnDL,QAAQ,GAAGG,MAAM;QACjB,OAAOA,MAAM;MACf;IACF,CAAC,CAAC,MAAM;MACNH,QAAQ,GAAGH,IAAI,CAAC,CAAC;MACjB,OAAOG,QAAQ;IACjB;EACF;EAEA,MAAMM,OAAO,GAAGT,IAAI,CAAC,CAAC;EACtBG,QAAQ,GAAGM,OAAO;EAClB,IAAI,CAACJ,OAAO,EAAE,OAAOI,OAAO;EAC5B,IAAI;IACF,MAAMJ,OAAO,CAACK,OAAO,CAACR,6BAA6B,EAAEO,OAAO,CAAC;EAC/D,CAAC,CAAC,MAAM;IACN;EAAA;EAEF,OAAOA,OAAO;AAChB;;AAEA;AACA,OAAO,SAASE,4BAA4BA,CAAA,EAAS;EACnDR,QAAQ,GAAG,IAAI;AACjB","ignoreList":[]}
|