-
Notifications
You must be signed in to change notification settings - Fork 279
Infinite: Update to new API spec, final touchups #5916
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
`/customer` endpoint changed `personalInfo` -> `individualData`
fb5284e to
eb5b925
Compare
8696a2d to
fd06d7a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fd06d7a4eb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
fd06d7a to
f9c6477
Compare
f9c6477 to
0b987ef
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0b987ef1bf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Previously only gave the option to go back to the `RampSelectOptionScene` when the KYC was incomplete.
0b987ef to
83e4a8e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cursor Bugbot has reviewed your changes and found 3 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| const [firstName, setFirstName] = React.useState(initialFirstName) | ||
| const [lastName, setLastName] = React.useState(initialLastName) | ||
| const [email, setEmail] = React.useState(initialEmail) | ||
| const [phone, setPhone] = React.useState(initialPhone) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Phone field mishandles E.164 format initial values
Medium Severity
The initialPhone parameter doesn't convert E.164 format (+14155551234) to display format. If provided in E.164 format, it displays incorrectly with double country codes (+1 +14155551234) and submits as invalid E.164 (+114155551234) because phoneToE164 blindly prepends +1 to all digits without checking for an existing country code.
Additional Locations (1)
| }) | ||
| .catch(reject) | ||
| } | ||
| : undefined, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Complete KYC button allows concurrent operations
Low Severity
The onComplete callback starts async operations but doesn't return the Promise chain, so RampPendingScene treats it as synchronous. Rapid button clicks could trigger multiple concurrent webview opens and status checks before the first webview appears, potentially causing race conditions or duplicate navigation operations.
Additional Locations (1)
| // instead of a modal in the event there is no region selected. | ||
| useFocusEffect( | ||
| React.useCallback(() => { | ||
| onRegionSelect().catch(() => {}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Silent error suppression in region selection
Low Severity
The useFocusEffect hook silently catches and ignores all errors from onRegionSelect() with an empty catch handler. This could mask important failures like network errors, API issues, or navigation problems, making debugging difficult when the region selection modal fails to open.
TODO: Replace the entire instructional scene with a country selection list instead of a modal in the event there is no region selected. Excess instruction manuals and modals should be avoided and this is a place it can easily be avoided.
83e4a8e to
7dc63b1
Compare
"Account Name" confusing. Renamed to "Account Nickname"
7dc63b1 to
00d27e2
Compare
More surprise API changes from Infinite, integrate to allow KYC form submission on Edge's side:
/customerendpoint changedpersonalInfo->individualDataProperly pre-populate nationality
Add extended form input (DOB, SSN, etc) and supporting UI
Fix draft/pending KYC workflow (going back on incomplete web form KYC) to allow revisiting the KYC url.
CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
noneRequirements
If you have made any visual changes to the GUI. Make sure you have:
Note
Modernizes the Ramp KYC experience and aligns with Infinite’s latest API.
individualDatawithfirstName/lastName/nationality/phone/dateOfBirth/taxIdentificationNumber; handle newDRAFTstatus; update KYC workflow to send extended fields and nationality; enhance pending flow to support re-opening KYC via optional webview action and re-polling.RampKycFormScenewith phone, DOB (picker + validation), and SSN fields, input formatting/validation, and sectioned layout; integrates into DevTestScene; adds new form field typesphoneandssn.RampRegionSelectauto-opens region selector on focus;RampPendingScenecan show a "Complete KYC" button when applicable.Written by Cursor Bugbot for commit 83e4a8e. This will update automatically on new commits. Configure here.