@prosopo/procaptcha-puzzle 2.12.3 → 2.13.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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/procaptcha-puzzle@2.12.3 build:cjs
2
+ > @prosopo/procaptcha-puzzle@2.13.0 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
@@ -27,7 +27,6 @@ ViteCommonJSConfig: .
27
27
  '@prosopo/types',
28
28
  '@prosopo/locale',
29
29
  '@prosopo/util',
30
- The plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the resolve.tsconfigPaths option. You can remove the plugin and set resolve.tsconfigPaths: true in your Vite config instead.
31
30
  '@prosopo/util-crypto',
32
31
  '@prosopo/common',
33
32
  '@prosopo/logger',
@@ -40,6 +39,7 @@ ViteCommonJSConfig: .
40
39
  '@prosopo/keyring'
41
40
  ]
42
41
  }
42
+ The plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the resolve.tsconfigPaths option. You can remove the plugin and set resolve.tsconfigPaths: true in your Vite config instead.
43
43
  vite v8.1.5 building ssr environment for production...
44
44
  Bundle build started
45
45
  
@@ -48,8 +48,8 @@ rendering chunks...
48
48
  computing gzip size...
49
49
  dist/cjs/index.cjs 0.22 kB │ gzip: 0.15 kB
50
50
  dist/cjs/components/ProcaptchaPuzzle.cjs 0.52 kB │ gzip: 0.27 kB
51
- dist/cjs/components/ProcaptchaWidget.cjs 7.52 kB │ gzip: 2.06 kB
51
+ dist/cjs/components/ProcaptchaWidget.cjs 7.61 kB │ gzip: 2.11 kB
52
52
  dist/cjs/services/Manager.cjs 9.03 kB │ gzip: 2.48 kB
53
- dist/cjs/components/PuzzleCanvas.cjs 10.29 kB │ gzip: 2.96 kB
53
+ dist/cjs/components/PuzzleCanvas.cjs 15.24 kB │ gzip: 4.29 kB
54
54
 
55
- ✓ built in 78ms
55
+ ✓ built in 68ms
@@ -1,8 +1,8 @@
1
1
 
2
- > @prosopo/procaptcha-puzzle@2.12.3 build:tsc
2
+ > @prosopo/procaptcha-puzzle@2.13.0 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 1:49:12 PM - Projects in this build:
5
+ 5:39:15 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
- 1:49:12 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
23
+ 5:39:15 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
24
24
 
25
- 1:49:12 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
25
+ 5:39:15 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
- 1:49:12 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
27
+ 5:39:15 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
- 1:49:12 PM - 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
+ 5:39:15 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
- 1:49:12 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
31
+ 5:39:15 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
32
32
 
33
- 1:49:12 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
33
+ 5:39:15 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
- 1:49:12 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/logger.ts' is older than output '../logger/tsconfig.tsbuildinfo'
35
+ 5:39:15 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
- 1:49:12 PM - 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
+ 5:39:15 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
38
38
 
39
- 1:49:12 PM - 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
+ 5:39:15 AM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/tests/productionProviderList.unit.test.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
40
40
 
41
- 1:49:12 PM - 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'
41
+ 5:39:15 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
- 1:49:12 PM - Project '../fingerprintjs/tsconfig.json' is up to date because newest input '../fingerprintjs/src/utils/browser.ts' is older than output '../fingerprintjs/tsconfig.tsbuildinfo'
43
+ 5:39:15 AM - Project '../fingerprintjs/tsconfig.json' is up to date because newest input '../fingerprintjs/src/utils/browser.ts' is older than output '../fingerprintjs/tsconfig.tsbuildinfo'
44
44
 
45
- 1:49:12 PM - Project '../fingerprint/tsconfig.json' is up to date because newest input '../fingerprint/src/merkle.ts' is older than output '../fingerprint/tsconfig.tsbuildinfo'
45
+ 5:39:15 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
- 1:49:12 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
47
+ 5:39:15 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.test.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
48
48
 
49
- 1:49:12 PM - Project '../account/tsconfig.json' is up to date because newest input '../account/src/workers/cryptoWorker.ts' is older than output '../account/tsconfig.tsbuildinfo'
49
+ 5:39:15 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
- 1:49:12 PM - Project '../procaptcha-common/tsconfig.json' is up to date because newest input '../procaptcha-common/src/simdReadings.ts' is older than output '../procaptcha-common/tsconfig.tsbuildinfo'
51
+ 5:39:15 AM - Project '../procaptcha-common/tsconfig.json' is up to date because newest input '../procaptcha-common/src/simdReadings.ts' is older than output '../procaptcha-common/tsconfig.tsbuildinfo'
52
52
 
53
- 1:49:12 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
53
+ 5:39:15 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
54
54
 
55
- 1:49:12 PM - Building project '/home/runner/work/captcha/captcha/packages/procaptcha-puzzle/tsconfig.json'...
55
+ 5:39:15 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.12.3 build
2
+ > @prosopo/procaptcha-puzzle@2.13.0 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/procaptcha-puzzle@2.12.3 build:cross-env
6
+ > @prosopo/procaptcha-puzzle@2.13.0 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -50,11 +50,11 @@ Bundle build started
50
50
  ✓ 6 modules transformed.
51
51
  rendering chunks...
52
52
  computing gzip size...
53
- dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
54
- dist/index.js 0.14 kB │ gzip: 0.11 kB
55
- dist/components/ProcaptchaPuzzle.js 0.38 kB │ gzip: 0.24 kB
56
- dist/components/ProcaptchaWidget.js 6.99 kB │ gzip: 2.05 kB
57
- dist/services/Manager.js 8.49 kB │ gzip: 2.44 kB
58
- dist/components/PuzzleCanvas.js 9.76 kB │ gzip: 2.93 kB
53
+ dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
54
+ dist/index.js 0.14 kB │ gzip: 0.11 kB
55
+ dist/components/ProcaptchaPuzzle.js 0.38 kB │ gzip: 0.24 kB
56
+ dist/components/ProcaptchaWidget.js 7.08 kB │ gzip: 2.09 kB
57
+ dist/services/Manager.js 8.49 kB │ gzip: 2.44 kB
58
+ dist/components/PuzzleCanvas.js 14.47 kB │ gzip: 4.25 kB
59
59
 
60
- ✓ built in 76ms
60
+ ✓ built in 75ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,54 @@
1
1
  # @prosopo/procaptcha-puzzle
2
2
 
3
+ ## 2.13.0
4
+ ### Minor Changes
5
+
6
+ - 864ddde: Make the challenges usable with a keyboard and a screen reader.
7
+
8
+ The puzzle could only be solved by dragging with a mouse or a finger. The piece
9
+ was a plain `div`, so it could not be tabbed to, had no name or role, and a
10
+ screen reader announced nothing at all — a user on assistive tech could tick "I
11
+ am human", get a silent overlay, and have no way forward. The image captcha had
12
+ the same problem in its tiles.
13
+
14
+ What changed:
15
+
16
+ - The puzzle piece can now be focused and moved with the arrow keys (hold shift
17
+ for smaller steps, Home to start over, Enter or Space to submit). It has a
18
+ name, a role, and a visible focus ring.
19
+ - The puzzle announces its state as you go: where the piece is, as a percentage
20
+ across and down the board; that an answer is being checked; and that a failed
21
+ go has been replaced by a fresh puzzle.
22
+ - The image captcha tiles are now buttons rather than clickable `div`s, so they
23
+ can be tabbed to and activated with Enter or Space, and they report whether
24
+ they are selected instead of only looking selected.
25
+ - Both challenges now open as a proper dialog: it takes focus when it opens,
26
+ keeps Tab inside itself, and gives focus back to the checkbox on close.
27
+ - The spinner that replaces the checkbox while a check runs used to drop focus
28
+ to the top of the page without saying why. It now takes focus in the
29
+ checkbox's place, names itself, and hands focus back when the check finishes.
30
+ This affects the pow, image and puzzle flows.
31
+ - The puzzle's on-screen text was hardcoded English. It now goes through the
32
+ locale package, and the new strings are translated into all 32 locales.
33
+
34
+ A visual puzzle still cannot be solved by someone who cannot see it — the widget
35
+ is never told where the target is, so there is nothing it could describe. Sites
36
+ that need a challenge a blind user can complete should use the pow captcha type,
37
+ which needs no interaction beyond the checkbox.
38
+
39
+ ### Patch Changes
40
+
41
+ - Updated dependencies [028a158]
42
+ - Updated dependencies [028a158]
43
+ - Updated dependencies [3958046]
44
+ - Updated dependencies [864ddde]
45
+ - Updated dependencies [028a158]
46
+ - @prosopo/procaptcha-common@2.14.0
47
+ - @prosopo/types@5.8.3
48
+ - @prosopo/locale@3.4.2
49
+ - @prosopo/api@4.2.3
50
+ - @prosopo/common@3.1.55
51
+
3
52
  ## 2.12.3
4
53
  ### Patch Changes
5
54
 
@@ -197,6 +197,7 @@ var Procaptcha = (props) => {
197
197
  labelText: isTranslationReady ? t("WIDGET.I_AM_HUMAN") : "",
198
198
  error: state.error?.message,
199
199
  "aria-label": "human checkbox",
200
+ loadingText: t("WIDGET.CHECKING", { defaultValue: "Checking that you are human" }),
200
201
  loading: loading || puzzlePhase === "submitting"
201
202
  })
202
203
  ] });