pulse-updates 1.3.5 → 1.3.7
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 +28 -4
- package/lib/commonjs/init.js +10 -7
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/links.js +65 -3
- package/lib/commonjs/links.js.map +1 -1
- package/lib/commonjs/track.js +48 -6
- package/lib/commonjs/track.js.map +1 -1
- package/lib/module/init.js +10 -7
- package/lib/module/init.js.map +1 -1
- package/lib/module/links.js +65 -3
- package/lib/module/links.js.map +1 -1
- package/lib/module/track.js +48 -6
- package/lib/module/track.js.map +1 -1
- package/lib/typescript/init.d.ts +14 -6
- package/lib/typescript/init.d.ts.map +1 -1
- package/lib/typescript/links.d.ts +11 -0
- package/lib/typescript/links.d.ts.map +1 -1
- package/lib/typescript/track.d.ts +12 -1
- package/lib/typescript/track.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/init.ts +17 -6
- package/src/links.ts +102 -1
- package/src/track.ts +70 -7
package/lib/commonjs/track.js
CHANGED
|
@@ -38,8 +38,11 @@ const DEFAULT_MAX_QUEUE = 500;
|
|
|
38
38
|
const DEFAULT_TIMEOUT_MS = 10_000;
|
|
39
39
|
const DEFAULT_MAX_ATTEMPTS = 10;
|
|
40
40
|
const DEFAULT_STORAGE_KEY = 'pulse.events.v1';
|
|
41
|
+
const ANALYTICS_INSTALLATION_ID_SUFFIX = '.analytics-installation-id';
|
|
42
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
41
43
|
let options = null;
|
|
42
44
|
let queue = [];
|
|
45
|
+
let analyticsInstallationId = '';
|
|
43
46
|
let timer = null;
|
|
44
47
|
let sending = false;
|
|
45
48
|
let nextAttemptAt = 0;
|
|
@@ -55,6 +58,7 @@ function configureTracking(opts) {
|
|
|
55
58
|
disposeTracking();
|
|
56
59
|
options = opts;
|
|
57
60
|
queue = readQueue(opts);
|
|
61
|
+
analyticsInstallationId = opts.identityMode === 'anonymous_installation' ? resolveAnalyticsInstallationId(opts) : '';
|
|
58
62
|
nextAttemptAt = 0;
|
|
59
63
|
startTimer();
|
|
60
64
|
lifecycleSubscription = opts.appState?.addEventListener('change', state => {
|
|
@@ -110,11 +114,12 @@ async function flushEvents() {
|
|
|
110
114
|
const opts = options;
|
|
111
115
|
const requestGeneration = trackingGeneration;
|
|
112
116
|
const ctx = opts.getContext?.() ?? {};
|
|
117
|
+
const anonymousInstallation = opts.identityMode === 'anonymous_installation';
|
|
113
118
|
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
|
|
117
|
-
|
|
119
|
+
// The legacy/default mode intentionally preserves the original experiment-event
|
|
120
|
+
// contract. Anonymous campaign events opt into a separate identity explicitly.
|
|
121
|
+
if (!anonymousInstallation && !ctx.deviceId) return 0;
|
|
122
|
+
const requestDeviceId = anonymousInstallation ? analyticsInstallationId : ctx.deviceId;
|
|
118
123
|
const batch = queue.slice(0, opts.maxBatch ?? DEFAULT_MAX_BATCH);
|
|
119
124
|
queue = queue.slice(batch.length);
|
|
120
125
|
persistQueue();
|
|
@@ -128,8 +133,12 @@ async function flushEvents() {
|
|
|
128
133
|
'Content-Type': 'application/json'
|
|
129
134
|
},
|
|
130
135
|
body: JSON.stringify({
|
|
131
|
-
deviceId:
|
|
132
|
-
|
|
136
|
+
deviceId: requestDeviceId,
|
|
137
|
+
// Anonymous mode deliberately omits the property rather than serializing an
|
|
138
|
+
// empty identifier. Context mode remains backwards compatible.
|
|
139
|
+
...(anonymousInstallation ? {} : {
|
|
140
|
+
userId: ctx.userId
|
|
141
|
+
}),
|
|
133
142
|
platform: ctx.platform,
|
|
134
143
|
appVersion: ctx.appVersion,
|
|
135
144
|
events: batch.map(e => ({
|
|
@@ -194,6 +203,7 @@ function stopTracking() {
|
|
|
194
203
|
disposeTracking();
|
|
195
204
|
options = null;
|
|
196
205
|
queue = [];
|
|
206
|
+
analyticsInstallationId = '';
|
|
197
207
|
sending = false;
|
|
198
208
|
nextAttemptAt = 0;
|
|
199
209
|
}
|
|
@@ -263,6 +273,28 @@ function restoreStaleBatch(opts, batch, status) {
|
|
|
263
273
|
function storageKey(opts) {
|
|
264
274
|
return opts.storageKey?.trim() || DEFAULT_STORAGE_KEY;
|
|
265
275
|
}
|
|
276
|
+
function analyticsInstallationIdStorageKey(opts) {
|
|
277
|
+
return `${storageKey(opts)}${ANALYTICS_INSTALLATION_ID_SUFFIX}`;
|
|
278
|
+
}
|
|
279
|
+
function resolveAnalyticsInstallationId(opts) {
|
|
280
|
+
if (opts.storage) {
|
|
281
|
+
try {
|
|
282
|
+
const stored = opts.storage.getString(analyticsInstallationIdStorageKey(opts))?.trim();
|
|
283
|
+
if (stored && UUID_PATTERN.test(stored)) return stored.toLowerCase();
|
|
284
|
+
} catch {
|
|
285
|
+
// A telemetry identifier can stay memory-only when storage is unavailable.
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
const generated = randomAnalyticsInstallationId();
|
|
289
|
+
if (opts.storage) {
|
|
290
|
+
try {
|
|
291
|
+
opts.storage.set(analyticsInstallationIdStorageKey(opts), generated);
|
|
292
|
+
} catch {
|
|
293
|
+
// A telemetry identifier can stay memory-only when storage is unavailable.
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return generated;
|
|
297
|
+
}
|
|
266
298
|
function readQueue(opts) {
|
|
267
299
|
if (!opts.storage) return [];
|
|
268
300
|
try {
|
|
@@ -288,4 +320,14 @@ function randomEventId() {
|
|
|
288
320
|
if (typeof cryptoLike?.randomUUID === 'function') return cryptoLike.randomUUID();
|
|
289
321
|
return `evt-${Date.now()}-${Math.random().toString(36).slice(2, 14)}`;
|
|
290
322
|
}
|
|
323
|
+
function randomAnalyticsInstallationId() {
|
|
324
|
+
const cryptoLike = globalThis.crypto;
|
|
325
|
+
if (typeof cryptoLike?.randomUUID === 'function') return cryptoLike.randomUUID().toLowerCase();
|
|
326
|
+
const bytes = new Uint8Array(16);
|
|
327
|
+
if (typeof cryptoLike?.getRandomValues === 'function') cryptoLike.getRandomValues(bytes);else for (let i = 0; i < bytes.length; i++) bytes[i] = Math.floor(Math.random() * 256);
|
|
328
|
+
bytes[6] = (bytes[6] ?? 0) & 0x0f | 0x40;
|
|
329
|
+
bytes[8] = (bytes[8] ?? 0) & 0x3f | 0x80;
|
|
330
|
+
const hex = Array.from(bytes, value => value.toString(16).padStart(2, '0')).join('');
|
|
331
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
332
|
+
}
|
|
291
333
|
//# sourceMappingURL=track.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_FLUSH_MS","DEFAULT_MAX_BATCH","DEFAULT_MAX_QUEUE","DEFAULT_TIMEOUT_MS","DEFAULT_MAX_ATTEMPTS","DEFAULT_STORAGE_KEY","options","queue","timer","sending","nextAttemptAt","lifecycleSubscription","trackingGeneration","trackUrl","url","trimmed","replace","includes","configureTracking","opts","disposeTracking","readQueue","startTimer","appState","addEventListener","state","flushEvents","track","event","props","time","hasConsent","onDropped","flat","allow","propertyAllowlist","Set","redact","redactProperties","key","value","Object","entries","undefined","has","String","push","id","randomEventId","Date","toISOString","attempts","maxQueue","length","dropped","slice","persistQueue","maxBatch","now","requestGeneration","ctx","getContext","deviceId","batch","controller","AbortController","timeout","setTimeout","abort","timeoutMs","response","fetch","method","headers","body","JSON","stringify","userId","platform","appVersion","events","map","e","signal","ok","requeueWithBackoff","status","restoreStaleBatch","onError","Error","json","accepted","ignored","onIgnored","error","clearTimeout","pendingEventCount","getTrackingInfo","queueDepth","clearInterval","remove","stopTracking","every","flushIntervalMs","setInterval","unref","maxAttempts","retryable","next","reduce","max","Math","base","min","floor","random","currentOptions","sameOutbox","storage","storageKey","stored","restored","set","trim","raw","getString","parsed","parse","Array","isArray","filter","item","Boolean","cryptoLike","globalThis","crypto","randomUUID","toString"],"sourceRoot":"../../src","sources":["track.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DEFAULT_FLUSH_MS","DEFAULT_MAX_BATCH","DEFAULT_MAX_QUEUE","DEFAULT_TIMEOUT_MS","DEFAULT_MAX_ATTEMPTS","DEFAULT_STORAGE_KEY","ANALYTICS_INSTALLATION_ID_SUFFIX","UUID_PATTERN","options","queue","analyticsInstallationId","timer","sending","nextAttemptAt","lifecycleSubscription","trackingGeneration","trackUrl","url","trimmed","replace","includes","configureTracking","opts","disposeTracking","readQueue","identityMode","resolveAnalyticsInstallationId","startTimer","appState","addEventListener","state","flushEvents","track","event","props","time","hasConsent","onDropped","flat","allow","propertyAllowlist","Set","redact","redactProperties","key","value","Object","entries","undefined","has","String","push","id","randomEventId","Date","toISOString","attempts","maxQueue","length","dropped","slice","persistQueue","maxBatch","now","requestGeneration","ctx","getContext","anonymousInstallation","deviceId","requestDeviceId","batch","controller","AbortController","timeout","setTimeout","abort","timeoutMs","response","fetch","method","headers","body","JSON","stringify","userId","platform","appVersion","events","map","e","signal","ok","requeueWithBackoff","status","restoreStaleBatch","onError","Error","json","accepted","ignored","onIgnored","error","clearTimeout","pendingEventCount","getTrackingInfo","queueDepth","clearInterval","remove","stopTracking","every","flushIntervalMs","setInterval","unref","maxAttempts","retryable","next","reduce","max","Math","base","min","floor","random","currentOptions","sameOutbox","storage","storageKey","stored","restored","set","trim","analyticsInstallationIdStorageKey","getString","test","toLowerCase","generated","randomAnalyticsInstallationId","raw","parsed","parse","Array","isArray","filter","item","Boolean","cryptoLike","globalThis","crypto","randomUUID","toString","bytes","Uint8Array","getRandomValues","i","hex","from","padStart","join"],"sourceRoot":"../../src","sources":["track.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/init.js
CHANGED
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
* - the urls, from the base url and the slug, which is what stops the two halves
|
|
15
15
|
* from ever addressing different apps;
|
|
16
16
|
* - platform and OS version, from React Native;
|
|
17
|
-
* - the
|
|
18
|
-
* identifier of its own
|
|
19
|
-
*
|
|
17
|
+
* - the config/experiment id, minted and persisted on first launch — an app that has
|
|
18
|
+
* a stable identifier of its own may pass it. Event tracking keeps the original
|
|
19
|
+
* context identity by default; privacy-sensitive campaign events can explicitly
|
|
20
|
+
* opt into a separate random app-scoped analytics installation UUID.
|
|
20
21
|
*
|
|
21
22
|
* Deliberately not automatic: the app version. Nothing here can read the store build
|
|
22
23
|
* reliably on both platforms, and a version guessed wrong aims a rollout at the wrong
|
|
@@ -29,7 +30,7 @@ const DEVICE_ID_KEY = 'pulse.device-id';
|
|
|
29
30
|
let activeClient = null;
|
|
30
31
|
let stopActiveRefresh = null;
|
|
31
32
|
|
|
32
|
-
/** Wires config and events
|
|
33
|
+
/** Wires config and events with an explicit event-envelope identity policy. */
|
|
33
34
|
export function initPulse(opts) {
|
|
34
35
|
// Reconfiguration is synchronous. Calling the old async dispose without awaiting
|
|
35
36
|
// it lets its eventual flush tear down the brand-new tracker — exactly the race a
|
|
@@ -80,6 +81,7 @@ export function initPulse(opts) {
|
|
|
80
81
|
configureTracking({
|
|
81
82
|
url: trackUrl,
|
|
82
83
|
getContext,
|
|
84
|
+
identityMode: opts.eventIdentityMode,
|
|
83
85
|
flushIntervalMs: opts.flushIntervalMs,
|
|
84
86
|
storage: opts.storage,
|
|
85
87
|
storageKey: `pulse.${slug}.events.v1`,
|
|
@@ -167,12 +169,13 @@ export function initPulse(opts) {
|
|
|
167
169
|
}
|
|
168
170
|
|
|
169
171
|
/**
|
|
170
|
-
* AsyncStorage-friendly one-call setup. It preloads only Pulse's
|
|
171
|
-
* records, then exposes the same
|
|
172
|
+
* AsyncStorage-friendly one-call setup. It preloads only Pulse's app-scoped config,
|
|
173
|
+
* event, analytics-installation and exposure records, then exposes the same
|
|
174
|
+
* synchronous hot-path API as initPulse.
|
|
172
175
|
*/
|
|
173
176
|
export async function initPulseAsync(opts) {
|
|
174
177
|
const slug = opts.appSlug.trim();
|
|
175
|
-
const keys = [`pulse.${slug}.device-id`, `pulse.${slug}.config.v1`, `pulse.${slug}.events.v1`, `pulse.${slug}.exposures.v1`, DEVICE_ID_KEY];
|
|
178
|
+
const keys = [`pulse.${slug}.device-id`, `pulse.${slug}.config.v1`, `pulse.${slug}.events.v1`, `pulse.${slug}.events.v1.analytics-installation-id`, `pulse.${slug}.exposures.v1`, DEVICE_ID_KEY];
|
|
176
179
|
const loaded = await Promise.all(keys.map(async key => [key, await opts.storage.getItem(key)]));
|
|
177
180
|
const memory = new Map(loaded.filter(entry => entry[1] !== null));
|
|
178
181
|
const storage = {
|
package/lib/module/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["configureConfig","fetchConfig","startConfigAutoRefresh","getConfigInfo","getConfigBoolean","getConfigNumber","getConfigString","getConfigJson","getExposureDeliveryInfo","configureTracking","disposeTracking","flushEvents","getTrackingInfo","track","DEVICE_ID_KEY","activeClient","stopActiveRefresh","initPulse","opts","base","apiUrl","replace","slug","appSlug","trim","configUrl","trackUrl","deviceStorageKey","deviceId","resolveDeviceId","storage","platform","detectPlatform","osVersion","detectOsVersion","appVersion","detectAppVersion","language","detectLanguage","userId","userAttributes","consentOverride","analyticsConsent","undefined","hasConsent","getContext","getUserId","getUserAttributes","url","defaults","storageKey","exposureStorageKey","reportExposure","pollIntervalMs","onError","signingPublicKey","signingKeyId","requireSignature","requireConfigSignature","verifySignature","verifyConfigSignature","verifyWithNativeKey","flushIntervalMs","propertyAllowlist","eventPropertyAllowlist","redactProperties","redactEventProperties","appState","onIgnored","onIgnoredEvents","Error","stopRefresh","client","flush","setUser","nextUserId","attributes","sanitizeAttributes","clearUser","setAnalyticsConsent","granted","resetInstallId","randomId","set","health","config","events","exposures","boolean","number","string","json","refresh","dispose","initPulseAsync","keys","loaded","Promise","all","map","key","getItem","memory","Map","filter","entry","getString","get","value","setItem","existing","minted","clean","Object","fromEntries","entries","slice","length","bytes","Uint8Array","crypto","globalThis","getRandomValues","i","Math","floor","random","hex","Array","from","b","toString","padStart","join","rn","require","Platform","OS","version","Version","String","default","getVersion","canonicalPayload","signature","updates","verifyConfigSignatureAsync","localize","getLocales","languageTag","Intl","DateTimeFormat","resolvedOptions","locale"],"sourceRoot":"../../src","sources":["init.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["configureConfig","fetchConfig","startConfigAutoRefresh","getConfigInfo","getConfigBoolean","getConfigNumber","getConfigString","getConfigJson","getExposureDeliveryInfo","configureTracking","disposeTracking","flushEvents","getTrackingInfo","track","DEVICE_ID_KEY","activeClient","stopActiveRefresh","initPulse","opts","base","apiUrl","replace","slug","appSlug","trim","configUrl","trackUrl","deviceStorageKey","deviceId","resolveDeviceId","storage","platform","detectPlatform","osVersion","detectOsVersion","appVersion","detectAppVersion","language","detectLanguage","userId","userAttributes","consentOverride","analyticsConsent","undefined","hasConsent","getContext","getUserId","getUserAttributes","url","defaults","storageKey","exposureStorageKey","reportExposure","pollIntervalMs","onError","signingPublicKey","signingKeyId","requireSignature","requireConfigSignature","verifySignature","verifyConfigSignature","verifyWithNativeKey","identityMode","eventIdentityMode","flushIntervalMs","propertyAllowlist","eventPropertyAllowlist","redactProperties","redactEventProperties","appState","onIgnored","onIgnoredEvents","Error","stopRefresh","client","flush","setUser","nextUserId","attributes","sanitizeAttributes","clearUser","setAnalyticsConsent","granted","resetInstallId","randomId","set","health","config","events","exposures","boolean","number","string","json","refresh","dispose","initPulseAsync","keys","loaded","Promise","all","map","key","getItem","memory","Map","filter","entry","getString","get","value","setItem","existing","minted","clean","Object","fromEntries","entries","slice","length","bytes","Uint8Array","crypto","globalThis","getRandomValues","i","Math","floor","random","hex","Array","from","b","toString","padStart","join","rn","require","Platform","OS","version","Version","String","default","getVersion","canonicalPayload","signature","updates","verifyConfigSignatureAsync","localize","getLocales","languageTag","Intl","DateTimeFormat","resolvedOptions","locale"],"sourceRoot":"../../src","sources":["init.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/links.js
CHANGED
|
@@ -33,6 +33,10 @@ const MAX_APPLIED_IDS = 32;
|
|
|
33
33
|
const MAX_NOTIFIED_OUTCOMES = MAX_APPLIED_IDS * 3;
|
|
34
34
|
const MAX_RESOLVER_OUTCOMES = MAX_NOTIFIED_OUTCOMES;
|
|
35
35
|
const MAX_PERSISTED_BYTES = 131_072;
|
|
36
|
+
const VERSION_SIGNAL = /^[A-Za-z0-9][A-Za-z0-9._+()-]*$/;
|
|
37
|
+
const DEVICE_MODEL_CODE = /^[A-Za-z0-9][A-Za-z0-9._,+-]*$/;
|
|
38
|
+
const DISTRIBUTION_SIGNAL = /^[a-z0-9][a-z0-9._-]*$/;
|
|
39
|
+
const DEVICE_TYPES = new Set(['phone', 'tablet', 'tv', 'desktop', 'gaming_console', 'unknown']);
|
|
36
40
|
const emptyState = () => ({
|
|
37
41
|
version: 1,
|
|
38
42
|
status: 'idle',
|
|
@@ -347,8 +351,11 @@ export function createPulseLinkClient(options) {
|
|
|
347
351
|
const emitOutcome = (link, name) => {
|
|
348
352
|
const transitionKey = stableOutcomeKey(link.id, name);
|
|
349
353
|
if (state.notifiedOutcomes.includes(transitionKey)) return;
|
|
350
|
-
const
|
|
354
|
+
const outcomeTimestamp = now();
|
|
355
|
+
const occurredAt = new Date(outcomeTimestamp).toISOString();
|
|
351
356
|
const shouldReportToResolver = (options.reportResolverOutcomes ?? true) && isPublicToken(link.id);
|
|
357
|
+
const firstOpenAttemptIsRecent = state.firstOpen.attemptedAt > 0 && state.firstOpen.attemptedAt <= outcomeTimestamp && outcomeTimestamp - state.firstOpen.attemptedAt <= recentInstallMaxAgeMs;
|
|
358
|
+
const correlatedInstallAttemptId = firstOpenAttemptIsRecent && link.matchGuaranteed && link.matchBasis !== 'unique_probabilistic' && link.matchBasis !== 'unmatched' ? state.firstOpen.installAttemptId : null;
|
|
352
359
|
const queued = shouldReportToResolver ? {
|
|
353
360
|
transitionKey,
|
|
354
361
|
token: link.id,
|
|
@@ -357,6 +364,9 @@ export function createPulseLinkClient(options) {
|
|
|
357
364
|
occurredAt,
|
|
358
365
|
matchBasis: link.matchBasis,
|
|
359
366
|
confidence: link.confidence,
|
|
367
|
+
...(correlatedInstallAttemptId ? {
|
|
368
|
+
installAttemptId: correlatedInstallAttemptId
|
|
369
|
+
} : {}),
|
|
360
370
|
attempts: 0,
|
|
361
371
|
nextRetryAt: 0
|
|
362
372
|
} : null;
|
|
@@ -684,7 +694,8 @@ export function createPulseLinkClient(options) {
|
|
|
684
694
|
platform: 'ios',
|
|
685
695
|
locale: normalizeLocale(context.locale),
|
|
686
696
|
firstOpen: true,
|
|
687
|
-
installAttemptId
|
|
697
|
+
installAttemptId,
|
|
698
|
+
...normalizeAnonymousFirstOpenSignals(context)
|
|
688
699
|
};
|
|
689
700
|
try {
|
|
690
701
|
const response = await withTimeout(fetcher, matchUrlOf(resolverBaseUrl), {
|
|
@@ -945,6 +956,50 @@ function isEligibleFirstOpen(context, now, maxAgeMs) {
|
|
|
945
956
|
function normalizeLocale(locale) {
|
|
946
957
|
return locale.trim().replace(/_/g, '-');
|
|
947
958
|
}
|
|
959
|
+
function normalizeAnonymousFirstOpenSignals(context) {
|
|
960
|
+
const appVersion = normalizeSignalString(context.appVersion, VERSION_SIGNAL, 64);
|
|
961
|
+
const osVersion = normalizeSignalString(context.osVersion, VERSION_SIGNAL, 64);
|
|
962
|
+
const deviceModelCode = normalizeSignalString(context.deviceModelCode, DEVICE_MODEL_CODE, 80);
|
|
963
|
+
const distribution = normalizeDistributionSignal(context.distribution);
|
|
964
|
+
const normalizedDeviceType = typeof context.deviceType === 'string' ? context.deviceType.trim().toLowerCase() : '';
|
|
965
|
+
const deviceType = DEVICE_TYPES.has(normalizedDeviceType) ? normalizedDeviceType : undefined;
|
|
966
|
+
const timezoneOffsetMinutes = typeof context.timezoneOffsetMinutes === 'number' && Number.isFinite(context.timezoneOffsetMinutes) && Number.isInteger(context.timezoneOffsetMinutes) && context.timezoneOffsetMinutes >= -840 && context.timezoneOffsetMinutes <= 840 ? context.timezoneOffsetMinutes : undefined;
|
|
967
|
+
const isEmulator = typeof context.isEmulator === 'boolean' ? context.isEmulator : undefined;
|
|
968
|
+
return {
|
|
969
|
+
...(appVersion ? {
|
|
970
|
+
appVersion
|
|
971
|
+
} : {}),
|
|
972
|
+
...(osVersion ? {
|
|
973
|
+
osVersion
|
|
974
|
+
} : {}),
|
|
975
|
+
...(deviceModelCode ? {
|
|
976
|
+
deviceModelCode
|
|
977
|
+
} : {}),
|
|
978
|
+
...(deviceType ? {
|
|
979
|
+
deviceType
|
|
980
|
+
} : {}),
|
|
981
|
+
...(distribution ? {
|
|
982
|
+
distribution
|
|
983
|
+
} : {}),
|
|
984
|
+
...(timezoneOffsetMinutes !== undefined ? {
|
|
985
|
+
timezoneOffsetMinutes
|
|
986
|
+
} : {}),
|
|
987
|
+
...(isEmulator !== undefined ? {
|
|
988
|
+
isEmulator
|
|
989
|
+
} : {})
|
|
990
|
+
};
|
|
991
|
+
}
|
|
992
|
+
function normalizeDistributionSignal(value) {
|
|
993
|
+
if (typeof value !== 'string') return undefined;
|
|
994
|
+
const normalized = value.trim().toLowerCase().replace(/[ -]+/g, '_');
|
|
995
|
+
const canonical = normalized === 'appstore' ? 'app_store' : normalized;
|
|
996
|
+
return normalizeSignalString(canonical, DISTRIBUTION_SIGNAL, 24);
|
|
997
|
+
}
|
|
998
|
+
function normalizeSignalString(value, grammar, maxLength) {
|
|
999
|
+
if (typeof value !== 'string') return undefined;
|
|
1000
|
+
const normalized = value.trim();
|
|
1001
|
+
return normalized.length > 0 && normalized.length <= maxLength && grammar.test(normalized) ? normalized : undefined;
|
|
1002
|
+
}
|
|
948
1003
|
function makeInstallAttemptId(custom) {
|
|
949
1004
|
try {
|
|
950
1005
|
const candidate = custom?.() ?? globalThis.crypto?.randomUUID?.();
|
|
@@ -1002,7 +1057,10 @@ async function postResolverOutcome(fetcher, resolverBaseUrl, outcome, timeoutMs)
|
|
|
1002
1057
|
eventId: outcome.eventId,
|
|
1003
1058
|
occurredAt: outcome.occurredAt,
|
|
1004
1059
|
matchBasis: outcome.matchBasis,
|
|
1005
|
-
confidence: outcome.confidence
|
|
1060
|
+
confidence: outcome.confidence,
|
|
1061
|
+
...(outcome.installAttemptId ? {
|
|
1062
|
+
installAttemptId: outcome.installAttemptId
|
|
1063
|
+
} : {})
|
|
1006
1064
|
})
|
|
1007
1065
|
}, timeoutMs);
|
|
1008
1066
|
}
|
|
@@ -1026,6 +1084,7 @@ function readResolverOutcomeQueue(raw) {
|
|
|
1026
1084
|
if (value.transitionKey !== transitionKey || seenTransitions.has(transitionKey) || seenEvents.has(eventId)) continue;
|
|
1027
1085
|
const confidence = typeof value.confidence === 'number' && Number.isFinite(value.confidence) ? clampConfidence(value.confidence, 0) : null;
|
|
1028
1086
|
if (confidence === null) continue;
|
|
1087
|
+
const installAttemptId = matchBasis !== 'unique_probabilistic' && matchBasis !== 'unmatched' && typeof value.installAttemptId === 'string' && INSTALL_ATTEMPT_ID.test(value.installAttemptId) ? value.installAttemptId.toLowerCase() : undefined;
|
|
1029
1088
|
seenTransitions.add(transitionKey);
|
|
1030
1089
|
seenEvents.add(eventId);
|
|
1031
1090
|
queue.unshift({
|
|
@@ -1036,6 +1095,9 @@ function readResolverOutcomeQueue(raw) {
|
|
|
1036
1095
|
occurredAt,
|
|
1037
1096
|
matchBasis,
|
|
1038
1097
|
confidence,
|
|
1098
|
+
...(installAttemptId ? {
|
|
1099
|
+
installAttemptId
|
|
1100
|
+
} : {}),
|
|
1039
1101
|
attempts: safeInteger(value.attempts, 100_000),
|
|
1040
1102
|
nextRetryAt: safeTimestamp(value.nextRetryAt)
|
|
1041
1103
|
});
|