Skip to content

Commit b116ea0

Browse files
Fix Enterprise reCAPTCHA readiness
1 parent e5c7901 commit b116ea0

5 files changed

Lines changed: 45 additions & 5 deletions

File tree

hosting.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ <h3>
262262
</script>
263263
</div>
264264
</div>
265-
<script src="recaptcha.js?v=20260824" defer>
265+
<script src="recaptcha.js?v=20260902" defer>
266266
</script>
267267
<script src="hosting-page.js?v=20260824" defer>
268268
</script>

newsletter.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ <h1>
168168
</script>
169169
</div>
170170
</div>
171-
<script src="recaptcha.js?v=20260824" defer>
171+
<script src="recaptcha.js?v=20260902" defer>
172172
</script>
173173
<script src="newsletter-page.js?v=20260824" defer>
174174
</script>

recaptcha.js

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,41 @@
1-
(function(){var i="6Lf-EoAtAAAAAI8dwkXHkdisu4eoz1KaZlFMK47w",o=!1,t=null;function c(){return o?Promise.resolve():t||(t=new Promise(function(r){var e=document.createElement("script");e.src="https://www.google.com/recaptcha/enterprise.js?render="+i,e.async=!0,e.defer=!0,e.onload=function(){o=!0,r()},e.onerror=function(){r()},document.head.appendChild(e)}),t)}window.getRecaptchaToken=function(r){return c().then(function(){return new Promise(function(e){if(!window.grecaptcha||!window.grecaptcha.enterprise){e(null);return}var n=!1,u=setTimeout(function(){n||(n=!0,e(null))},8e3);window.grecaptcha.enterprise.execute(i,{action:r||"submit"}).then(function(a){n||(n=!0,clearTimeout(u),e(a))},function(){n||(n=!0,clearTimeout(u),e(null))})})})}})();
1+
(function () {
2+
'use strict';
3+
var siteKey = '6Lf-EoAtAAAAAI8dwkXHkdisu4eoz1KaZlFMK47w';
4+
var loadPromise = null;
5+
6+
function loadRecaptcha() {
7+
if (window.grecaptcha && window.grecaptcha.enterprise && typeof window.grecaptcha.enterprise.execute === 'function') return Promise.resolve(window.grecaptcha.enterprise);
8+
if (loadPromise) return loadPromise;
9+
loadPromise = new Promise(function (resolve) {
10+
var script = document.createElement('script');
11+
script.src = 'https://www.google.com/recaptcha/enterprise.js?render=' + encodeURIComponent(siteKey);
12+
script.async = true;
13+
script.defer = true;
14+
script.onload = function () {
15+
var enterprise = window.grecaptcha && window.grecaptcha.enterprise;
16+
resolve(enterprise && typeof enterprise.execute === 'function' ? enterprise : null);
17+
};
18+
script.onerror = function () { resolve(null); };
19+
document.head.appendChild(script);
20+
});
21+
return loadPromise;
22+
}
23+
24+
window.getRecaptchaToken = function (action) {
25+
return loadRecaptcha().then(function (api) {
26+
if (!api) return null;
27+
return new Promise(function (resolve) {
28+
var settled = false;
29+
var timeout = setTimeout(function () { if (!settled) { settled = true; resolve(null); } }, 8000);
30+
function execute() {
31+
if (settled || typeof api.execute !== 'function') return;
32+
Promise.resolve(api.execute(siteKey, { action: action || 'submit' })).then(function (token) {
33+
if (!settled) { settled = true; clearTimeout(timeout); resolve(token); }
34+
}).catch(function () { if (!settled) { settled = true; clearTimeout(timeout); resolve(null); } });
35+
}
36+
if (typeof api.ready === 'function') api.ready(execute);
37+
else execute();
38+
});
39+
});
40+
};
41+
})();

translator.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@
1616
<div class="examples"><span>Web articles</span><span>Documentation</span><span>Plain text</span><span>Markdown</span><span>Public pages</span></div><p class="privacy">Only public links are supported. Password-protected pages, PDFs, images, and pages that require JavaScript cannot be read. Document text is sent to the project's free AI provider chain for translation.</p><div id="translation-status" class="status" role="status" aria-live="polite" hidden></div>
1717
</section><section id="translation-result" class="result-card" aria-labelledby="result-title" hidden><div class="result-head"><h2 id="result-title">Translated document</h2><div class="actions"><button id="copy-translation" type="button">Copy translation</button><a id="source-link" href="#" target="_blank" rel="noopener noreferrer">Open source ↗</a></div></div><article id="translation-output" class="translation"></article></section>
1818
</main><footer class="page-footer"><p>A free community tool from <a href="https://acreetionos.org/">AcreetionOS</a>.</p></footer></div></div>
19-
<script src="sidebar.js?v=20260825" defer></script><script src="recaptcha.js?v=20260824" defer></script><script src="translator-page.js?v=20260902" defer></script><script src="footer.js?v=20260825" defer></script><script src="vendor/instantpage.min.js?v=20260825" type="module" defer></script>
19+
<script src="sidebar.js?v=20260825" defer></script><script src="recaptcha.js?v=20260902" defer></script><script src="translator-page.js?v=20260902" defer></script><script src="footer.js?v=20260825" defer></script><script src="vendor/instantpage.min.js?v=20260825" type="module" defer></script>
2020
</body></html>

wiki.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ <h3 style="color:var(--acreetion-text-bright);font-size:1rem;margin-bottom:0.75r
307307
</div>
308308
<script src="sidebar.js?v=20260825" defer>
309309
</script>
310-
<script src="recaptcha.js?v=20260824" defer>
310+
<script src="recaptcha.js?v=20260902" defer>
311311
</script>
312312
<script src="wiki-page.js?v=20260830" defer>
313313
</script>

0 commit comments

Comments
 (0)