Skip to content
Merged
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
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,22 @@

All notable changes to this project will be documented in this file.

## [3.0.24] - 2026-04-28

### Bug Fixes
- **bundle-update (Android)**: Annotate `BundleUpdateStoreAndroid.getCurrentBundleMainJSBundle` / `getCurrentBundleBackgroundJSBundle` / `getCurrentBundleCommonJSBundle` with `@JvmStatic` so external modules (notably `SplitBundleLoaderModule`) can invoke them via `Class.getMethod(...).invoke(null, ctx)`. Without `@JvmStatic` the Kotlin `object` members are instance methods on the singleton, the null-receiver reflection call throws NPE, and OTA segment lookup silently falls back to APK builtin assets — so a freshly-installed three-bundle OTA would keep loading the IPA/APK common bundle and crash on moduleId mismatch with the OTA-loaded main.

### Chores
- Bump all packages to 3.0.24.

## [3.0.23] - 2026-04-24

### Bug Fixes
- **bundle-update (Android)**: Avoid nested-comment trigger in `validateWebEmbedSha256` KDoc. Kotlin block comments nest, so a bare `**` inside a `/** ... */` KDoc (as in `web-embed/**`) is lexed as a nested comment opener; the outer closing `*/` only decrements depth to 1, swallowing the rest of the file — including `fun validateWebEmbedSha256` and `fun isDevSettingsEnabled` — as comment body until EOF, which surfaced as cascading Android release errors (`Missing '}'`, `Unclosed comment`, two `Unresolved reference`). Rewrite the sentence in prose so the glob no longer appears in the KDoc body.

### Chores
- Bump all packages to 3.0.23.

## [3.0.22] - 2026-04-24

### Documentation
Expand Down
2 changes: 1 addition & 1 deletion native-modules/native-logger/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-native-logger",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-native-logger",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-aes-crypto/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-aes-crypto",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-aes-crypto",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-app-update/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-app-update",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-app-update",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-async-storage/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-async-storage",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-async-storage",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
4 changes: 2 additions & 2 deletions native-modules/react-native-background-thread/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-background-thread",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-background-thread",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down Expand Up @@ -84,7 +84,7 @@
"typescript": "^5.9.2"
},
"peerDependencies": {
"@onekeyfe/react-native-bundle-update": ">=3.0.22",
"@onekeyfe/react-native-bundle-update": ">=3.0.24",
"react": "*",
"react-native": "*"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -943,14 +943,23 @@ object BundleUpdateStoreAndroid {
return entryFile.absolutePath
}

// @JvmStatic exposes these entry-point getters as true JVM-static methods
// so SplitBundleLoaderModule (and any future external module) can call them
// via Class.getMethod(...).invoke(null, ctx) reflection. Without it, Kotlin
// `object` members are INSTANCE methods on the singleton, the null-receiver
// invoke throws NPE, and the OTA segment lookup silently falls back to APK
// builtin assets — see #SBL-OTA-FALLBACK regression report.
@JvmStatic
fun getCurrentBundleMainJSBundle(context: Context): String? {
return getCurrentBundleEntryPath(context, MAIN_JS_BUNDLE_FILE_NAME)
}

@JvmStatic
fun getCurrentBundleBackgroundJSBundle(context: Context): String? {
return getCurrentBundleEntryPath(context, BACKGROUND_BUNDLE_FILE_NAME)
}

@JvmStatic
fun getCurrentBundleCommonJSBundle(context: Context): String? {
return getCurrentBundleEntryPath(context, COMMON_BUNDLE_FILE_NAME)
}
Expand Down Expand Up @@ -990,11 +999,12 @@ object BundleUpdateStoreAndroid {
}

/**
* Walks bundleDir/web-embed/** and verifies every file's sha256 against
* the metadata entry (key is the bundle-relative path). Also rejects
* files on disk that aren't listed in metadata, and metadata entries
* whose backing file is missing. Returns true when web-embed is absent
* from both disk and metadata (bundles without web-embed).
* Walks every file under bundleDir/web-embed/ recursively and verifies
* each file's sha256 against the metadata entry (key is the bundle-relative
* path). Also rejects files on disk that aren't listed in metadata, and
* metadata entries whose backing file is missing. Returns true when
* web-embed is absent from both disk and metadata (bundles without
* web-embed).
*/
fun validateWebEmbedSha256(bundleDir: String, metadata: Map<String, String>): Boolean {
val webEmbedRoot = File(bundleDir, "web-embed")
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-bundle-update/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-bundle-update",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-bundle-update",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-check-biometric-auth-changed",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-check-biometric-auth-changed",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-cloud-fs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-cloud-fs",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-cloud-fs TurboModule for OneKey",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-cloud-kit-module/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-cloud-kit-module",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-cloud-kit-module",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-device-utils/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-device-utils",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-device-utils",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-dns-lookup/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-dns-lookup",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-dns-lookup",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-get-random-values/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-get-random-values",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-get-random-values",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-keychain-module/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-keychain-module",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-keychain-module",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-lite-card/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-lite-card",
"version": "3.0.22",
"version": "3.0.24",
"description": "lite card",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-network-info/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-network-info",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-network-info",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-pbkdf2/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-pbkdf2",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-pbkdf2",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-perf-memory/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-perf-memory",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-perf-memory",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-ping/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-ping",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-ping TurboModule for OneKey",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-splash-screen/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-splash-screen",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-splash-screen",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
4 changes: 2 additions & 2 deletions native-modules/react-native-split-bundle-loader/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-split-bundle-loader",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-split-bundle-loader",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down Expand Up @@ -82,7 +82,7 @@
"typescript": "^5.9.2"
},
"peerDependencies": {
"@onekeyfe/react-native-bundle-update": ">=3.0.22",
"@onekeyfe/react-native-bundle-update": ">=3.0.24",
"react": "*",
"react-native": "*"
},
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-tcp-socket/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-tcp-socket",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-tcp-socket",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-modules/react-native-zip-archive/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-zip-archive",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-zip-archive TurboModule for OneKey",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-views/react-native-auto-size-input/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-auto-size-input",
"version": "3.0.22",
"version": "3.0.24",
"description": "Auto-sizing text input with font scaling, prefix and suffix support",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-views/react-native-pager-view/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-pager-view",
"version": "3.0.22",
"version": "3.0.24",
"description": "React Native wrapper for Android and iOS ViewPager",
"source": "./src/index.tsx",
"main": "./lib/module/index.js",
Expand Down
2 changes: 1 addition & 1 deletion native-views/react-native-scroll-guard/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-scroll-guard",
"version": "3.0.22",
"version": "3.0.24",
"description": "A native view wrapper that prevents parent scrollable containers (PagerView/ViewPager2) from intercepting child scroll gestures",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-views/react-native-skeleton/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-skeleton",
"version": "3.0.22",
"version": "3.0.24",
"description": "react-native-skeleton",
"main": "./lib/module/index.js",
"types": "./lib/typescript/src/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion native-views/react-native-tab-view/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onekeyfe/react-native-tab-view",
"version": "3.0.22",
"version": "3.0.24",
"description": "Native Bottom Tabs for React Native (UIKit implementation)",
"source": "./src/index.tsx",
"main": "./lib/module/index.js",
Expand Down
4 changes: 2 additions & 2 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2993,7 +2993,7 @@ __metadata:
turbo: "npm:^2.5.6"
typescript: "npm:^5.9.2"
peerDependencies:
"@onekeyfe/react-native-bundle-update": ">=3.0.22"
"@onekeyfe/react-native-bundle-update": ">=3.0.24"
react: "*"
react-native: "*"
languageName: unknown
Expand Down Expand Up @@ -3583,7 +3583,7 @@ __metadata:
turbo: "npm:^2.5.6"
typescript: "npm:^5.9.2"
peerDependencies:
"@onekeyfe/react-native-bundle-update": ">=3.0.22"
"@onekeyfe/react-native-bundle-update": ">=3.0.24"
react: "*"
react-native: "*"
languageName: unknown
Expand Down
Loading