@prosopo/procaptcha-puzzle 2.14.7 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +6 -9
  2. package/.turbo/turbo-build$colon$tsc.log +19 -22
  3. package/.turbo/turbo-build.log +7 -13
  4. package/CHANGELOG.md +65 -0
  5. package/LICENSE +201 -0
  6. package/dist/cjs/components/procaptchaPuzzle.cjs +2 -17
  7. package/dist/cjs/components/procaptchaWidget.cjs +22 -19
  8. package/dist/cjs/components/puzzleCanvas.cjs +35 -5
  9. package/dist/cjs/services/Manager.cjs +10 -44
  10. package/dist/components/procaptchaPuzzle.d.ts +3 -3
  11. package/dist/components/procaptchaPuzzle.d.ts.map +1 -1
  12. package/dist/components/procaptchaPuzzle.js +2 -17
  13. package/dist/components/procaptchaPuzzle.js.map +1 -1
  14. package/dist/components/procaptchaWidget.d.ts.map +1 -1
  15. package/dist/components/procaptchaWidget.js +21 -18
  16. package/dist/components/procaptchaWidget.js.map +1 -1
  17. package/dist/components/puzzleCanvas.d.ts +4 -2
  18. package/dist/components/puzzleCanvas.d.ts.map +1 -1
  19. package/dist/components/puzzleCanvas.js +36 -6
  20. package/dist/components/puzzleCanvas.js.map +1 -1
  21. package/dist/services/Manager.d.ts.map +1 -1
  22. package/dist/services/Manager.js +11 -45
  23. package/dist/services/Manager.js.map +1 -1
  24. package/dist/tests/procaptchaWidget.unit.test.js +91 -0
  25. package/dist/tests/procaptchaWidget.unit.test.js.map +1 -1
  26. package/dist/tests/puzzleCanvas.unit.test.js +69 -0
  27. package/dist/tests/puzzleCanvas.unit.test.js.map +1 -1
  28. package/package.json +72 -71
  29. package/src/components/procaptchaPuzzle.ts +0 -54
  30. package/src/components/procaptchaWidget.ts +0 -429
  31. package/src/components/puzzleCanvas.ts +0 -658
  32. package/src/index.ts +0 -16
  33. package/src/services/Manager.ts +0 -529
  34. package/src/tests/domHarness.ts +0 -122
  35. package/src/tests/invisibleCanvasVisibility.unit.test.ts +0 -181
  36. package/src/tests/manager.unit.test.ts +0 -840
  37. package/src/tests/managerHarness.ts +0 -169
  38. package/src/tests/procaptchaPuzzle.test-d.ts +0 -212
  39. package/src/tests/procaptchaPuzzle.unit.test.ts +0 -138
  40. package/src/tests/procaptchaWidget.unit.test.ts +0 -777
  41. package/src/tests/puzzleCanvas.unit.test.ts +0 -662
  42. package/tsconfig.cjs.json +0 -43
  43. package/tsconfig.json +0 -44
  44. package/tsconfig.tsbuildinfo +0 -1
  45. package/tsconfig.types.json +0 -9
@@ -1,4 +1,4 @@
1
- import { ExtensionLoader, buildClientMetaData, buildUpdateState, getDefaultEvents, getProcaptchaRandomActiveProvider, getSimdReadingsForSubmit, pickIpMode, providerRetry } from "@prosopo/procaptcha-common";
1
+ import { ExtensionLoader, buildClientMetaData, buildUpdateState, createManagerLifecycle, createSpentSessionGuard, encryptBehavioralDataForSubmit, getDefaultEvents, getProcaptchaRandomActiveProvider, getSimdReadingsForSubmit, pickIpMode, providerRetry } from "@prosopo/procaptcha-common";
2
2
  import { ApiParams, CaptchaType, ProcaptchaConfigSchema, encodeProcaptchaOutput } from "@prosopo/types";
3
3
  import { stringToHex } from "@polkadot/util/string";
4
4
  import { ProviderApi } from "@prosopo/api";
@@ -15,7 +15,7 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
15
15
  let storedClickX;
16
16
  let storedClickY;
17
17
  let previousProviderUrl;
18
- let spentSessionId;
18
+ const spentSession = createSpentSessionGuard();
19
19
  const defaultState = () => {
20
20
  return {
21
21
  showModal: false,
@@ -28,10 +28,6 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
28
28
  account: void 0
29
29
  };
30
30
  };
31
- const clearTimeout = () => {
32
- window.clearTimeout(Number(state.timeout));
33
- updateState({ timeout: void 0 });
34
- };
35
31
  const onFailed = () => {
36
32
  updateState({
37
33
  isHuman: false,
@@ -40,10 +36,6 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
40
36
  events.onFailed();
41
37
  resetState(frictionlessState?.restart);
42
38
  };
43
- const clearSuccessfulChallengeTimeout = () => {
44
- window.clearTimeout(Number(state.successfullChallengeTimeout));
45
- updateState({ successfullChallengeTimeout: void 0 });
46
- };
47
39
  const getConfig = () => {
48
40
  const config = {
49
41
  userAccountAddress: configInput.userAccountAddress || "",
@@ -61,9 +53,9 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
61
53
  return state.dappAccount;
62
54
  };
63
55
  const updateState = buildUpdateState(state, onStateUpdate);
56
+ const lifecycle = createManagerLifecycle(state, updateState);
64
57
  const resetState = (frictionlessRestart) => {
65
- clearTimeout();
66
- clearSuccessfulChallengeTimeout();
58
+ lifecycle.clearTimers();
67
59
  updateState(defaultState());
68
60
  events.onReset();
69
61
  if (frictionlessRestart) frictionlessRestart();
@@ -75,14 +67,11 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
75
67
  storedClickY = void 0;
76
68
  };
77
69
  const setValidChallengeTimeout = () => {
78
- const timeMillis = getConfig().captchas.puzzle.solutionTimeout;
79
- const successfullChallengeTimeout = setTimeout(() => {
80
- if (disposed) return;
70
+ lifecycle.expireSolutionAfter(getConfig().captchas.puzzle.solutionTimeout, () => {
81
71
  updateState({ isHuman: false });
82
72
  events.onExpired();
83
73
  resetState(frictionlessState?.restart);
84
- }, timeMillis);
85
- updateState({ successfullChallengeTimeout });
74
+ });
86
75
  };
87
76
  const start = async (x = 0, y = 0) => {
88
77
  await providerRetry(async () => {
@@ -117,7 +106,7 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
117
106
  previousProviderUrl = providerUrl;
118
107
  const providerApi = new ProviderApi(providerUrl, getDappAccount());
119
108
  const challengeSessionId = frictionlessState?.sessionId;
120
- if (challengeSessionId && challengeSessionId === spentSessionId) {
109
+ if (spentSession.isSpent(challengeSessionId)) {
121
110
  updateState({
122
111
  loading: false,
123
112
  error: {
@@ -130,7 +119,7 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
130
119
  }
131
120
  const simdReadingsOnChallenge = frictionlessState?.getSimdReadings ? await frictionlessState.getSimdReadings(0) : void 0;
132
121
  const challenge = await providerApi.getPuzzleCaptchaChallenge(userAccount, getDappAccount(), challengeSessionId, simdReadingsOnChallenge);
133
- if (challengeSessionId) spentSessionId = challengeSessionId;
122
+ spentSession.markSpent(challengeSessionId);
134
123
  if (challenge.error) {
135
124
  updateState({
136
125
  loading: false,
@@ -169,18 +158,7 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
169
158
  data: stringToHex(challenge[ApiParams.timestamp].toString()),
170
159
  type: "bytes"
171
160
  });
172
- let encryptedBehavioralData;
173
- if (frictionlessState?.encryptBehavioralData && (frictionlessState?.behaviorCollector1 || frictionlessState?.behaviorCollector2 || frictionlessState?.behaviorCollector3 || frictionlessState?.behaviorCollector4)) try {
174
- const behavioralData = {
175
- collector1: frictionlessState.behaviorCollector1?.getData() || [],
176
- collector2: frictionlessState.behaviorCollector2?.getData() || [],
177
- collector3: frictionlessState.behaviorCollector3?.getData() || [],
178
- collector4: frictionlessState.behaviorCollector4?.getData() || [],
179
- deviceCapability: frictionlessState.deviceCapability || "unknown"
180
- };
181
- const dataToEncrypt = frictionlessState.packBehavioralData ? frictionlessState.packBehavioralData(behavioralData) : behavioralData;
182
- encryptedBehavioralData = await frictionlessState.encryptBehavioralData(JSON.stringify(dataToEncrypt));
183
- } catch {}
161
+ const encryptedBehavioralData = await encryptBehavioralDataForSubmit(frictionlessState);
184
162
  let salt;
185
163
  if (storedClickX !== void 0 && storedClickY !== void 0) {
186
164
  const coords = [storedClickX, storedClickY];
@@ -189,7 +167,7 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
189
167
  const simdReadings = await getSimdReadingsForSubmit(frictionlessState);
190
168
  const clientMetaData = buildClientMetaData(getHoneypotValue?.(), getConfig().clientSessionId);
191
169
  const verifiedSolution = await providerApi.submitPuzzleCaptchaSolution(challenge, getAccount().account.account.address, getDappAccount(), finalX, finalY, puzzleEvents, userTimestampSignature.signature.toString(), encryptedBehavioralData, salt, simdReadings, clientMetaData);
192
- if (disposed) return false;
170
+ if (lifecycle.isDisposed()) return false;
193
171
  if (verifiedSolution[ApiParams.verified]) {
194
172
  updateState({
195
173
  isHuman: true,
@@ -217,23 +195,11 @@ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState,
217
195
  throw error;
218
196
  }
219
197
  };
220
- let disposed = false;
221
- /**
222
- * Stops this manager's challenge and solution-expiry timers without firing
223
- * any event. Left running after the widget is destroyed (reset(), a
224
- * restart, an SPA route change) they fired onExpired/onReset later on,
225
- * which also cleared the replacement widget's token from the form.
226
- */
227
- const dispose = () => {
228
- disposed = true;
229
- window.clearTimeout(Number(state.timeout));
230
- window.clearTimeout(Number(state.successfullChallengeTimeout));
231
- };
232
198
  return {
233
199
  start,
234
200
  submitSolution,
235
201
  resetState,
236
- dispose
202
+ dispose: lifecycle.dispose
237
203
  };
238
204
  };
239
205
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/services/Manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/services/Manager.ts"],"names":[],"mappings":"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"}
@@ -407,6 +407,68 @@ describe("finishing the drag", () => {
407
407
  await settle();
408
408
  });
409
409
  });
410
+ describe("refreshing the puzzle", () => {
411
+ const openPuzzle = async (widgetProps = props()) => {
412
+ render(widgetProps);
413
+ await click();
414
+ };
415
+ const refresh = async () => {
416
+ mocks.canvasProps.current?.onRefresh?.();
417
+ await settle();
418
+ };
419
+ test("offers the canvas a refresh control", async () => {
420
+ await openPuzzle();
421
+ expect(mocks.canvasProps.current?.onRefresh).toBeTypeOf("function");
422
+ });
423
+ test("on a frictionless session, hands back to the wrapper marked as a refresh", async () => {
424
+ const onReload = vi.fn();
425
+ await openPuzzle(props({
426
+ frictionlessState: frictionless({ sessionId: "session-one" }),
427
+ onReload,
428
+ }));
429
+ await refresh();
430
+ expect(onReload).toHaveBeenCalledWith(expect.any(Number), expect.any(Number), { refresh: true });
431
+ expect(mocks.start).toHaveBeenCalledTimes(1);
432
+ expect(mocks.submitSolution).not.toHaveBeenCalled();
433
+ });
434
+ test("without a session to re-mint, fetches a new puzzle in place", async () => {
435
+ const replacement = challengeResponse({ originX: 40 });
436
+ mocks.start
437
+ .mockResolvedValueOnce(challengeResponse())
438
+ .mockResolvedValue(replacement);
439
+ await openPuzzle();
440
+ await refresh();
441
+ expect(mocks.start).toHaveBeenCalledTimes(2);
442
+ expect(mocks.canvasProps.current).toMatchObject({
443
+ originX: 40,
444
+ submitting: false,
445
+ showRetry: false,
446
+ });
447
+ });
448
+ test("clears a retry prompt, since a refresh is not a wrong answer", async () => {
449
+ mocks.submitSolution.mockResolvedValue(false);
450
+ await openPuzzle();
451
+ await complete();
452
+ expect(mocks.canvasProps.current?.showRetry).toBe(true);
453
+ await refresh();
454
+ expect(mocks.canvasProps.current?.showRetry).toBe(false);
455
+ });
456
+ test("tells the site the challenge was reloaded", async () => {
457
+ const onReload = vi.fn();
458
+ await openPuzzle(props({ callbacks: { onReload } }));
459
+ await refresh();
460
+ expect(onReload).toHaveBeenCalledTimes(1);
461
+ });
462
+ test("is ignored while a solution is being checked", async () => {
463
+ mocks.submitSolution.mockReturnValue(new Promise(() => {
464
+ }));
465
+ await openPuzzle();
466
+ void mocks.canvasProps.current?.onComplete(200, 80, []);
467
+ await settle();
468
+ await refresh();
469
+ expect(mocks.start).toHaveBeenCalledTimes(1);
470
+ });
471
+ });
410
472
  describe("invisible mode", () => {
411
473
  const execute = async () => {
412
474
  document.dispatchEvent(new Event("procaptcha:execute"));
@@ -545,6 +607,35 @@ describe("an invalidated session", () => {
545
607
  expect(onSessionInvalidated).toHaveBeenCalledWith(undefined, undefined);
546
608
  });
547
609
  });
610
+ describe("the audio alternative", () => {
611
+ const onRequestAudioAlternative = vi.fn();
612
+ const openPuzzle = async (overrides) => {
613
+ render(props(overrides));
614
+ await click();
615
+ };
616
+ test("is not offered unless the site turned it on", async () => {
617
+ await openPuzzle({ onRequestAudioAlternative });
618
+ expect(mocks.canvasProps.current?.audioAlternative).toBeUndefined();
619
+ });
620
+ test("hands the canvas the translated offer and the wrapper's handler", async () => {
621
+ await openPuzzle({
622
+ audioAlternativeAvailable: true,
623
+ onRequestAudioAlternative,
624
+ });
625
+ const offer = mocks.canvasProps.current?.audioAlternative;
626
+ expect(offer?.label).toBe("WIDGET.AUDIO_ALTERNATIVE");
627
+ offer?.onRequestAudio();
628
+ expect(onRequestAudioAlternative).toHaveBeenCalledTimes(1);
629
+ });
630
+ test("leaves the label empty while the translations load", async () => {
631
+ mocks.translationsReady.current = false;
632
+ await openPuzzle({
633
+ audioAlternativeAvailable: true,
634
+ onRequestAudioAlternative,
635
+ });
636
+ expect(mocks.canvasProps.current?.audioAlternative?.label).toBe("");
637
+ });
638
+ });
548
639
  describe("destroy", () => {
549
640
  test("disposes the manager so its expiry timers cannot outlive the widget", () => {
550
641
  render(props());
@@ -1 +1 @@
1
- {"version":3,"file":"procaptchaWidget.unit.test.js","sourceRoot":"","sources":["../../src/tests/procaptchaWidget.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procaptchaWidget.unit.test.js","sourceRoot":"","sources":["../../src/tests/procaptchaWidget.unit.test.ts"],"names":[],"mappings":"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"}
@@ -164,6 +164,39 @@ describe("what it puts on screen", () => {
164
164
  expect(overlay().querySelector('[data-cy="prosopo-puzzle-piece"]')).toBeNull();
165
165
  });
166
166
  });
167
+ describe("the refresh control", () => {
168
+ const refreshControl = () => overlay().querySelector('[aria-label="Show a different puzzle"]');
169
+ test("is not drawn when nothing can refresh the puzzle", () => {
170
+ render(props());
171
+ expect(refreshControl()).toBeNull();
172
+ });
173
+ test("asks for a different puzzle when pressed", () => {
174
+ const onRefresh = vi.fn();
175
+ render(props({ onRefresh }));
176
+ required(refreshControl(), "the refresh control").click();
177
+ expect(onRefresh).toHaveBeenCalledTimes(1);
178
+ expect(onComplete).not.toHaveBeenCalled();
179
+ });
180
+ test("is hidden and inert while a solution is in flight", () => {
181
+ const onRefresh = vi.fn();
182
+ render(props({ onRefresh, submitting: true }));
183
+ const control = required(refreshControl(), "the refresh control");
184
+ expect(control.parentElement?.style.visibility).toBe("hidden");
185
+ control.click();
186
+ expect(onRefresh).not.toHaveBeenCalled();
187
+ });
188
+ test("is ignored mid-drag", () => {
189
+ const onRefresh = vi.fn();
190
+ render(props({ onRefresh }));
191
+ mouseDown(20, 100);
192
+ required(refreshControl(), "the refresh control").click();
193
+ expect(onRefresh).not.toHaveBeenCalled();
194
+ });
195
+ test("stays out of what a screen reader reads for the piece", () => {
196
+ render(props({ onRefresh: vi.fn() }));
197
+ expect(pieceDescription()).not.toContain("different puzzle");
198
+ });
199
+ });
167
200
  describe("dragging with a mouse", () => {
168
201
  test("the piece follows the pointer", () => {
169
202
  render(props());
@@ -480,4 +513,40 @@ describe("after it goes away", () => {
480
513
  expect(onComplete).not.toHaveBeenCalled();
481
514
  });
482
515
  });
516
+ describe("the audio alternative", () => {
517
+ const onRequestAudio = vi.fn();
518
+ const offer = { onRequestAudio, label: "Use audio instead" };
519
+ const audioControl = () => overlay().querySelector('[data-cy="prosopo-audio-alternative"]');
520
+ const board = () => required(piece().parentElement, "the board");
521
+ test("is absent when the site has not offered it", () => {
522
+ render(props());
523
+ expect(audioControl()).toBeNull();
524
+ expect(board().style.borderRadius).toBe("0 0 20px 20px");
525
+ });
526
+ test("sits below the board, which squares off its corners for it", () => {
527
+ render(props({ audioAlternative: offer }));
528
+ const control = required(audioControl(), "the audio alternative");
529
+ expect(control.textContent).toBe("Use audio instead");
530
+ expect(board().compareDocumentPosition(control) &
531
+ Node.DOCUMENT_POSITION_FOLLOWING).toBeTruthy();
532
+ expect(board().style.borderRadius).toBe("0");
533
+ });
534
+ test("asks for audio without submitting the puzzle", () => {
535
+ render(props({ audioAlternative: offer }));
536
+ required(audioControl(), "the audio alternative").click();
537
+ expect(onRequestAudio).toHaveBeenCalledTimes(1);
538
+ expect(onComplete).not.toHaveBeenCalled();
539
+ });
540
+ test("goes away when a later render withdraws the offer", () => {
541
+ render(props({ audioAlternative: offer }));
542
+ render(props());
543
+ expect(audioControl()).toBeNull();
544
+ expect(board().style.borderRadius).toBe("0 0 20px 20px");
545
+ });
546
+ test("is removed with the canvas", () => {
547
+ render(props({ audioAlternative: offer }));
548
+ destroy();
549
+ expect(audioControl()).toBeNull();
550
+ });
551
+ });
483
552
  //# sourceMappingURL=puzzleCanvas.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"puzzleCanvas.unit.test.js","sourceRoot":"","sources":["../../src/tests/puzzleCanvas.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puzzleCanvas.unit.test.js","sourceRoot":"","sources":["../../src/tests/puzzleCanvas.unit.test.ts"],"names":[],"mappings":"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"}