Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions API.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ This document describes the public TypeScript API for
npm install @0xsequence/oms-react-native-sdk
```

## Native Requirements

Android apps need `minSdk` 24 or newer, `compileSdk` 34 or newer, and Java 17
compile options. The SDK does not require app-level core library desugaring or a
custom Kotlin version override.

## Client

```ts
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,17 @@ Versions follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

---

## [0.1.0-alpha.4] — 2026-06-26

### Changed
- Lowered the Android OMS SDK requirement to `minSdk 24`.
- Aligned Android Kotlin, coroutine, and serialization versions with current
React Native and Expo defaults.

### Fixed
- Removed the need for Expo and bare React Native apps to raise Android
`minSdk`, override Kotlin, or enable core library desugaring for OMS.

## [0.1.0-alpha.3] — 2026-06-26

### Added
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ See [API.md](./API.md) for the public API surface and TypeScript shapes.
## Native SDK Dependencies

The React Native SDK owns its native SDK dependencies. Android resolves
`io.github.0xsequence:oms-client-kotlin-sdk:0.1.0-alpha.3` from Maven, and iOS
`io.github.0xsequence:oms-client-kotlin-sdk:0.1.0-alpha.4` from Maven, and iOS
resolves `oms-client-swift-sdk` `0.1.0-alpha.3` from CocoaPods.

The React Native wrapper itself is distributed through npm. React Native
Expand All @@ -159,8 +159,9 @@ on the underlying native SDKs.
- Bare React Native apps are supported through normal React Native autolinking.
- Expo apps must use a development build, Expo prebuild/EAS Build, or the bare
workflow. Expo Go cannot load this SDK because it includes custom native code.
- Android apps need `minSdk 26`, `compileSdk 34` or newer, and Java 17 compile
options.
- Android apps need `minSdk 24`, `compileSdk 34` or newer, and Java 17 compile
options. No app-level core library desugaring or Kotlin version override is
required for OMS.
- iOS apps need deployment target 15.0 or newer.
- OIDC redirect auth requires the consuming app to configure its own URL scheme
or app links.
Expand All @@ -171,9 +172,8 @@ on the underlying native SDKs.
- `examples/trails-actions-example` is the bare React Native demo for OMS wallet
flow with Trails action resolution.
- `examples/expo-example` is a standalone Expo development-build demo that uses
`expo-web-browser` and the published npm package. It is intentionally
excluded from the root Yarn workspace so it is not linked to the local SDK
source. Its dependency is not updated until this SDK version is published.
`expo-web-browser` and the npm package. It is intentionally excluded from the
root Yarn workspace so it is not linked to the local SDK source.

## Publishing

Expand Down
10 changes: 5 additions & 5 deletions android/build.gradle
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
buildscript {
ext.OmsClientReactNativeSdk = [
kotlinVersion: "2.3.20",
minSdkVersion: 26,
kotlinVersion: "2.1.20",
minSdkVersion: 24,
compileSdkVersion: 36,
targetSdkVersion: 36,
omsClientKotlinSdkVersion: "0.1.0-alpha.3",
kotlinxCoroutinesVersion: "1.11.0",
kotlinxSerializationJsonVersion: "1.11.0"
omsClientKotlinSdkVersion: "0.1.0-alpha.4",
kotlinxCoroutinesVersion: "1.10.2",
kotlinxSerializationJsonVersion: "1.8.1"
]

ext.getExtOrDefault = { prop ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class OmsClientReactNativeSdkModule(reactContext: ReactApplicationContext) :
Arguments.createMap().apply {
putString("clientId", clientId)
putMap("session", sessionMap(event.session))
putString("expiredAt", event.expiredAt.toString())
putString("expiredAt", event.expiredAt)
}
)
}
Expand Down Expand Up @@ -707,7 +707,7 @@ class OmsClientReactNativeSdkModule(reactContext: ReactApplicationContext) :
private fun sessionMap(session: OMSClientSessionState?): WritableMap =
Arguments.createMap().apply {
putNullableString("walletAddress", session?.walletAddress)
putNullableString("expiresAt", session?.expiresAt?.toString())
putNullableString("expiresAt", session?.expiresAt)
putNullableString("loginType", session?.loginType?.name)
putNullableString("sessionEmail", session?.sessionEmail)
}
Expand Down
10 changes: 1 addition & 9 deletions examples/expo-example/app.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,7 @@
"package": "com.sequence.oms.expoexample"
},
"plugins": [
"expo-web-browser",
[
"expo-build-properties",
{
"android": {
"minSdkVersion": 26
}
}
]
"expo-web-browser"
]
}
}
35 changes: 4 additions & 31 deletions examples/expo-example/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions examples/expo-example/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@0xsequence/oms-react-native-sdk": "0.1.0-alpha.2",
"@0xsequence/oms-react-native-sdk": "0.1.0-alpha.4",
"expo": "~56.0.8",
"expo-build-properties": "~56.0.17",
"expo-dev-client": "~56.0.19",
"expo-web-browser": "~56.0.5",
"react": "19.2.7",
Expand Down
Loading
Loading