Skip to content

Conversation

@Jon-edge
Copy link
Collaborator

@Jon-edge Jon-edge commented Jan 22, 2026

  • More surprise API changes from Infinite, integrate to allow KYC form submission on Edge's side:
    /customer endpoint changed personalInfo -> individualData

  • Properly 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?

  • Yes
  • No

Dependencies

none

Requirements

If you have made any visual changes to the GUI. Make sure you have:

  • Tested on iOS device
  • Tested on Android device
  • Tested on small-screen device (iPod Touch)
  • Tested on large-screen device (tablet)

Note

Modernizes the Ramp KYC experience and aligns with Infinite’s latest API.

  • Infinite API & workflow: Switch to individualData with firstName/lastName/nationality/phone/dateOfBirth/taxIdentificationNumber; handle new DRAFT status; update KYC workflow to send extended fields and nationality; enhance pending flow to support re-opening KYC via optional webview action and re-polling.
  • New KYC UI: Introduces RampKycFormScene with phone, DOB (picker + validation), and SSN fields, input formatting/validation, and sectioned layout; integrates into DevTestScene; adds new form field types phone and ssn.
  • UX tweaks: RampRegionSelect auto-opens region selector on focus; RampPendingScene can show a "Complete KYC" button when applicable.
  • Locales: Adds strings for new fields, errors, and KYC actions.

Written by Cursor Bugbot for commit 83e4a8e. This will update automatically on new commits. Configure here.


`/customer` endpoint changed `personalInfo` -> `individualData`
cursor[bot]

This comment was marked as outdated.

@Jon-edge Jon-edge force-pushed the jon/fix/hopefully-final-infinite-api branch from fb5284e to eb5b925 Compare January 22, 2026 06:18
@Jon-edge Jon-edge marked this pull request as draft January 22, 2026 07:21
@Jon-edge Jon-edge force-pushed the jon/fix/hopefully-final-infinite-api branch 2 times, most recently from 8696a2d to fd06d7a Compare January 22, 2026 20:13
@Jon-edge Jon-edge marked this pull request as ready for review January 22, 2026 20:44
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a 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".

@Jon-edge Jon-edge changed the title Update to new API spec Update to new API spec, Final changes Jan 22, 2026
@Jon-edge Jon-edge force-pushed the jon/fix/hopefully-final-infinite-api branch from fd06d7a to f9c6477 Compare January 22, 2026 20:58
cursor[bot]

This comment was marked as outdated.

@Jon-edge Jon-edge marked this pull request as draft January 22, 2026 21:33
@Jon-edge Jon-edge force-pushed the jon/fix/hopefully-final-infinite-api branch from f9c6477 to 0b987ef Compare January 22, 2026 21:37
@Jon-edge Jon-edge marked this pull request as ready for review January 22, 2026 22:10
cursor[bot]

This comment was marked as outdated.

@Jon-edge Jon-edge changed the title Update to new API spec, Final changes Update to new API spec, final touchups Jan 22, 2026
@Jon-edge Jon-edge changed the title Update to new API spec, final touchups Infinite: Update to new API spec, final touchups Jan 22, 2026
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a 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.
@Jon-edge Jon-edge force-pushed the jon/fix/hopefully-final-infinite-api branch from 0b987ef to 83e4a8e Compare January 22, 2026 22:47
Copy link

@cursor cursor bot left a 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)
Copy link

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)

Fix in Cursor Fix in Web

})
.catch(reject)
}
: undefined,
Copy link

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)

Fix in Cursor Fix in Web

// instead of a modal in the event there is no region selected.
useFocusEffect(
React.useCallback(() => {
onRegionSelect().catch(() => {})
Copy link

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.

Fix in Cursor Fix in Web

@Jon-edge Jon-edge marked this pull request as draft January 22, 2026 23:17
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.
@Jon-edge Jon-edge force-pushed the jon/fix/hopefully-final-infinite-api branch from 83e4a8e to 7dc63b1 Compare January 22, 2026 23:18
"Account Name" confusing. Renamed to "Account Nickname"
@Jon-edge Jon-edge force-pushed the jon/fix/hopefully-final-infinite-api branch from 7dc63b1 to 00d27e2 Compare January 22, 2026 23:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants