feat(reactjs-todo-davinci): add ValidatedPasswordCollector support#116
feat(reactjs-todo-davinci): add ValidatedPasswordCollector support#116ryanbas21 wants to merge 2 commits into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (5)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughThis PR adds password validation support to the DaVinci form system. A new ChangesPassword Validation in DaVinci Forms
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 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 docstrings
🧪 Generate unit tests (beta)
Warning Tools execution failed with the following error: Failed to run tools: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error) 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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.
Inline comments:
In `@javascript/reactjs-todo-davinci/package.json`:
- Line 42: The package.json currently pins `@forgerock/davinci-client` to a
preview pkg.pr.new URL; replace that entry in
javascript/reactjs-todo-davinci/package.json so the dependency references the
published npm version string (e.g. "`@forgerock/davinci-client`":
">=<stable-version>" or a specific semver) instead of the pkg.pr.new URL, then
regenerate the lockfile (run npm install/npm ci locally) so package-lock.json no
longer contains a resolved pkg.pr.new URL; ensure the final package-lock.json
committed to the repo points to the stable registry artifact so CI installs
reliably.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 518e875a-ed2f-4793-b3ca-eb263fe249c5
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (6)
javascript/reactjs-todo-davinci/client/components/davinci-client/form.jsjavascript/reactjs-todo-davinci/client/components/davinci-client/hooks/davinci.hook.jsjavascript/reactjs-todo-davinci/client/components/davinci-client/password.jsjavascript/reactjs-todo-davinci/e2e/davinci-validated-password.spec.jsjavascript/reactjs-todo-davinci/package.jsonjavascript/reactjs-todo-davinci/playwright.config.ts
- Upgrades @forgerock/davinci-client to latest (2.0.0) which ships ValidatedPasswordCollector with password policy validation support - Extends the Password component to render a static requirements list from the password policy, inline validation errors on keystroke, and an optional confirm field with real-time mismatch feedback - Wires ValidatedPasswordCollector into form.js via a new validator function exposed from useDavinci with proper error handling - Adds a second webServer (port 8444, 356a254c tenant) in playwright config for ValidatedPasswordCollector e2e tests; skipped in CI where only the 02fb4743 tenant is available
41d7602 to
cf50b48
Compare
…ssword tests on port 8443
Summary
@forgerock/davinci-clientto PR#638 preview build (addsValidatedPasswordCollectorsupport)Passwordcomponent to render a static requirements list, inline validation errors on keystroke, and an optional confirm field (whenverify: true) with real-time mismatch feedbackValidatedPasswordCollectorintoform.jsvia a newvalidatorfunction exposed fromuseDavinci356a254cPingOne tenant (which returns apasswordPolicyon the registration password field)Changes
package.json@forgerock/davinci-client→pkg.pr.newPR#638 buildhooks/davinci.hook.jsvalidator(collector)with try/catch safety fallbackpassword.jsform.jsValidatedPasswordCollectorcase inmapCollectorsToComponentse2e/davinci-validated-password.spec.jsplaywright.config.ts356a254ctenant for ValidatedPassword testsNotes
pkg.pr.newURL should be replaced with the published npm tag once PR#638 is merged to the SDKverify: trueconfirm field is implemented but not reachable in the current PingOne environment (collector.output.verifyisfalse) — the code is correct and will activate automatically when the environment is configured356a254ctenant'spingOneSSOConnector/createUserstep is returning "requestTimedOut" so a happy-path registration e2e test is not included — covered by the existingdavinci-register-user.spec.jsagainst02fb4743Test plan
npm run e2e -- --grep "ValidatedPasswordCollector"— 4 passing (Chromium + Firefox)npm run e2e -- --grep "Login"— existing login tests still pass🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Tests