fix(checkout): ignore stale email existence checks#1331
Conversation
|
Warning Review limit reached
More reviews will be available in 19 minutes and 8 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR scopes checkout DOM/nonce access to the component, adds ChangesCheckout form isolation and customer data security
Sequence DiagramsequenceDiagram
participant User
participant CheckoutComponent
participant validate_form
participant Server
participant InlineLogin
User->>CheckoutComponent: submit
CheckoutComponent->>validate_form: set is_submitting = true
validate_form->>validate_form: cancel debounced checks
validate_form->>Server: POST serialized fields from this.$el
alt server returns success
validate_form->>CheckoutComponent: set checkout_successful = true
CheckoutComponent->>CheckoutComponent: resubmit via this.$el
else server returns errors
validate_form->>CheckoutComponent: clear is_submitting and unblock
end
validate_form->>InlineLogin: inline-login uses nonce from this.$el or that.$el when shown
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related issues
Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔨 Build Complete - Ready for Testing!📦 Download Build Artifact (Recommended)Download the zip build, upload to WordPress and test:
🌐 Test in WordPress Playground (Very Experimental)Click the link below to instantly test this PR in your browser - no installation needed! Login credentials: |
|
MERGE_SUMMARY Summary
Verification
CI context
|
🔨 Build Complete - Ready for Testing!📦 Download Build Artifact (Recommended)Download the zip build, upload to WordPress and test:
🌐 Test in WordPress Playground (Very Experimental)Click the link below to instantly test this PR in your browser - no installation needed! Login credentials: |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
tests/e2e/cypress/integration/060-sso-cross-domain.spec.js (1)
39-39: ⚡ Quick winMake the
describe.skipconditional for opt-in runs
tests/e2e/cypress/integration/060-sso-cross-domain.spec.jsline 39 unconditionally skips the entire suite; it’s the onlydescribe.skip(usage in the Cypress integration tests. Gate it behind a Cypress env var so CI stays green by default, while the suite can run in environments where the domain-mapping workaround applies.Proposed change
-describe.skip("SSO Cross-Domain Authentication", () => { +const maybe_describe = Cypress.env("ENABLE_SSO_CROSS_DOMAIN") ? describe : describe.skip; +maybe_describe("SSO Cross-Domain Authentication", () => {🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tests/e2e/cypress/integration/060-sso-cross-domain.spec.js` at line 39, Replace the unconditional describe.skip for the "SSO Cross-Domain Authentication" suite with a conditional that reads a Cypress env var (e.g., RUN_SSO_CROSS_DOMAIN) so the suite only skips by default; specifically, change the describe invocation for "SSO Cross-Domain Authentication" to use a ternary or if-check against Cypress.env('RUN_SSO_CROSS_DOMAIN') (for example: use (Cypress.env('RUN_SSO_CROSS_DOMAIN') ? describe : describe.skip)("SSO Cross-Domain Authentication", ...) or gate the whole block inside if (Cypress.env('RUN_SSO_CROSS_DOMAIN')) { describe(...) } ), ensuring tests run only when the env opt-in flag is set.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@tests/e2e/cypress/integration/060-sso-cross-domain.spec.js`:
- Line 39: Replace the unconditional describe.skip for the "SSO Cross-Domain
Authentication" suite with a conditional that reads a Cypress env var (e.g.,
RUN_SSO_CROSS_DOMAIN) so the suite only skips by default; specifically, change
the describe invocation for "SSO Cross-Domain Authentication" to use a ternary
or if-check against Cypress.env('RUN_SSO_CROSS_DOMAIN') (for example: use
(Cypress.env('RUN_SSO_CROSS_DOMAIN') ? describe : describe.skip)("SSO
Cross-Domain Authentication", ...) or gate the whole block inside if
(Cypress.env('RUN_SSO_CROSS_DOMAIN')) { describe(...) } ), ensuring tests run
only when the env opt-in flag is set.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: e15bbdc8-2bb6-4bf5-a249-2755a60bc5ed
📒 Files selected for processing (1)
tests/e2e/cypress/integration/060-sso-cross-domain.spec.js
🔨 Build Complete - Ready for Testing!📦 Download Build Artifact (Recommended)Download the zip build, upload to WordPress and test:
🌐 Test in WordPress Playground (Very Experimental)Click the link below to instantly test this PR in your browser - no installation needed! Login credentials: |
Summary
Verification
NotesThe production probe showed the page itself was not edge-cached ( aidevops.sh v3.20.6 plugin for OpenCode v1.15.13 with gpt-5.5 spent 4d 6h and 111,419 tokens on this with the user in an interactive session. Merged via PR #1331 to main. |
|
CLAIM_RELEASED reason=worker_complete runner=superdav42 ts=2026-06-01T09:44:22Z aidevops_version=3.20.7 opencode_version=1.15.13 |
Summary
#wu_formselectors.Verification
node_modules/.bin/eslint 'assets/js/checkout.js' --quiet --ignore-pattern '*.min.js'node --check 'assets/js/checkout.js'vendor/bin/phpcs 'inc/models/class-customer.php' 'tests/WP_Ultimo/Models/Customer_Test.php'vendor/bin/phpunit --filter 'WP_Ultimo\\Models\\Customer_Test::test_to_search_results'curl -k --resolve 'sdaiagent.com:443:127.0.0.1' .../checkout.min.jscontainedcheckout_successfulandis_submitting.Notes
The production probe showed the page itself was not edge-cached (
no-store, Cloudflare dynamic). The false "customer exists" prompt was caused by a stale debouncedwu_check_user_existsrequest completing afterwu_validate_formhad already created the account.aidevops.sh v3.20.6 plugin for OpenCode v1.15.13 with gpt-5.5 spent 4d 6h and 111,419 tokens on this with the user in an interactive session.
Summary by CodeRabbit
Bug Fixes
Tests