Skip to content

Conversation

@rodrigo-fournier-immutable
Copy link
Contributor

@rodrigo-fournier-immutable rodrigo-fournier-immutable commented Jan 13, 2026

Summary

Fix critical regression introduced in commit 240cd2f that blocks new users from registering with ImmutableX.

Problem

  • registerOffchain() validates IMX metadata (via toUserImx) BEFORE calling the registration workflow
  • New users don't have IMX metadata until AFTER registration completes
  • This creates a Catch-22: users need metadata to register, but need to register to get metadata

Impact

  • ⚠️ CRITICAL: All new users on SDK v2.12.0+ cannot register with ImmutableX
  • Existing users (registered before Dec 8, 2025) are unaffected

Solution

  • Pass User directly instead of toUserImx(user) to registerOffchain workflow
  • Metadata validation happens AFTER registration in forceUserRefresh()
  • Restores pre-240cd2f behavior

Evidence

  • Kerry (created Dec 3) ✅ registered successfully before bug
  • Brandon (created Jan 12) ❌ blocked after bug was introduced

Changes

  • Modified passportImxProvider.ts: removed toUserImx() call on line 184
  • Added test coverage for new user registration without IMX metadata

Testing

  • ✅ All existing tests pass
  • ✅ New test verifies registration succeeds for users without IMX metadata

Related

  • Original commit: 240cd2f (Dec 8, 2025)
  • Affected versions: 2.12.0+
  • Ticket: ID-4233

Note

Restores new-user registration by adjusting registerOffchain to accept raw User rather than toUserImx(user).

  • Updates passportImxProvider.ts to pass user into registerOffchain, avoiding premature IMX metadata validation
  • Adds passportImxProvider.test.ts covering: registration for users without IMX metadata, already-registered users, and getAddress error when metadata is missing

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

Fix critical regression introduced in commit 240cd2f that blocks new
users from registering with ImmutableX.

Problem:
- registerOffchain() now validates IMX metadata (via toUserImx) BEFORE
  calling the registration workflow
- New users don't have IMX metadata until AFTER registration completes
- This creates a Catch-22: users need metadata to register, but need
  to register to get metadata

Impact:
- All new users on SDK v2.12.0+ cannot register with ImmutableX
- Existing users (registered before Dec 8, 2025) are unaffected

Solution:
- Pass User directly instead of toUserImx(user) to registerOffchain workflow
- Metadata validation happens AFTER registration in forceUserRefresh()
- Restores pre-240cd2f behavior

Evidence:
- Kerry (created Dec 3) registered successfully before bug
- Brandon (created Jan 12) blocked after bug was introduced

Tests:
- Added test for new user registration without IMX metadata
- All tests pass
@rodrigo-fournier-immutable rodrigo-fournier-immutable requested a review from a team as a code owner January 13, 2026 03:59
@nx-cloud
Copy link

nx-cloud bot commented Jan 13, 2026

View your CI Pipeline Execution ↗ for commit cc05702

Command Status Duration Result
nx affected -t build,lint,test ✅ Succeeded 13s View ↗

☁️ Nx Cloud last updated this comment at 2026-01-13 04:15:47 UTC

@rodrigo-fournier-immutable rodrigo-fournier-immutable added this pull request to the merge queue Jan 13, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 13, 2026
@rodrigo-fournier-immutable rodrigo-fournier-immutable added this pull request to the merge queue Jan 13, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 13, 2026
@rodrigo-fournier-immutable rodrigo-fournier-immutable added this pull request to the merge queue Jan 14, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 14, 2026
@rodrigo-fournier-immutable rodrigo-fournier-immutable added this pull request to the merge queue Jan 14, 2026
Merged via the queue into main with commit c717923 Jan 14, 2026
14 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants