@prosopo/procaptcha-puzzle 2.10.35 → 2.10.37

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/procaptcha-puzzle@2.10.35 build:cjs
2
+ > @prosopo/procaptcha-puzzle@2.10.37 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
@@ -48,6 +48,6 @@ rendering chunks...
48
48
  dist/cjs/index.cjs  0.27 kB
49
49
  dist/cjs/components/ProcaptchaPuzzle.cjs  0.70 kB
50
50
  dist/cjs/components/ProcaptchaWidget.cjs  7.33 kB
51
- dist/cjs/components/PuzzleCanvas.cjs 10.09 kB
51
+ dist/cjs/components/PuzzleCanvas.cjs 10.24 kB
52
52
  dist/cjs/services/Manager.cjs 10.38 kB
53
- ✓ built in 197ms
53
+ ✓ built in 228ms
@@ -1,8 +1,8 @@
1
1
 
2
- > @prosopo/procaptcha-puzzle@2.10.35 build:tsc
2
+ > @prosopo/procaptcha-puzzle@2.10.37 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 10:28:25 AM - Projects in this build:
5
+ 8:38:22 AM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * ../locale/tsconfig.json
8
8
  * ../util/tsconfig.json
@@ -20,37 +20,37 @@
20
20
  * ../procaptcha-common/tsconfig.json
21
21
  * tsconfig.json
22
22
 
23
- 10:28:25 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/vite/NodejsPolarsNativeFilePlugin.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
23
+ 8:38:22 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/index.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
24
24
 
25
- 10:28:25 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
25
+ 8:38:22 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
26
26
 
27
- 10:28:25 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
27
+ 8:38:22 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
28
28
 
29
- 10:28:26 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
29
+ 8:38:22 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
30
30
 
31
- 10:28:26 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/provider/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
31
+ 8:38:22 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/keyring/keyring/types.ts' is older than output '../types/tsconfig.tsbuildinfo'
32
32
 
33
- 10:28:26 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
33
+ 8:38:23 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
34
34
 
35
- 10:28:26 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
35
+ 8:38:23 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
36
36
 
37
- 10:28:26 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/tests/utils/batches.unit.test.ts' is older than output '../common/tsconfig.tsbuildinfo'
37
+ 8:38:23 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/utils/batches.ts' is older than output '../common/tsconfig.tsbuildinfo'
38
38
 
39
- 10:28:26 AM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
39
+ 8:38:23 AM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/tests/providers.unit.test.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
40
40
 
41
- 10:28:26 AM - Project '../widget-skeleton/tsconfig.json' is up to date because newest input '../widget-skeleton/src/constants.ts' is older than output '../widget-skeleton/tsconfig.tsbuildinfo'
41
+ 8:38:23 AM - Project '../widget-skeleton/tsconfig.json' is up to date because newest input '../widget-skeleton/src/webComponent/createWidget.ts' is older than output '../widget-skeleton/tsconfig.tsbuildinfo'
42
42
 
43
- 10:28:26 AM - Project '../fingerprintjs/tsconfig.json' is up to date because newest input '../fingerprintjs/src/utils/browser.ts' is older than output '../fingerprintjs/tsconfig.tsbuildinfo'
43
+ 8:38:23 AM - Project '../fingerprintjs/tsconfig.json' is up to date because newest input '../fingerprintjs/src/sources/webgl.ts' is older than output '../fingerprintjs/tsconfig.tsbuildinfo'
44
44
 
45
- 10:28:26 AM - Project '../fingerprint/tsconfig.json' is up to date because newest input '../fingerprint/src/index.ts' is older than output '../fingerprint/tsconfig.tsbuildinfo'
45
+ 8:38:23 AM - Project '../fingerprint/tsconfig.json' is up to date because newest input '../fingerprint/src/index.ts' is older than output '../fingerprint/tsconfig.tsbuildinfo'
46
46
 
47
- 10:28:26 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
47
+ 8:38:23 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
48
48
 
49
- 10:28:26 AM - Project '../account/tsconfig.json' is up to date because newest input '../account/src/tests/cryptoWorker.unit.test.ts' is older than output '../account/tsconfig.tsbuildinfo'
49
+ 8:38:23 AM - Project '../account/tsconfig.json' is up to date because newest input '../account/src/custom.d.ts' is older than output '../account/tsconfig.tsbuildinfo'
50
50
 
51
- 10:28:26 AM - Project '../procaptcha-common/tsconfig.json' is up to date because newest input '../procaptcha-common/src/tests/defaultEvents.test.ts' is older than output '../procaptcha-common/tsconfig.tsbuildinfo'
51
+ 8:38:23 AM - Project '../procaptcha-common/tsconfig.json' is up to date because newest input '../procaptcha-common/src/reactComponents/Honeypot.tsx' is older than output '../procaptcha-common/tsconfig.tsbuildinfo'
52
52
 
53
- 10:28:26 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
53
+ 8:38:23 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
54
54
 
55
- 10:28:26 AM - Building project '/home/runner/work/captcha/captcha/packages/procaptcha-puzzle/tsconfig.json'...
55
+ 8:38:23 AM - Building project '/home/runner/work/captcha/captcha/packages/procaptcha-puzzle/tsconfig.json'...
56
56
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/procaptcha-puzzle@2.10.35 build
2
+ > @prosopo/procaptcha-puzzle@2.10.37 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/procaptcha-puzzle@2.10.35 build:cross-env
6
+ > @prosopo/procaptcha-puzzle@2.10.37 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -52,6 +52,6 @@ rendering chunks...
52
52
  dist/index.js  0.14 kB
53
53
  dist/components/ProcaptchaPuzzle.js  0.34 kB
54
54
  dist/components/ProcaptchaWidget.js  7.13 kB
55
- dist/components/PuzzleCanvas.js  9.81 kB
55
+ dist/components/PuzzleCanvas.js  9.97 kB
56
56
  dist/services/Manager.js 10.22 kB
57
- ✓ built in 243ms
57
+ ✓ built in 231ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @prosopo/procaptcha-puzzle
2
2
 
3
+ ## 2.10.37
4
+ ### Patch Changes
5
+
6
+ - @prosopo/procaptcha-common@2.11.15
7
+
8
+ ## 2.10.36
9
+ ### Patch Changes
10
+
11
+ - a41c1b5: fix(database): puzzle records now persist submittedAtTimestamp / verifiedAtTimestamp / failedAtTimestamp
12
+
13
+ Puzzle server-verify was returning verified:false on every solved puzzle in production. Root cause: updatePuzzleCaptchaRecordResult wrote submittedAtTimestamp via a $ifNull aggregation expression inside a pipeline $set, and mongoose silently dropped it on the wire — 0 of the last 3002 submitted puzzle records had the field. Reading the record back in serverVerifyPuzzleCaptchaSolution then treated missing submittedAtTimestamp as Number.POSITIVE_INFINITY, tripping submitToVerifyMs > timeout → TIMESTAMP_TOO_OLD on every request.
14
+
15
+ - Rewrite updatePuzzleCaptchaRecordResult and updatePuzzleCaptchaRecord to write the timestamp fields directly (no $ifNull). Safe because puzzle rejects re-submissions at puzzleTasks.ts:228-233 — each stamp is only ever written once. The change also lets both writes drop the pipeline form and use a plain $set.
16
+ - Add submittedAtTimestamp to the projection in getPuzzleCaptchaRecordByChallenge — the recency check couldn't see the field even after it was persisted, because the projection stripped it.
17
+ - Reinstate the puzzle end-to-end cypress spec that was reverted in PR #2855 (it was correctly surfacing this bug — the previous decision to remove it was wrong). The puzzle piece gets a data-cy selector gated on NODE_ENV !== "production" so esbuild strips it from production bundles — cypress builds with NODE_ENV=development to include the selector for the test, but real deploys don't ship a bot-friendly querySelector.
18
+
3
19
  ## 2.10.35
4
20
  ### Patch Changes
5
21
 
@@ -246,6 +246,9 @@ const PuzzleCanvas = ({
246
246
  /* @__PURE__ */ jsxRuntime.jsx(
247
247
  "div",
248
248
  {
249
+ ...process.env.NODE_ENV !== "production" && {
250
+ "data-cy": "prosopo-puzzle-piece"
251
+ },
249
252
  onMouseDown: handlePieceMouseDown,
250
253
  onTouchStart: handlePieceTouchStart,
251
254
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"PuzzleCanvas.d.ts","sourceRoot":"","sources":["../../src/components/PuzzleCanvas.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,UAAU,iBAAiB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,WAAW,EAAE,KACvB,IAAI,CAAC;IACV,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACpB;AAeD,eAAO,MAAM,YAAY,+EAQtB,iBAAiB,qDA2RnB,CAAC"}
1
+ {"version":3,"file":"PuzzleCanvas.d.ts","sourceRoot":"","sources":["../../src/components/PuzzleCanvas.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,UAAU,iBAAiB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,WAAW,EAAE,KACvB,IAAI,CAAC;IACV,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACpB;AAeD,eAAO,MAAM,YAAY,+EAQtB,iBAAiB,qDAuSnB,CAAC"}
@@ -244,6 +244,9 @@ const PuzzleCanvas = ({
244
244
  /* @__PURE__ */ jsx(
245
245
  "div",
246
246
  {
247
+ ...process.env.NODE_ENV !== "production" && {
248
+ "data-cy": "prosopo-puzzle-piece"
249
+ },
247
250
  onMouseDown: handlePieceMouseDown,
248
251
  onTouchStart: handlePieceTouchStart,
249
252
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"PuzzleCanvas.js","sourceRoot":"","sources":["../../src/components/PuzzleCanvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PuzzleCanvas.js","sourceRoot":"","sources":["../../src/components/PuzzleCanvas.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAgBjE,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,eAAe,GAAG;;;;;;CAMvB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,UAAU,GACS,EAAE,EAAE;IACvB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,OAAO,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,OAAO,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,MAAM,CAAgB,EAAE,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,MAAM,CAA2B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAG9C,SAAS,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAGvB,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,EAAE,CAAC,CAAC;IAGP,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,SAAS,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;YACvD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IACjB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,KAAK,GAAG,WAAW,CACxB,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAU,EAAE;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC,EACD,EAAE,CACF,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAA6B,EAAE;QACrE,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC1D,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,eAAe,GAAG,WAAW,CAClC,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE;QACpC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,KAAK,CACjB,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,EACjD,CAAC,EACD,eAAe,CACf,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,CACjB,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,EACjD,CAAC,EACD,gBAAgB,CAChB,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC;QAEd,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC,EACD,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAC3B,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAE3B,MAAM,aAAa,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAEjD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnC,MAAM,eAAe,GAAG,WAAW,CAClC,CAAC,KAAiB,EAAE,EAAE;QACrB,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC,EACD,CAAC,eAAe,CAAC,CACjB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAClC,CAAC,KAAiB,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACX,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC,EACD,CAAC,eAAe,CAAC,CACjB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,cAAc,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,cAAc,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,SAAS,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAEtD,OAAO,GAAG,EAAE;YACX,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC3D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC3D,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC1D,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IAEtE,MAAM,oBAAoB,GAAG,WAAW,CACvC,CAAC,KAAuC,EAAE,EAAE;QAC3C,IAAI,UAAU;YAAE,OAAO;QACvB,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,SAAS,CAAC,OAAO,GAAG;YACnB,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI;YAC3C,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI;SAC3C,CAAC;IACH,CAAC,EACD,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAC5C,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CACxC,CAAC,KAAuC,EAAE,EAAE;QAC3C,IAAI,UAAU;YAAE,OAAO;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACX,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;YAC1B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;YAC7C,SAAS,CAAC,OAAO,GAAG;gBACnB,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI;gBAC3C,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI;aAC3C,CAAC;QACH,CAAC;IACF,CAAC,EACD,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAC5C,CAAC;IAEF,MAAM,eAAe,GAAG,SAAS;QAChC,CAAC,CAAC,4BAA4B;QAC9B,CAAC,CAAC,8BAA8B,CAAC;IAElC,MAAM,iBAAiB,GAAG,SAAS;QAClC,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,aAAa,CAAC;IAEjB,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAEvD,OAAO,CACN,eACC,KAAK,EAAE;YACN,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kBAAkB;YACpE,UAAU,EAAE,4BAA4B;SACxC,aAGD,0BAAQ,eAAe,GAAS,EAEhC,eACC,KAAK,EAAE;oBACN,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,QAAQ;oBACvB,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,GAAG;oBACR,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;oBAC9C,UAAU,EAAE,wCAAwC;oBACpD,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,MAAM;iBAC9D,aAGD,cACC,KAAK,EAAE;4BACN,eAAe,EAAE,MAAM;4BACvB,YAAY,EAAE,aAAa;4BAC3B,OAAO,EAAE,WAAW;4BACpB,KAAK,EAAE,GAAG,eAAe,IAAI;4BAC7B,SAAS,EAAE,YAAY;4BACvB,SAAS,EAAE,QAAQ;4BACnB,UAAU,EACT,mEAAmE;4BACpE,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,GAAG;4BACf,KAAK,EAAE,eAAe;4BACtB,YAAY,EAAE,aAAa,iBAAiB,EAAE;4BAC9C,SAAS,EACR,2GAA2G;4BAC5G,UAAU,EAAE,yCAAyC;yBACrD,YAEA,eAAe,GACX,EAGN,eACC,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE;4BACN,QAAQ,EAAE,UAAU;4BACpB,KAAK,EAAE,GAAG,eAAe,IAAI;4BAC7B,MAAM,EAAE,GAAG,gBAAgB,IAAI;4BAC/B,UAAU,EACT,gEAAgE;4BACjE,YAAY,EAAE,aAAa;4BAC3B,QAAQ,EAAE,QAAQ;4BAClB,UAAU,EAAE,MAAM;4BAClB,SAAS,EACR,2GAA2G;4BAC5G,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BAC7B,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;4BAC3C,UAAU,EAAE,mBAAmB;yBAC/B,aAGD,cACC,KAAK,EAAE;oCACN,QAAQ,EAAE,UAAU;oCACpB,IAAI,EAAE,GAAG,OAAO,GAAG,WAAW,GAAG,CAAC,IAAI;oCACtC,GAAG,EAAE,GAAG,OAAO,GAAG,WAAW,GAAG,CAAC,IAAI;oCACrC,KAAK,EAAE,GAAG,WAAW,IAAI;oCACzB,MAAM,EAAE,GAAG,WAAW,IAAI;oCAC1B,YAAY,EAAE,KAAK;oCACnB,MAAM,EAAE,oCAAoC;oCAC5C,eAAe,EAAE,0BAA0B;oCAC3C,SAAS,EAAE,YAAY;iCACvB,GACA,EAEF,iBAUK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI;oCAC7C,SAAS,EAAE,sBAAsB;iCACjC,CAAC,EACF,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,qBAAqB,EACnC,KAAK,EAAE;oCACN,QAAQ,EAAE,UAAU;oCACpB,IAAI,EAAE,GAAG,IAAI,GAAG,UAAU,GAAG,CAAC,IAAI;oCAClC,GAAG,EAAE,GAAG,IAAI,GAAG,UAAU,GAAG,CAAC,IAAI;oCACjC,KAAK,EAAE,GAAG,UAAU,IAAI;oCACxB,MAAM,EAAE,GAAG,UAAU,IAAI;oCACzB,YAAY,EAAE,KAAK;oCACnB,UAAU,EACT,sDAAsD;oCACvD,MAAM,EAAE,UAAU;wCACjB,CAAC,CAAC,SAAS;wCACX,CAAC,CAAC,UAAU,CAAC,OAAO;4CACnB,CAAC,CAAC,UAAU;4CACZ,CAAC,CAAC,MAAM;oCACV,SAAS,EAAE,UAAU,CAAC,OAAO;wCAC5B,CAAC,CAAC,oCAAoC;wCACtC,CAAC,CAAC,mCAAmC;oCACtC,UAAU,EAAE,UAAU,CAAC,OAAO;wCAC7B,CAAC,CAAC,MAAM;wCACR,CAAC,CAAC,qDAAqD;iCACxD,GACA,IACG,IACD,IACD,CACN,CAAC;AACH,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/procaptcha-puzzle",
3
- "version": "2.10.35",
3
+ "version": "2.10.37",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/index.js",
@@ -33,7 +33,7 @@
33
33
  "@prosopo/api": "3.5.17",
34
34
  "@prosopo/common": "3.1.46",
35
35
  "@prosopo/locale": "3.2.7",
36
- "@prosopo/procaptcha-common": "2.11.14",
36
+ "@prosopo/procaptcha-common": "2.11.15",
37
37
  "@prosopo/types": "4.9.10",
38
38
  "@prosopo/util": "3.3.4",
39
39
  "@prosopo/util-crypto": "13.5.30",
@@ -305,6 +305,18 @@ export const PuzzleCanvas = ({
305
305
  />
306
306
  {/* Puzzle piece */}
307
307
  <div
308
+ // Test-only selector: gated on NODE_ENV !== "production"
309
+ // so esbuild constant-folds it out of production bundles.
310
+ // The whole point of the puzzle drag is that a bot
311
+ // shouldn't be able to `querySelector` its way to the
312
+ // interactive element; shipping a stable data-cy would
313
+ // hand that to any scripted solver for free. Cypress
314
+ // builds the bundle with NODE_ENV=development
315
+ // (.github/workflows/cypress.yml:110) so the selector
316
+ // is present under test.
317
+ {...(process.env.NODE_ENV !== "production" && {
318
+ "data-cy": "prosopo-puzzle-piece",
319
+ })}
308
320
  onMouseDown={handlePieceMouseDown}
309
321
  onTouchStart={handlePieceTouchStart}
310
322
  style={{