Repository navigation
feat(frontend): device test sections and the location step - #2067
Merged
Merged
Conversation
The device test sent a HEAD for the clock and an empty POST to admin-ajax for the server row. WordPress rejects the empty POST before any plugin code runs and the page cache answers the HEAD, so neither could be limited, and a page served from an old cache went unnoticed (#2064). - One public endpoint, ffc_device_check_ping, answers with the server's time and the plugin's version and feeds both rows. A version that differs from the page's names an old cached page. - It is limited per address in fixed windows (default 60 per 600 s, 0 off), edited on Settings > Rate Limit beside the captcha cap and bounded on save and on read by RateLimitSettingsReader. Over the cap the row warns with the wait instead of failing. - The fixed-window counter the ALTCHA mint cap used moves to Core\WindowThrottle, now shared by both endpoints; the mint cap's behaviour is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018srx5hc431EYmG4MHUr2KA
The device test listed its rows as one long list, and could call a device ready before the visitor had read the location (#2065). - The rows sit in six native <details> sections (network, browser, form protections, device settings, display, PDF download). They open and close without the script, stay closed while they pass, and open by themselves on a warning, a failure or a step owed; the script never closes one again. A chip counts each section's rows by state. - Until the location is read, its row says the precision is not tested yet, the section opens with the button beside its row, and the verdict asks for that step; a failure is still told first. - "Copy the results" still copies every row, those in closed sections too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018srx5hc431EYmG4MHUr2KA
…k-accordion # Conflicts: # CHANGELOG.md # assets/js/ffc-device-check.min.js # includes/frontend/class-ffc-device-check.php # includes/settings/views/documentation/feature-certificates.php # languages/ffcertificate-pt_BR.l10n.php # languages/ffcertificate-pt_BR.mo # languages/ffcertificate-pt_BR.po # languages/ffcertificate.pot
rpgmem
marked this pull request as ready for review
October 24, 2026 15:15
rpgmem
enabled auto-merge (squash)
October 24, 2026 15:15
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018srx5hc431EYmG4MHUr2KA
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The device test listed its 14 rows as one long list, and could call a device ready before the visitor had read the location. Closes #2065.
<details>sections, in the order the rows already had: Network, Browser, Form protections, Device settings, Display, PDF download.data-ffc-state.ffc-device-check.cssand uses palette tokens only: no inline style, no colour literal.Tests
DeviceCheckTest: six closed sections in order, each section holding its own rows, and the location button inside the Device settings section.Docs
Addedentry.🤖 Generated with Claude Code
https://claude.ai/code/session_018srx5hc431EYmG4MHUr2KA