You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Frontend: the device test cannot see a blocker that stops the plugin's own scripts #2062
The device-ID collector is blocked. Tracker lists block the fingerprint library (uBlock with EasyPrivacy, Brave Shields, Firefox strict mode). The row then says "not available" as if the browser lacked something.
The captcha only reports support. The row says whether the browser supports what the captcha needs, not whether the widget's script loaded.
Requests to the server are never tried. Nothing checks that admin-ajax.php, the path every form submits through, answers.
The copied results lack context. They do not say which plugin version or which settings the page ran with.
Acceptance criteria
A notice rendered in the page, revealed by CSS after a delay and cancelled by the script when it starts, says the test could not run and why that may be. A <noscript> message covers JavaScript turned off.
The device-ID row says the collector was blocked when the page asked for it and it did not load.
The captcha row says when the captcha's script did not load on a page that uses it.
A new "Server requests" row calls admin-ajax.php and shows OK with the response time, or that the request was blocked or failed.
"Copy the results" adds the plugin version and the relevant settings: captcha mode, device limit, location on forms.
If simple, a notice when the page's script is older than the plugin, which means it was served from a cache.
Tests, the three catalogues, docs and the CHANGELOG are updated.
Server requests row: an empty POST to admin-ajax.php, reported as reached (with ms), refused (status code) or blocked, each with its fix.
Device ID: a collector missing where the browser could run it is reported as stopped by a blocker.
Captcha: with ALTCHA (altcha / both) the page loads the forms' bundle and fails the row when the widget never defined itself.
Test's own scripts stopped: a notice the stylesheet reveals after a delay, cancelled when the script starts, shown at once when a script it needs is missing. The <noscript> message uses the shared notice component.
Copy the results: adds the plugin version, the captcha mode and whether the device limit is on.
Also agreed during the work: a verdict above the rows, location permission and precision merged into one row, rows grouped by subject with the PDF last.
Deferred: the stale-JS-cache notice. Detecting it reliably needs the server to report its version through a new endpoint, which was not simple enough for this change.
Activity
fix(frontend): name the captcha mode without a field-shaped key
feat(frontend): device test names blockers and gives a verdict (#2063)
rpgmem commentedon Oct 24, 2026
Delivered in #2063 (merged to
develop):admin-ajax.php, reported as reached (with ms), refused (status code) or blocked, each with its fix.altcha/both) the page loads the forms' bundle and fails the row when the widget never defined itself.<noscript>message uses the shared notice component.Generated by Claude Code