@usergist/feedback-react-native 0.1.2 → 0.2.0-beta.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.
Files changed (116) hide show
  1. package/CHANGELOG.md +11 -4
  2. package/EXPO-ACCEPTANCE.md +57 -0
  3. package/EXPO.md +103 -0
  4. package/README.md +69 -11
  5. package/UserGistFeedback.podspec +4 -1
  6. package/UserGistFeedbackExtension.podspec +1 -1
  7. package/android/build.gradle +3 -1
  8. package/android/src/main/AndroidManifest.xml +1 -0
  9. package/android/src/main/java/studio/usergist/feedback/UserGistFirebaseMessagingService.kt +78 -12
  10. package/android/src/main/java/studio/usergist/feedback/UserGistNotificationDismissReceiver.kt +17 -0
  11. package/android/src/main/java/studio/usergist/feedback/UserGistPushModule.kt +46 -5
  12. package/android/src/main/java/studio/usergist/feedback/UserGistPushState.kt +69 -0
  13. package/app.plugin.js +2 -0
  14. package/dist/NativeUserGistPush.d.ts +10 -0
  15. package/dist/NativeUserGistPush.d.ts.map +1 -1
  16. package/dist/NativeUserGistPush.js.map +1 -1
  17. package/dist/Provider.d.ts.map +1 -1
  18. package/dist/Provider.js +28 -17
  19. package/dist/Provider.js.map +1 -1
  20. package/dist/Push.d.ts +2 -0
  21. package/dist/Push.d.ts.map +1 -1
  22. package/dist/Push.js +50 -2
  23. package/dist/Push.js.map +1 -1
  24. package/dist/UserGist.d.ts +9 -4
  25. package/dist/UserGist.d.ts.map +1 -1
  26. package/dist/UserGist.js +492 -130
  27. package/dist/UserGist.js.map +1 -1
  28. package/dist/expo/index.d.ts +68 -0
  29. package/dist/expo/index.d.ts.map +1 -0
  30. package/dist/expo/index.js +120 -0
  31. package/dist/expo/index.js.map +1 -0
  32. package/dist/internal/consent.d.ts.map +1 -1
  33. package/dist/internal/consent.js +4 -1
  34. package/dist/internal/consent.js.map +1 -1
  35. package/dist/internal/context.d.ts +1 -1
  36. package/dist/internal/context.d.ts.map +1 -1
  37. package/dist/internal/context.js +1 -1
  38. package/dist/internal/context.js.map +1 -1
  39. package/dist/internal/engine.d.ts +8 -2
  40. package/dist/internal/engine.d.ts.map +1 -1
  41. package/dist/internal/engine.js +189 -39
  42. package/dist/internal/engine.js.map +1 -1
  43. package/dist/internal/inapp-rules-cache.d.ts +1 -0
  44. package/dist/internal/inapp-rules-cache.d.ts.map +1 -1
  45. package/dist/internal/inapp-rules-cache.js +7 -0
  46. package/dist/internal/inapp-rules-cache.js.map +1 -1
  47. package/dist/internal/mutation-queue.d.ts +2 -2
  48. package/dist/internal/mutation-queue.d.ts.map +1 -1
  49. package/dist/internal/mutation-queue.js +32 -4
  50. package/dist/internal/mutation-queue.js.map +1 -1
  51. package/dist/internal/push-dedupe.d.ts +3 -0
  52. package/dist/internal/push-dedupe.d.ts.map +1 -0
  53. package/dist/internal/push-dedupe.js +33 -0
  54. package/dist/internal/push-dedupe.js.map +1 -0
  55. package/dist/internal/rules-cache.d.ts +1 -0
  56. package/dist/internal/rules-cache.d.ts.map +1 -1
  57. package/dist/internal/rules-cache.js +7 -0
  58. package/dist/internal/rules-cache.js.map +1 -1
  59. package/dist/internal/storage.d.ts +1 -0
  60. package/dist/internal/storage.d.ts.map +1 -1
  61. package/dist/internal/storage.js +1 -0
  62. package/dist/internal/storage.js.map +1 -1
  63. package/dist/internal/survey-invitations.d.ts +25 -0
  64. package/dist/internal/survey-invitations.d.ts.map +1 -0
  65. package/dist/internal/survey-invitations.js +54 -0
  66. package/dist/internal/survey-invitations.js.map +1 -0
  67. package/dist/internal/survey-matcher.d.ts +1 -0
  68. package/dist/internal/survey-matcher.d.ts.map +1 -1
  69. package/dist/internal/survey-matcher.js +3 -0
  70. package/dist/internal/survey-matcher.js.map +1 -1
  71. package/dist/internal/survey-rules-cache.d.ts +1 -0
  72. package/dist/internal/survey-rules-cache.d.ts.map +1 -1
  73. package/dist/internal/survey-rules-cache.js +7 -0
  74. package/dist/internal/survey-rules-cache.js.map +1 -1
  75. package/dist/internal/survey-store.d.ts +9 -2
  76. package/dist/internal/survey-store.d.ts.map +1 -1
  77. package/dist/internal/survey-store.js +37 -16
  78. package/dist/internal/survey-store.js.map +1 -1
  79. package/dist/internal/transport.d.ts +15 -3
  80. package/dist/internal/transport.d.ts.map +1 -1
  81. package/dist/internal/transport.js +16 -13
  82. package/dist/internal/transport.js.map +1 -1
  83. package/dist/internal/types.d.ts +2 -0
  84. package/dist/internal/types.d.ts.map +1 -1
  85. package/dist/native/events.d.ts +2 -0
  86. package/dist/native/events.d.ts.map +1 -1
  87. package/dist/native/events.js +2 -0
  88. package/dist/native/events.js.map +1 -1
  89. package/dist/native/push-adapter.d.ts +11 -0
  90. package/dist/native/push-adapter.d.ts.map +1 -0
  91. package/dist/native/push-adapter.js +10 -0
  92. package/dist/native/push-adapter.js.map +1 -0
  93. package/dist/native/push-bridge.d.ts +9 -0
  94. package/dist/native/push-bridge.d.ts.map +1 -1
  95. package/dist/native/push-bridge.js +39 -4
  96. package/dist/native/push-bridge.js.map +1 -1
  97. package/dist/ui/SurveyView.d.ts.map +1 -1
  98. package/dist/ui/SurveyView.js +5 -5
  99. package/dist/ui/SurveyView.js.map +1 -1
  100. package/dist/ui/requests/RequestsHost.d.ts.map +1 -1
  101. package/dist/ui/requests/RequestsHost.js +8 -0
  102. package/dist/ui/requests/RequestsHost.js.map +1 -1
  103. package/expo-module.config.json +8 -0
  104. package/expo-support/UserGistExpoAppDelegateSubscriber.swift +34 -0
  105. package/expo-support/UserGistFeedbackExpo.podspec +17 -0
  106. package/ios/Extension/UserGistNotificationService.swift +52 -5
  107. package/ios/Shared/UserGistNotificationActions.swift +27 -0
  108. package/ios/Shared/UserGistPushState.swift +110 -0
  109. package/ios/UserGistPush.h +1 -6
  110. package/ios/UserGistPush.mm +18 -0
  111. package/ios/UserGistPushImpl.swift +46 -4
  112. package/ios/UserGistPushInterop.h +5 -0
  113. package/package.json +33 -7
  114. package/plugin/index.cjs +269 -0
  115. package/plugin/index.d.cts +14 -0
  116. package/plugin/templates/UserGistExpoMessagingService.kt +20 -0
@@ -1,17 +1,18 @@
1
1
  import { PresentationGate } from '@usergist/sdk-core/mobile';
2
- import { APP_OPEN_EVENT_NAME, APP_VERSION_CHANGED_EVENT_NAME } from '@usergist/sdk-core/mobile';
2
+ import { APP_OPEN_EVENT_NAME, APP_VERSION_CHANGED_EVENT_NAME, } from '@usergist/sdk-core/mobile';
3
3
  import { STORAGE_KEYS, createStorageScope, } from './storage.js';
4
- import { createIdentityManager, generateEventId } from './identity.js';
4
+ import { createIdentityManager, generateEventId, } from './identity.js';
5
5
  import { createConsentManager } from './consent.js';
6
6
  import { createEventQueue } from './queue.js';
7
- import { createTransport, PermanentHttpError } from './transport.js';
7
+ import { createTransport, PermanentHttpError, } from './transport.js';
8
8
  import { createRulesCache } from './rules-cache.js';
9
9
  import { createSurveyRulesCache, } from './survey-rules-cache.js';
10
- import { createFrequencyCapManager } from './frequency-cap.js';
10
+ import { createFrequencyCapManager, } from './frequency-cap.js';
11
11
  import { createUserStateStore } from './user-state.js';
12
12
  import { createTriggerMatcher } from './trigger-matcher.js';
13
13
  import { createSurveyMatcher } from './survey-matcher.js';
14
- import { createInAppRulesCache } from './inapp-rules-cache.js';
14
+ import { createSurveyInvitations } from './survey-invitations.js';
15
+ import { createInAppRulesCache, } from './inapp-rules-cache.js';
15
16
  import { createInAppMatcher } from './inapp-matcher.js';
16
17
  import { createLifecycleManager } from './lifecycle.js';
17
18
  import { createContextProvider } from './context.js';
@@ -36,7 +37,9 @@ const DEFAULTS = {
36
37
  debug: false,
37
38
  };
38
39
  export function resolveConfig(config) {
39
- if (!config || typeof config.writeKey !== 'string' || config.writeKey.length === 0) {
40
+ if (!config ||
41
+ typeof config.writeKey !== 'string' ||
42
+ config.writeKey.length === 0) {
40
43
  throw new Error('UserGist.init requires a writeKey');
41
44
  }
42
45
  const environment = config.environment ?? DEFAULTS.environment;
@@ -56,16 +59,21 @@ export function resolveConfig(config) {
56
59
  appVersion: config.appVersion?.trim() || null,
57
60
  };
58
61
  }
59
- export function createEngine(config) {
62
+ export function createEngine(config, prepareSurveys) {
60
63
  const resolved = resolveConfig(config);
61
64
  setDebugEnabled(resolved.debug);
62
65
  const storage = createStorageScope(resolved.writeKey);
63
66
  const identity = createIdentityManager(storage);
67
+ const surveyInvitations = createSurveyInvitations(storage, () => identity.get());
64
68
  const consent = createConsentManager(storage);
65
69
  const queue = createEventQueue(storage, resolved.maxQueueSize);
66
70
  const mutations = createMutationQueue(storage);
67
71
  const localInstructionDedupe = createLocalInstructionDedupe(storage);
68
- const transport = createTransport({ writeKey: resolved.writeKey, apiUrl: resolved.apiUrl });
72
+ const transport = createTransport({
73
+ writeKey: resolved.writeKey,
74
+ apiUrl: resolved.apiUrl,
75
+ prepareSurveys,
76
+ });
69
77
  const rules = createRulesCache(storage, transport, resolved.triggerSyncIntervalMs);
70
78
  const surveyRules = createSurveyRulesCache(storage, transport, resolved.triggerSyncIntervalMs);
71
79
  const inAppRules = createInAppRulesCache(storage, transport, resolved.triggerSyncIntervalMs);
@@ -139,6 +147,7 @@ export function createEngine(config) {
139
147
  userState,
140
148
  matcher,
141
149
  surveyMatcher,
150
+ surveyInvitations,
142
151
  inAppMatcher,
143
152
  lifecycle,
144
153
  context,
@@ -152,6 +161,7 @@ export function createEngine(config) {
152
161
  subjectToken: null,
153
162
  sessionPromise: null,
154
163
  instructionPollPromise: null,
164
+ instructionDispatchPromise: null,
155
165
  resetGeneration: 0,
156
166
  resetting: false,
157
167
  localInstructionDedupe,
@@ -169,8 +179,10 @@ export function createEngine(config) {
169
179
  matcher.recordShown(payload.promptId, payload.shownAt);
170
180
  });
171
181
  consent.subscribe((s) => {
172
- if (!s.analytics)
182
+ if (!s.analytics) {
173
183
  engine.queue.removePurpose('analytics');
184
+ void engine.mutations.removePurpose('analytics');
185
+ }
174
186
  if (!s.feedback) {
175
187
  engine.queue.removePurpose('feedback');
176
188
  void engine.mutations.removePurpose('feedback');
@@ -178,6 +190,7 @@ export function createEngine(config) {
178
190
  }
179
191
  if (!s.survey) {
180
192
  void engine.mutations.removePurpose('survey');
193
+ void engine.surveyInvitations.clear().catch((error) => reportError('clear survey invitations failed', error));
181
194
  engine.surveyMatcher.resetPending();
182
195
  }
183
196
  if (s.feedback || s.analytics)
@@ -203,6 +216,10 @@ export async function ensureHydrated(engine) {
203
216
  engine.surveyRules.hydrate(),
204
217
  engine.inAppRules.hydrate(),
205
218
  engine.localInstructionDedupe.hydrate(),
219
+ engine.storage.getJson(STORAGE_KEYS.pushToken).then((token) => {
220
+ if (typeof token === 'string')
221
+ engine.lastPushToken = token;
222
+ }),
206
223
  ]);
207
224
  await ensureSubjectSession(engine);
208
225
  engine.hydrated = true;
@@ -248,7 +265,9 @@ export async function ensureSubjectSession(engine) {
248
265
  if (persisted)
249
266
  await engine.storage.remove(STORAGE_KEYS.subjectToken);
250
267
  const rotated = await engine.identity.rotate();
251
- const session = await engine.transport.session({ anonymousId: rotated.anonymousId });
268
+ const session = await engine.transport.session({
269
+ anonymousId: rotated.anonymousId,
270
+ });
252
271
  engine.subjectToken = session.subjectToken;
253
272
  engine.transport.setSubjectToken(session.subjectToken);
254
273
  await engine.storage.setJson(STORAGE_KEYS.subjectToken, session.subjectToken);
@@ -336,6 +355,11 @@ function instructionKey(type, refId, eventId) {
336
355
  function rememberLocalInstruction(engine, key) {
337
356
  engine.localInstructionDedupe.remember(key);
338
357
  }
358
+ function needsImmediateDelivery(engine, eventName) {
359
+ return !!(engine.rules?.needsServer?.(eventName) ||
360
+ engine.surveyRules?.needsServer?.(eventName) ||
361
+ engine.inAppRules?.needsServer?.(eventName));
362
+ }
339
363
  export function scheduleFlush(engine) {
340
364
  if (engine.flushTimer)
341
365
  return;
@@ -355,11 +379,16 @@ export async function flushNow(engine) {
355
379
  return engine.flushPromise;
356
380
  }
357
381
  async function performFlush(engine) {
382
+ let requestedImmediateDelivery = false;
358
383
  try {
359
384
  await ensureHydrated(engine);
360
385
  while (engine.queue.size() > 0) {
361
386
  const consent = engine.consent.get();
362
- const allowed = engine.queue.snapshot().filter((event) => event.purpose === 'analytics' ? consent.analytics : consent.feedback);
387
+ const allowed = engine.queue
388
+ .snapshot()
389
+ .filter((event) => event.purpose === 'analytics'
390
+ ? consent.analytics
391
+ : consent.feedback);
363
392
  const firstAllowed = allowed[0];
364
393
  if (!firstAllowed)
365
394
  break;
@@ -367,8 +396,15 @@ async function performFlush(engine) {
367
396
  // post-identify events. The API deliberately rejects a batch whose
368
397
  // event identities differ from its context, so drain one identity at a
369
398
  // time while retaining FIFO order within that identity.
370
- const batch = allowed.filter((event) => event.anonymousId === firstAllowed.anonymousId &&
371
- event.externalId === firstAllowed.externalId).slice(0, engine.config.flushBatchSize);
399
+ const candidates = allowed
400
+ .filter((event) => event.anonymousId === firstAllowed.anonymousId &&
401
+ event.externalId === firstAllowed.externalId)
402
+ .slice(0, engine.config.flushBatchSize);
403
+ let deliveryCount = 0;
404
+ const overflow = candidates.findIndex(event => needsImmediateDelivery(engine, event.name) && ++deliveryCount > 20);
405
+ // Limit authorization work, not ordinary analytics rows. Keep earlier
406
+ // watch/property events in order without shrinking every batch to 20.
407
+ const batch = overflow < 0 ? candidates : candidates.slice(0, overflow);
372
408
  if (batch.length === 0)
373
409
  break;
374
410
  const ingestEvents = batch.map((e) => ({
@@ -382,7 +418,16 @@ async function performFlush(engine) {
382
418
  sdkVersion: engine.context.sdkVersion(),
383
419
  platform: engine.context.platform(),
384
420
  }));
421
+ const deliveryEventIds = batch
422
+ .filter((event) => needsImmediateDelivery(engine, event.name))
423
+ .map((event) => event.eventId);
424
+ requestedImmediateDelivery ||= deliveryEventIds.length > 0;
425
+ const deliveryGeneration = engine.resetGeneration;
426
+ const deliverySubjectToken = engine.subjectToken;
385
427
  const payload = {
428
+ ...(deliveryEventIds.length
429
+ ? { delivery: { eventIds: deliveryEventIds } }
430
+ : {}),
386
431
  events: ingestEvents,
387
432
  context: engine.context.build({
388
433
  anonymousId: batch[0].anonymousId,
@@ -390,8 +435,15 @@ async function performFlush(engine) {
390
435
  }),
391
436
  };
392
437
  try {
393
- await engine.transport.ingest(payload);
438
+ const result = await engine.transport.ingest(payload);
439
+ if (engine.resetting ||
440
+ engine.resetGeneration !== deliveryGeneration ||
441
+ engine.subjectToken !== deliverySubjectToken)
442
+ return;
394
443
  engine.queue.remove(batch.map((event) => event.eventId));
444
+ if (result.instructions?.length) {
445
+ await consumeInstructions(engine, result.instructions, false, deliveryGeneration, deliverySubjectToken);
446
+ }
395
447
  }
396
448
  catch (e) {
397
449
  if (e instanceof PermanentHttpError) {
@@ -435,14 +487,14 @@ async function performFlush(engine) {
435
487
  }
436
488
  }
437
489
  // After draining the queue, opportunistically pull pending survey offers.
438
- await flushMutations(engine);
490
+ void flushMutations(engine);
439
491
  // Triggered surveys appear in the offer ledger after the server processes
440
492
  // the event; the small delay gives NATS + the trigger engine time to
441
493
  // run before we ask.
442
494
  setTimeout(() => {
443
495
  void pollSurveyOffers(engine);
444
496
  void pollInstructions(engine);
445
- }, 1500);
497
+ }, requestedImmediateDelivery ? 100 : 1500);
446
498
  }
447
499
  catch (e) {
448
500
  reportError('flushNow failed', e);
@@ -468,14 +520,32 @@ async function performMutationFlush(engine) {
468
520
  break;
469
521
  const deliveryGeneration = engine.resetGeneration;
470
522
  const consent = engine.consent.get();
523
+ if (mutation.purpose === 'analytics' && !consent.analytics)
524
+ break;
471
525
  if (mutation.purpose === 'feedback' && !consent.feedback)
472
526
  break;
473
527
  if (mutation.purpose === 'survey' && !consent.survey)
474
528
  break;
475
529
  try {
476
- if (mutation.kind === 'feedback-response') {
530
+ if (mutation.kind === 'instruction-ack') {
531
+ await engine.transport.acknowledgeInstructions(mutation.payload.ids);
532
+ }
533
+ else if (mutation.kind === 'user-properties') {
534
+ const result = await engine.transport.userProperties(mutation.payload);
535
+ if (result.filteredKeys.length)
536
+ reportError('User properties filtered by app privacy settings', result.filteredKeys);
537
+ }
538
+ else if (mutation.kind === 'feedback-response') {
477
539
  await engine.transport.submitResponse(mutation.payload);
478
540
  }
541
+ else if (mutation.kind === 'survey-start') {
542
+ await engine.transport.surveyCreateAttempt(String(mutation.payload.surveyId), mutation.payload
543
+ .body);
544
+ }
545
+ else if (mutation.kind === 'survey-progress') {
546
+ await engine.transport.surveyUpdateProgress(String(mutation.payload.attemptId), mutation.payload
547
+ .body);
548
+ }
479
549
  else if (mutation.kind === 'survey-complete') {
480
550
  const attemptId = mutation.payload.attemptId;
481
551
  if (typeof attemptId !== 'string')
@@ -502,7 +572,9 @@ async function performMutationFlush(engine) {
502
572
  anonymousId,
503
573
  externalId,
504
574
  ...(properties && typeof properties === 'object'
505
- ? { properties: properties }
575
+ ? {
576
+ properties: properties,
577
+ }
506
578
  : {}),
507
579
  }, subjectToken);
508
580
  if (engine.resetting || engine.resetGeneration !== deliveryGeneration)
@@ -580,7 +652,8 @@ export async function pollSurveyOffers(engine) {
580
652
  const surveys = res.surveys ?? [];
581
653
  if (surveys.length === 0)
582
654
  return;
583
- const seen = (await engine.storage.getJson(SEEN_OFFERS_KEY)) ?? [];
655
+ const seen = (await engine.storage.getJson(SEEN_OFFERS_KEY)) ??
656
+ [];
584
657
  const seenSet = new Set(seen);
585
658
  const localIds = surveys
586
659
  .map((survey) => survey.id)
@@ -624,27 +697,82 @@ async function performInstructionPoll(engine) {
624
697
  try {
625
698
  await ensureHydrated(engine);
626
699
  const after = (await engine.storage.getJson(STORAGE_KEYS.instructionCursor)) ?? 0;
627
- const seen = (await engine.storage.getJson(STORAGE_KEYS.seenInstructions)) ?? [];
628
- const seenSet = new Set(seen);
629
- const result = await engine.transport.instructions(after);
630
- if (result.instructions.length === 0)
631
- return;
632
- const handledIds = [];
633
- for (const instruction of result.instructions) {
634
- handledIds.push(instruction.id);
635
- if (seenSet.has(instruction.id))
636
- continue;
637
- dispatchInstruction(engine, instruction.type, instruction.payload);
638
- seenSet.add(instruction.id);
639
- await engine.storage.setJsonStrict(STORAGE_KEYS.seenInstructions, [...seenSet].slice(-200));
640
- }
641
- await engine.storage.setJsonStrict(STORAGE_KEYS.instructionCursor, Math.max(after, ...handledIds));
642
- await engine.transport.acknowledgeInstructions(handledIds);
700
+ const generation = engine.resetGeneration;
701
+ const subjectToken = engine.subjectToken;
702
+ const result = await engine.transport.instructions(after, {
703
+ anonymousId: engine.identity.get().anonymousId,
704
+ platform: engine.context.platform(),
705
+ sdkVersion: engine.context.sdkVersion(),
706
+ });
707
+ await consumeInstructions(engine, result.instructions, true, generation, subjectToken);
643
708
  }
644
709
  catch (error) {
645
710
  reportError('instruction poll failed', error);
646
711
  }
647
712
  }
713
+ /** Serializes HTTP responses and polling. Event-scoped responses must never
714
+ * advance the global inbox cursor past older, still-undelivered instructions. */
715
+ export function consumeInstructions(engine, instructions, advanceCursor, generation = engine.resetGeneration, subjectToken = engine.subjectToken) {
716
+ const isCurrent = () => !engine.resetting &&
717
+ engine.resetGeneration === generation &&
718
+ engine.subjectToken === subjectToken;
719
+ const work = (engine.instructionDispatchPromise ?? Promise.resolve())
720
+ .catch(() => undefined)
721
+ .then(async () => {
722
+ if (!instructions.length || !isCurrent())
723
+ return;
724
+ const seen = new Set((await engine.storage.getJson(STORAGE_KEYS.seenInstructions)) ?? []);
725
+ if (!isCurrent())
726
+ return;
727
+ const handled = [];
728
+ for (const instruction of instructions) {
729
+ if (!isCurrent())
730
+ return;
731
+ handled.push(instruction.id);
732
+ if (seen.has(instruction.id))
733
+ continue;
734
+ const payload = instruction.payload;
735
+ if (instruction.type === 'survey.offer' && engine.consent.allowsSurvey() &&
736
+ typeof payload.surveyId === 'string' && typeof payload.name === 'string' &&
737
+ typeof payload.presentationId === 'string' && payload.survey && typeof payload.survey === 'object') {
738
+ // Persist before invoking the host callback or acknowledging delivery.
739
+ // A storage failure leaves the instruction available for retry.
740
+ await engine.surveyInvitations.remember({
741
+ surveyId: payload.surveyId,
742
+ presentationId: payload.presentationId,
743
+ source: typeof payload.source === 'string' ? payload.source : 'triggered',
744
+ survey: { ...payload.survey, presentationId: payload.presentationId },
745
+ attempt: payload.attempt,
746
+ expiresAt: Math.min(Date.parse(instruction.expiresAt), Date.now() + 24 * 60 * 60 * 1000),
747
+ });
748
+ if (!isCurrent())
749
+ return;
750
+ }
751
+ dispatchInstruction(engine, instruction.type, instruction.payload);
752
+ seen.add(instruction.id);
753
+ await engine.storage.setJsonStrict(STORAGE_KEYS.seenInstructions, [...seen].slice(-200));
754
+ }
755
+ if (!isCurrent())
756
+ return;
757
+ // Persist receipts before advancing the cursor. Network retries must not
758
+ // hold the display/ingest lane or lose cap accounting after a restart.
759
+ await engine.mutations.enqueue('instruction-ack', 'essential', {
760
+ ids: handled,
761
+ });
762
+ if (!isCurrent())
763
+ return;
764
+ if (advanceCursor) {
765
+ const after = (await engine.storage.getJson(STORAGE_KEYS.instructionCursor)) ?? 0;
766
+ if (!isCurrent())
767
+ return;
768
+ await engine.storage.setJsonStrict(STORAGE_KEYS.instructionCursor, Math.max(after, ...handled));
769
+ }
770
+ if (isCurrent())
771
+ void flushMutations(engine);
772
+ });
773
+ engine.instructionDispatchPromise = work;
774
+ return work;
775
+ }
648
776
  function dispatchInstruction(engine, type, payload) {
649
777
  if (type === 'prompt.show') {
650
778
  if (!engine.consent.allowsFeedback())
@@ -679,7 +807,8 @@ function dispatchInstruction(engine, type, payload) {
679
807
  if (type === 'survey.offer') {
680
808
  if (!engine.consent.allowsSurvey())
681
809
  return;
682
- if (typeof payload.surveyId !== 'string' || typeof payload.name !== 'string')
810
+ if (typeof payload.surveyId !== 'string' ||
811
+ typeof payload.name !== 'string')
683
812
  return;
684
813
  const triggerEventId = payload.triggerEventId;
685
814
  if (typeof triggerEventId === 'string' &&
@@ -691,6 +820,13 @@ function dispatchInstruction(engine, type, payload) {
691
820
  return;
692
821
  }
693
822
  engine.events.emit('surveyInvite', {
823
+ attempt: payload.attempt,
824
+ survey: payload.survey && typeof payload.survey === 'object'
825
+ ? {
826
+ ...payload.survey,
827
+ presentationId: payload.presentationId,
828
+ }
829
+ : undefined,
694
830
  surveyId: payload.surveyId,
695
831
  name: payload.name,
696
832
  source: typeof payload.source === 'string' ? payload.source : 'triggered',
@@ -764,7 +900,8 @@ export function enqueueAndEvaluate(engine, eventName, properties, purpose = 'ana
764
900
  engine.queue.enqueue(base);
765
901
  engine.userState.recordEvent(eventName, now);
766
902
  evaluateLocally(engine, eventName, base.eventId);
767
- if (engine.queue.size() >= engine.config.flushBatchSize)
903
+ if (needsImmediateDelivery(engine, eventName) ||
904
+ engine.queue.size() >= engine.config.flushBatchSize)
768
905
  void flushNow(engine);
769
906
  else
770
907
  scheduleFlush(engine);
@@ -780,7 +917,8 @@ export function enqueueAndEvaluate(engine, eventName, properties, purpose = 'ana
780
917
  engine.queue.enqueue(withId);
781
918
  engine.userState.recordEvent(eventName, now);
782
919
  evaluateLocally(engine, eventName, withId.eventId);
783
- if (engine.queue.size() >= engine.config.flushBatchSize)
920
+ if (needsImmediateDelivery(engine, eventName) ||
921
+ engine.queue.size() >= engine.config.flushBatchSize)
784
922
  void flushNow(engine);
785
923
  else
786
924
  scheduleFlush(engine);
@@ -810,14 +948,21 @@ function evaluateLocally(engine, eventName, eventId) {
810
948
  }
811
949
  export async function submitResponse(engine, payload, triggerEventName, trackInternal) {
812
950
  const id = engine.identity.get();
951
+ const context = engine.context.build(id);
813
952
  const submitPayload = {
814
953
  idempotencyKey: generateEventId(),
815
954
  promptId: payload.promptId,
816
955
  anonymousId: id.anonymousId,
817
956
  externalId: id.externalId,
818
- answers: payload.answers.map((a) => ({ questionId: a.questionId, value: a.value })),
957
+ answers: payload.answers.map((a) => ({
958
+ questionId: a.questionId,
959
+ value: a.value,
960
+ })),
819
961
  dismissed: payload.dismissed,
820
962
  latencyMs: payload.latencyMs,
963
+ platform: context.platform,
964
+ sdkVersion: context.sdkVersion,
965
+ appVersion: context.appVersion,
821
966
  };
822
967
  engine.events.emit('response', payload);
823
968
  trackInternal('$feedback_response', {
@@ -846,6 +991,7 @@ export async function clearAllState(engine) {
846
991
  engine.flushPromise ?? Promise.resolve(),
847
992
  engine.sessionPromise ?? Promise.resolve(),
848
993
  engine.instructionPollPromise ?? Promise.resolve(),
994
+ engine.instructionDispatchPromise ?? Promise.resolve(),
849
995
  ]);
850
996
  // Reset is a local privacy operation and must not wait on network retries.
851
997
  // Revoke the old credential through an isolated transport so failures cannot
@@ -879,6 +1025,7 @@ export async function clearAllState(engine) {
879
1025
  engine.userState.clear(),
880
1026
  engine.consent.clear(),
881
1027
  engine.localInstructionDedupe.clear(),
1028
+ engine.surveyInvitations.clear(),
882
1029
  ]);
883
1030
  await engine.storage.clearAll([
884
1031
  STORAGE_KEYS.identity,
@@ -895,6 +1042,7 @@ export async function clearAllState(engine) {
895
1042
  STORAGE_KEYS.instructionCursor,
896
1043
  STORAGE_KEYS.seenInstructions,
897
1044
  STORAGE_KEYS.localInstructionDedupe,
1045
+ STORAGE_KEYS.pushToken,
898
1046
  SEEN_OFFERS_KEY,
899
1047
  ]);
900
1048
  engine.subjectToken = null;
@@ -903,6 +1051,8 @@ export async function clearAllState(engine) {
903
1051
  engine.matcher.resetPending();
904
1052
  engine.surveyMatcher.resetPending();
905
1053
  engine.lastPushToken = null;
1054
+ engine.lastPushRegistrationKey = null;
1055
+ engine.lastPushRegistrationAt = 0;
906
1056
  lastPollAt = 0;
907
1057
  await engine.identity.hydrate();
908
1058
  await ensureSubjectSession(engine);
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/internal/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/internal/engine.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ArmedInAppMessage } from '@usergist/sdk-core/mobile';
2
2
  import { type StorageScope } from './storage.js';
3
3
  import type { Transport } from './transport.js';
4
4
  export interface InAppRulesCache {
5
+ readonly needsServer: (eventName: string) => boolean;
5
6
  readonly hydrate: () => Promise<void>;
6
7
  readonly refresh: (params: {
7
8
  readonly anonymousId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"inapp-rules-cache.d.ts","sourceRoot":"","sources":["../../src/internal/inapp-rules-cache.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAS/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;QACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KACzB,KAAK,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC/C,QAAQ,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,aAAa,CAAC,iBAAiB,CAAC,CAAA;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACpC;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,MAAM,GACpB,eAAe,CAkFjB"}
1
+ {"version":3,"file":"inapp-rules-cache.d.ts","sourceRoot":"","sources":["../../src/internal/inapp-rules-cache.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAU/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;QACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KACzB,KAAK,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC/C,QAAQ,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,aAAa,CAAC,iBAAiB,CAAC,CAAA;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACpC;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,MAAM,GACpB,eAAe,CAyFjB"}