aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2025-02-20 22:53:38 +0800
committerGitHub <noreply@github.com>2025-02-20 22:53:38 +0800
commitcd225d7034f905f73319b5a9024f6f9d5b6a01c7 (patch)
treed32e408c2270cf1fd4c66f3125e710006cc0667c
parente6759f356d9530c84aacf64fc9ada9442546e790 (diff)
downloadgitea-cd225d7034f905f73319b5a9024f6f9d5b6a01c7.tar.gz
gitea-cd225d7034f905f73319b5a9024f6f9d5b6a01c7.zip
Fix mCaptcha bug (#33659)
Fix #33658
-rw-r--r--web_src/css/form.css2
-rw-r--r--web_src/js/features/captcha.ts13
2 files changed, 10 insertions, 5 deletions
diff --git a/web_src/css/form.css b/web_src/css/form.css
index 7a2cf4fcac..4410dc64a9 100644
--- a/web_src/css/form.css
+++ b/web_src/css/form.css
@@ -243,7 +243,7 @@ textarea:focus,
height: 76px !important;
}
.m-captcha-style {
- width: 50%;
+ max-width: 450px;
}
}
diff --git a/web_src/js/features/captcha.ts b/web_src/js/features/captcha.ts
index 69b4aa6852..df234d0e5c 100644
--- a/web_src/js/features/captcha.ts
+++ b/web_src/js/features/captcha.ts
@@ -34,13 +34,18 @@ export async function initCaptcha() {
break;
}
case 'm-captcha': {
- const {default: mCaptcha} = await import(/* webpackChunkName: "mcaptcha-vanilla-glue" */'@mcaptcha/vanilla-glue');
- // @ts-expect-error
+ const mCaptcha = await import(/* webpackChunkName: "mcaptcha-vanilla-glue" */'@mcaptcha/vanilla-glue');
+
+ // FIXME: the mCaptcha code is not right, it's a miracle that the wrong code could run
+ // * the "vanilla-glue" has some problems with es6 module.
+ // * the INPUT_NAME is a "const", it should not be changed.
+ // * the "mCaptcha.default" is actually the "Widget".
+
+ // @ts-expect-error TS2540: Cannot assign to 'INPUT_NAME' because it is a read-only property.
mCaptcha.INPUT_NAME = 'm-captcha-response';
const instanceURL = captchaEl.getAttribute('data-instance-url');
- // @ts-expect-error
- mCaptcha.default({
+ new mCaptcha.default({
siteKey: {
instanceUrl: new URL(instanceURL),
key: siteKey,