Skip to content

feat(native): upgrade OMS SDKs to alpha.2#26

Merged
tolgahan-arikan merged 6 commits into
masterfrom
upgrade-native-sdk-alpha2
Jun 10, 2026
Merged

feat(native): upgrade OMS SDKs to alpha.2#26
tolgahan-arikan merged 6 commits into
masterfrom
upgrade-native-sdk-alpha2

Conversation

@tolgahan-arikan

Copy link
Copy Markdown
Collaborator

Summary

  • upgrade Android and iOS OMS native SDK dependencies to 0.1.0-alpha.2
  • expose alpha.2 bridge additions for session expiry, session lifetime, OIDC login hints, richer token metadata, and native error details
  • update sdk-example and trails-actions-example for session expiry handling; add sdk-example session lifetime input and fee option picker
  • add Node-based bridge unit tests for session expiry replay/cache behavior and auth parameter pass-through

Validation

  • yarn lint
  • yarn test
  • yarn typecheck

Notes

  • yarn test runs yarn prepare first, then executes node --test test/*.test.js.
  • Native Android/iOS example builds are still covered by PR CI.

@tolgahan-arikan tolgahan-arikan requested a review from a team June 10, 2026 13:59
@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown

Claude finished @tolgahan-arikan's task —— View job


PR Review: OMS SDK Alpha.2 Upgrade ✅

I've completed a comprehensive review of this pull request. Here are my findings:

Excellent Work Overall

This PR successfully upgrades the native OMS SDKs from alpha.1 to alpha.2 and implements session expiry handling along with other API improvements. The implementation is thorough and well-executed.

Key Findings

API Surface & Documentation

  • src/index.tsx exports: Correctly updated with new exports:
    • Added onSessionExpired function
    • Added OmsClientSessionExpiredEvent, OmsTokenContractInfo, OmsTokenMetadata, OmsTokenMetadataAsset types
  • API.md documentation: Properly updated to reflect all new exports and enhanced token metadata types
  • Type consistency: Native TypeScript definitions match the documented API surface

Native Layer Consistency

  • Android SDK: Updated to 0.1.0-alpha.2 in android/build.gradle:7
  • iOS SDK: Updated to 0.1.0-alpha.2 in OmsClientReactNativeSdk.podspec:19
  • Session expiry handling: Both platforms consistently implement onSessionExpired callbacks
  • New parameters: Both platforms support the new sessionLifetimeSeconds and loginHint parameters
  • Method signatures: Android and iOS implementations are properly synchronized

Conventional Commits Format

  • PR title follows the correct format: feat(native): upgrade OMS SDKs to alpha.2
  • Uses feat type (appropriate for new functionality)
  • Proper scope (native) indicating native layer changes

Code Quality & Implementation

  • Session expiry replay: Smart caching mechanism in client.native.ts:130-180 to handle session expiry events
  • Type safety: Proper TypeScript types throughout the codebase
  • Error handling: Consistent error handling patterns maintained
  • Test coverage: New comprehensive unit tests in test/client.native.test.js covering session expiry scenarios

Enhanced Token Metadata

The PR adds rich token metadata support:

  • OmsTokenBalance now includes balanceUSD, priceUSD, contractInfo, tokenMetadata
  • New OmsTokenContractInfo with comprehensive contract details
  • New OmsTokenMetadata with NFT metadata including assets array
  • All properly exported and documented

Minor Observations

  1. Native build validation: Since I cannot run native builds, recommend ensuring Android/iOS example builds pass in CI
  2. Version alignment: Package.json still shows 0.1.0-alpha.1 - this will likely be updated during release

Recommendations

  1. All validation passed - this PR is ready for merge pending CI checks
  2. Consider updating package.json version in a follow-up PR when ready to publish
  3. The comprehensive test suite should catch any regressions

Summary

This is a well-structured upgrade that properly maintains API consistency across platforms, includes thorough documentation updates, and adds valuable functionality like session expiry handling. The implementation follows the repository's conventions and maintains backward compatibility.


Job Run

@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown

Claude finished @tolgahan-arikan's task —— View job


PR Review: OMS SDK Alpha.2 Upgrade ✅

I've completed a comprehensive review of this pull request. Here are my findings:

Excellent Work Overall

This PR successfully upgrades the native OMS SDKs from alpha.1 to alpha.2 and implements session expiry handling along with other API improvements. The implementation is thorough and well-executed.

Key Findings

API Surface & Documentation

  • src/index.tsx exports: Correctly updated with new exports:
    • Added onSessionExpired function
    • Added OmsClientSessionExpiredEvent, OmsTokenContractInfo, OmsTokenMetadata, OmsTokenMetadataAsset types
  • API.md documentation: Properly updated to reflect all new exports and enhanced token metadata types
  • Type consistency: Native TypeScript definitions match the documented API surface

Native Layer Consistency

  • Android SDK: Updated to 0.1.0-alpha.2 in android/build.gradle:7
  • iOS SDK: Updated to 0.1.0-alpha.2 in OmsClientReactNativeSdk.podspec:19
  • Session expiry handling: Both platforms consistently implement onSessionExpired callbacks
  • New parameters: Both platforms support the new sessionLifetimeSeconds and loginHint parameters
  • Method signatures: Android and iOS implementations are properly synchronized

Conventional Commits Format

  • PR title follows the correct format: feat(native): upgrade OMS SDKs to alpha.2
  • Uses feat type (appropriate for new functionality)
  • Proper scope (native) indicating native layer changes

Code Quality & Implementation

  • Session expiry replay: Smart caching mechanism in client.native.ts:130-180 to handle session expiry events
  • Type safety: Proper TypeScript types throughout the codebase
  • Error handling: Consistent error handling patterns maintained
  • Test coverage: New comprehensive unit tests in test/client.native.test.js covering session expiry scenarios

Enhanced Token Metadata

The PR adds rich token metadata support:

  • OmsTokenBalance now includes balanceUSD, priceUSD, contractInfo, tokenMetadata
  • New OmsTokenContractInfo with comprehensive contract details
  • New OmsTokenMetadata with NFT metadata including assets array
  • All properly exported and documented

Minor Observations

  1. Native build validation: Since I cannot run native builds, recommend ensuring Android/iOS example builds pass in CI
  2. Version alignment: Package.json still shows 0.1.0-alpha.1 - this will likely be updated during release

Recommendations

  1. All validation passed - this PR is ready for merge pending CI checks
  2. Consider updating package.json version in a follow-up PR when ready to publish
  3. The comprehensive test suite should catch any regressions

Summary

This is a well-structured upgrade that properly maintains API consistency across platforms, includes thorough documentation updates, and adds valuable functionality like session expiry handling. The implementation follows the repository's conventions and maintains backward compatibility.


Job Run

@tolgahan-arikan tolgahan-arikan merged commit 87360c4 into master Jun 10, 2026
6 checks passed
@tolgahan-arikan tolgahan-arikan deleted the upgrade-native-sdk-alpha2 branch June 10, 2026 14:34
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