From f1cb87f1d9a10c2fba87cb6a6e6b6426dbe361bd Mon Sep 17 00:00:00 2001 From: rcholic Date: Sun, 25 Jan 2026 07:10:32 +0000 Subject: [PATCH] chore: sync extension files from sentience-chrome v2.8.5 --- src/extension/injected_api.js | 29 ++++++++++++++---- src/extension/manifest.json | 2 +- src/extension/release.json | 58 +++++++++++++++++------------------ 3 files changed, 53 insertions(+), 36 deletions(-) diff --git a/src/extension/injected_api.js b/src/extension/injected_api.js index c1e305e..f4728d4 100644 --- a/src/extension/injected_api.js +++ b/src/extension/injected_api.js @@ -85,6 +85,22 @@ return !!lower && hints.some(hint => lower.includes(hint)); } function detectCaptcha() { + function isVisibleElement(el) { + try { + if (!el) return !1; + const style = window.getComputedStyle(el); + if ("none" === style.display || "hidden" === style.visibility) return !1; + const opacity = parseFloat(style.opacity || "1"); + if (!Number.isNaN(opacity) && opacity <= .01) return !1; + if (!el.getClientRects || 0 === el.getClientRects().length) return !1; + const rect = el.getBoundingClientRect(); + if (rect.width < 8 || rect.height < 8) return !1; + const vw = window.innerWidth || document.documentElement.clientWidth || 0, vh = window.innerHeight || document.documentElement.clientHeight || 0; + return !(vw && vh && (rect.bottom <= 0 || rect.right <= 0 || rect.top >= vh || rect.left >= vw)); + } catch (e) { + return !1; + } + } const evidence = { text_hits: [], selector_hits: [], @@ -103,10 +119,10 @@ const iframes = document.querySelectorAll("iframe"); for (const iframe of iframes) { const src = iframe.getAttribute("src") || "", title = iframe.getAttribute("title") || ""; - if (src) for (const [provider, hints] of Object.entries(CAPTCHA_IFRAME_HINTS)) matchHints(src, hints) && (hasIframeHit = !0, - providerSignals[provider] += 1, addEvidence(evidence.iframe_src_hits, truncateText(src, 120))); - if (title && matchHints(title, [ "captcha", "recaptcha" ]) && (hasContainerHit = !0, - addEvidence(evidence.selector_hits, 'iframe[title*="captcha"]')), evidence.iframe_src_hits.length >= 5) break; + if (src) for (const [provider, hints] of Object.entries(CAPTCHA_IFRAME_HINTS)) matchHints(src, hints) && (addEvidence(evidence.iframe_src_hits, truncateText(src, 120)), + isVisibleElement(iframe) && (hasIframeHit = !0, providerSignals[provider] += 1)); + if (title && matchHints(title, [ "captcha", "recaptcha" ]) && (addEvidence(evidence.selector_hits, 'iframe[title*="captcha"]'), + isVisibleElement(iframe) && (hasContainerHit = !0)), evidence.iframe_src_hits.length >= 5) break; } } catch (e) {} try { @@ -121,8 +137,9 @@ } } catch (e) {} for (const {selector: selector, provider: provider} of CAPTCHA_CONTAINER_SELECTORS) try { - document.querySelector(selector) && (hasContainerHit = !0, addEvidence(evidence.selector_hits, selector), - "unknown" !== provider && (providerSignals[provider] += 1)); + const hit = document.querySelector(selector); + hit && (addEvidence(evidence.selector_hits, selector), isVisibleElement(hit) && (hasContainerHit = !0, + "unknown" !== provider && (providerSignals[provider] += 1))); } catch (e) {} const textSnippet = function() { try { diff --git a/src/extension/manifest.json b/src/extension/manifest.json index 23651a4..fd048d0 100644 --- a/src/extension/manifest.json +++ b/src/extension/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "Sentience Semantic Visual Grounding Extractor", - "version": "2.8.4", + "version": "2.8.5", "description": "Extract semantic visual grounding data from web pages", "permissions": ["activeTab", "scripting"], "host_permissions": [""], diff --git a/src/extension/release.json b/src/extension/release.json index 23f64b2..24028d0 100644 --- a/src/extension/release.json +++ b/src/extension/release.json @@ -1,9 +1,9 @@ { - "url": "https://api.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/279701545", - "assets_url": "https://api.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/279701545/assets", - "upload_url": "https://uploads.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/279701545/assets{?name,label}", - "html_url": "https://github.com/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/tag/v2.8.4", - "id": 279701545, + "url": "https://api.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/279704858", + "assets_url": "https://api.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/279704858/assets", + "upload_url": "https://uploads.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/279704858/assets{?name,label}", + "html_url": "https://github.com/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/tag/v2.8.5", + "id": 279704858, "author": { "login": "rcholic", "id": 135060, @@ -25,21 +25,21 @@ "user_view_type": "public", "site_admin": false }, - "node_id": "RE_kwDOQshiJ84Qq-gp", - "tag_name": "v2.8.4", + "node_id": "RE_kwDOQshiJ84Qq_Ua", + "tag_name": "v2.8.5", "target_commitish": "main", - "name": "Release v2.8.4", + "name": "Release v2.8.5", "draft": false, "immutable": false, "prerelease": false, - "created_at": "2026-01-25T06:10:24Z", - "updated_at": "2026-01-25T06:11:51Z", - "published_at": "2026-01-25T06:11:11Z", + "created_at": "2026-01-25T07:09:06Z", + "updated_at": "2026-01-25T07:10:18Z", + "published_at": "2026-01-25T07:09:41Z", "assets": [ { - "url": "https://api.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/assets/345545012", - "id": 345545012, - "node_id": "RA_kwDOQshiJ84UmJk0", + "url": "https://api.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/assets/345558418", + "id": 345558418, + "node_id": "RA_kwDOQshiJ84UmM2S", "name": "extension-files.tar.gz", "label": "", "uploader": { @@ -65,17 +65,17 @@ }, "content_type": "application/gzip", "state": "uploaded", - "size": 79724, - "digest": "sha256:d78574e7fb0dfa121a261b650478a1d7a188377b3ba03fed1205cf07f2e1895e", + "size": 79659, + "digest": "sha256:850f5dba21ea0b1cb87a7ac088213a670367a56ccf68ca7c2c5f4218fe58df05", "download_count": 0, - "created_at": "2026-01-25T06:11:50Z", - "updated_at": "2026-01-25T06:11:51Z", - "browser_download_url": "https://github.com/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/download/v2.8.4/extension-files.tar.gz" + "created_at": "2026-01-25T07:10:18Z", + "updated_at": "2026-01-25T07:10:18Z", + "browser_download_url": "https://github.com/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/download/v2.8.5/extension-files.tar.gz" }, { - "url": "https://api.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/assets/345545011", - "id": 345545011, - "node_id": "RA_kwDOQshiJ84UmJkz", + "url": "https://api.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/assets/345558419", + "id": 345558419, + "node_id": "RA_kwDOQshiJ84UmM2T", "name": "extension-package.zip", "label": "", "uploader": { @@ -101,15 +101,15 @@ }, "content_type": "application/zip", "state": "uploaded", - "size": 81073, - "digest": "sha256:b6c4cb930256d2067e566281976840417da78595a734a48f6baae735e3a0356b", + "size": 81288, + "digest": "sha256:1b30879ceceb7fe880ef95be634acd83a281ac3b1fadf734f8d1eb03bda3cd9c", "download_count": 0, - "created_at": "2026-01-25T06:11:50Z", - "updated_at": "2026-01-25T06:11:51Z", - "browser_download_url": "https://github.com/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/download/v2.8.4/extension-package.zip" + "created_at": "2026-01-25T07:10:18Z", + "updated_at": "2026-01-25T07:10:18Z", + "browser_download_url": "https://github.com/SentienceAPI/Sentience-Geometry-Chrome-Extension/releases/download/v2.8.5/extension-package.zip" } ], - "tarball_url": "https://api.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/tarball/v2.8.4", - "zipball_url": "https://api.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/zipball/v2.8.4", + "tarball_url": "https://api.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/tarball/v2.8.5", + "zipball_url": "https://api.github.com/repos/SentienceAPI/Sentience-Geometry-Chrome-Extension/zipball/v2.8.5", "body": "" }