From c426029fe845d5fe1057a10229bb3fbf41624cbe Mon Sep 17 00:00:00 2001 From: huhuanming Date: Wed, 30 Sep 2026 07:30:24 +0800 Subject: [PATCH 01/12] fix(ios): keep shared header stable during refresh --- .../react-native-pager-view/docs/SPEC.md | 11 +++++++ .../RNCCollapsiblePagerViewComponentView.mm | 9 +++++- .../RNCCollapsiblePagerRefreshControlTests.mm | 31 +++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) diff --git a/native-views/react-native-pager-view/docs/SPEC.md b/native-views/react-native-pager-view/docs/SPEC.md index dbb2d2cc..a6e274d8 100644 --- a/native-views/react-native-pager-view/docs/SPEC.md +++ b/native-views/react-native-pager-view/docs/SPEC.md @@ -306,6 +306,17 @@ and refresh completion, caller offset changes, late installation/replacement, retained-page switching, clipping and nested-owner cleanup. Programmatic UIKit unit tests do not substitute for real pull-gesture visibility acceptance. +When a smooth shared header is attached to the active iOS scroll view, UIKit's +temporary refresh top inset MUST NOT add a second downward displacement to that +header. The pager uses its own applied top inset as the baseline and cancels only +the refresh-added visual displacement. The scroll view's inset and offset, the +refresh indicator, and refresh callback ownership remain unchanged. Removing the +refresh inset or detaching the header restores its normal transform. This applies +to RN NativeScroller and NativeList pages; non-smooth and detached headers keep +their existing positioning. The 2026-09-30 Home Spot simulator checkpoint covers +an active refresh with repeated vertical swipes and subsequent inset removal; +other Home pages and physical-device acceptance remain open. + ## iOS shared-header hit testing Smooth-header hit forwarding is restricted to the pager's own interactive diff --git a/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm b/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm index 9d6c6cae..c96ebca2 100644 --- a/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm +++ b/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm @@ -2998,7 +2998,14 @@ - (void)applyHeaderOffset BOOL attachedToList = _nativeSmoothHeaderScrollEnabled && _sharedHeaderScrollView != nil && !_sharedHeadersLiftedForPagerTransition; if (attachedToList) { - _sharedHeaderHostView.transform = CGAffineTransformIdentity; + // UIRefreshControl temporarily adds a top inset while refreshing. The + // shared header lives in that scroll view, so exclude only that inset from + // its visual position while keeping the list's pull and indicator intact. + NSNumber *pagerTopInset = [_appliedTopInsets objectForKey:_sharedHeaderScrollView]; + CGFloat refreshInset = _sharedHeaderScrollView.refreshControl != nil && pagerTopInset != nil + ? MAX(0, _sharedHeaderScrollView.contentInset.top - pagerTopInset.doubleValue) + : 0; + _sharedHeaderHostView.transform = CGAffineTransformMakeTranslation(0, -refreshInset); _headerView.transform = CGAffineTransformIdentity; CGFloat pinnedTranslation = MAX(0, _currentLogicalOffset - _headerHeight); CGAffineTransform stickyTransform = CGAffineTransformMakeTranslation(0, pinnedTranslation); diff --git a/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm b/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm index 109d7b7d..6f0aab8d 100644 --- a/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm +++ b/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm @@ -4,6 +4,7 @@ @interface RNCCollapsiblePagerViewComponentView (RefreshControlTesting) - (void)updateRefreshControlForScrollView:(UIScrollView *)scrollView; - (void)releaseRefreshControlForScrollView:(UIScrollView *)scrollView; +- (void)applyHeaderOffset; @end @interface RNCCollapsiblePagerRefreshControlTests : XCTestCase @@ -177,4 +178,34 @@ - (void)testNestedOwnerDestructionPreservesBaselineAndRestoresClipping XCTAssertTrue(control.layer.masksToBounds); } +- (void)testRefreshTopInsetDoesNotDisplaceAttachedSharedHeader +{ + RNCCollapsiblePagerViewComponentView *pager = [self pagerWithHeader:64]; + UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 600)]; + scroll.refreshControl = [UIRefreshControl new]; + [pager setValue:scroll forKey:@"sharedHeaderScrollView"]; + NSMapTable *appliedTopInsets = [pager valueForKey:@"appliedTopInsets"]; + [appliedTopInsets setObject:@340 forKey:scroll]; + UIView *headerHost = [pager valueForKey:@"sharedHeaderHostView"]; + + scroll.contentInset = UIEdgeInsetsMake(340, 0, 0, 0); + [pager applyHeaderOffset]; + XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); + + scroll.contentInset = UIEdgeInsetsMake(400, 0, 0, 0); + [pager applyHeaderOffset]; + XCTAssertEqualWithAccuracy(headerHost.transform.ty, -60, 0.001); + [pager applyHeaderOffset]; + XCTAssertEqualWithAccuracy(headerHost.transform.ty, -60, 0.001); + + scroll.contentInset = UIEdgeInsetsMake(340, 0, 0, 0); + [pager applyHeaderOffset]; + XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); + + scroll.contentInset = UIEdgeInsetsMake(400, 0, 0, 0); + scroll.refreshControl = nil; + [pager applyHeaderOffset]; + XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); +} + @end From bc62d7b033018e66077d3802fb9aff7ee23bc706 Mon Sep 17 00:00:00 2001 From: huhuanming Date: Wed, 30 Sep 2026 07:48:36 +0800 Subject: [PATCH 02/12] fix(ios): update shared header on refresh inset changes --- .../react-native-pager-view/docs/SPEC.md | 9 ++++--- .../RNCCollapsiblePagerViewComponentView.mm | 16 ++++++++++- .../RNCCollapsiblePagerRefreshControlTests.mm | 27 ++++++++++--------- 3 files changed, 36 insertions(+), 16 deletions(-) diff --git a/native-views/react-native-pager-view/docs/SPEC.md b/native-views/react-native-pager-view/docs/SPEC.md index a6e274d8..b4ac1d9b 100644 --- a/native-views/react-native-pager-view/docs/SPEC.md +++ b/native-views/react-native-pager-view/docs/SPEC.md @@ -311,9 +311,12 @@ temporary refresh top inset MUST NOT add a second downward displacement to that header. The pager uses its own applied top inset as the baseline and cancels only the refresh-added visual displacement. The scroll view's inset and offset, the refresh indicator, and refresh callback ownership remain unchanged. Removing the -refresh inset or detaching the header restores its normal transform. This applies -to RN NativeScroller and NativeList pages; non-smooth and detached headers keep -their existing positioning. The 2026-09-30 Home Spot simulator checkpoint covers +refresh inset or control reapplies the header position immediately, even without +a scroll-offset event. Caller inset changes update the pager baseline before the +header position is reapplied. Detaching the header restores its normal +transform. This applies to RN NativeScroller and NativeList pages; non-smooth +and detached headers keep their existing positioning. The 2026-09-30 Home Spot +simulator checkpoint covers an active refresh with repeated vertical swipes and subsequent inset removal; other Home pages and physical-device acceptance remain open. diff --git a/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm b/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm index c96ebca2..2d71e2df 100644 --- a/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm +++ b/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm @@ -2437,6 +2437,10 @@ - (void)attachScrollObserverForCurrentPageAfterTransition:(BOOL)selectionSettled forKeyPath:@"contentOffset" options:NSKeyValueObservingOptionNew context:RNCCollapsiblePagerContentOffsetContext]; + [candidate addObserver:self + forKeyPath:@"contentInset" + options:NSKeyValueObservingOptionNew + context:RNCCollapsiblePagerContentOffsetContext]; [candidate addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew @@ -2459,6 +2463,9 @@ - (void)detachScrollObserver [scrollView removeObserver:self forKeyPath:@"contentOffset" context:RNCCollapsiblePagerContentOffsetContext]; + [scrollView removeObserver:self + forKeyPath:@"contentInset" + context:RNCCollapsiblePagerContentOffsetContext]; [scrollView removeObserver:self forKeyPath:@"contentSize" context:RNCCollapsiblePagerContentOffsetContext]; @@ -2932,6 +2939,7 @@ - (void)nativeScroller:(RNCNativeScrollerComponentView *)scroller if (appliedTop != nil) { [_appliedTopInsets setObject:@(appliedTop.doubleValue + next.top - previous.top) forKey:scrollView]; } + if (scrollView == _observedScrollView) [self updateHeaderForScrollView:scrollView]; } - (void)reapplyInsetsToObservedScrollView @@ -2964,10 +2972,16 @@ - (void)observeValueForKeyPath:(NSString *)keyPath context:(void *)context { if (context == RNCScrollRefreshControlContext) { - [self updateRefreshControlForScrollView:(UIScrollView *)object]; + UIScrollView *scrollView = (UIScrollView *)object; + [self updateRefreshControlForScrollView:scrollView]; + if (scrollView == _observedScrollView) [self updateHeaderForScrollView:scrollView]; return; } if (context == RNCCollapsiblePagerContentOffsetContext && object == _observedScrollView) { + if ([keyPath isEqualToString:@"contentInset"]) { + [self updateHeaderForScrollView:(UIScrollView *)object]; + return; + } if ([keyPath isEqualToString:@"contentSize"]) { NSValue *oldSize = change[NSKeyValueChangeOldKey]; NSValue *newSize = change[NSKeyValueChangeNewKey]; diff --git a/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm b/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm index 6f0aab8d..8779f99c 100644 --- a/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm +++ b/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm @@ -4,7 +4,7 @@ @interface RNCCollapsiblePagerViewComponentView (RefreshControlTesting) - (void)updateRefreshControlForScrollView:(UIScrollView *)scrollView; - (void)releaseRefreshControlForScrollView:(UIScrollView *)scrollView; -- (void)applyHeaderOffset; +- (void)attachScrollObserverForCurrentPage; @end @interface RNCCollapsiblePagerRefreshControlTests : XCTestCase @@ -183,29 +183,32 @@ - (void)testRefreshTopInsetDoesNotDisplaceAttachedSharedHeader RNCCollapsiblePagerViewComponentView *pager = [self pagerWithHeader:64]; UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 600)]; scroll.refreshControl = [UIRefreshControl new]; - [pager setValue:scroll forKey:@"sharedHeaderScrollView"]; - NSMapTable *appliedTopInsets = [pager valueForKey:@"appliedTopInsets"]; - [appliedTopInsets setObject:@340 forKey:scroll]; + scroll.contentSize = CGSizeMake(320, 2000); + scroll.contentInset = UIEdgeInsetsMake(232, 0, 0, 0); + UIViewController *page = [UIViewController new]; + [page.view addSubview:scroll]; + NSMutableArray *pages = [pager valueForKey:@"pageControllers"]; + [pages addObject:page]; + [pager attachScrollObserverForCurrentPage]; UIView *headerHost = [pager valueForKey:@"sharedHeaderHostView"]; - - scroll.contentInset = UIEdgeInsetsMake(340, 0, 0, 0); - [pager applyHeaderOffset]; + XCTAssertEqual(headerHost.superview, scroll); + XCTAssertEqualWithAccuracy(scroll.contentInset.top, 340, 0.001); XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); + scroll.contentOffset = CGPointMake(0, 500); + CGPoint offset = scroll.contentOffset; scroll.contentInset = UIEdgeInsetsMake(400, 0, 0, 0); - [pager applyHeaderOffset]; - XCTAssertEqualWithAccuracy(headerHost.transform.ty, -60, 0.001); - [pager applyHeaderOffset]; + XCTAssertTrue(CGPointEqualToPoint(scroll.contentOffset, offset)); XCTAssertEqualWithAccuracy(headerHost.transform.ty, -60, 0.001); scroll.contentInset = UIEdgeInsetsMake(340, 0, 0, 0); - [pager applyHeaderOffset]; XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); scroll.contentInset = UIEdgeInsetsMake(400, 0, 0, 0); + XCTAssertEqualWithAccuracy(headerHost.transform.ty, -60, 0.001); scroll.refreshControl = nil; - [pager applyHeaderOffset]; XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); + [pager prepareForRecycle]; } @end From 136d0b5ba1209a56397bdac9406563113b80fc9d Mon Sep 17 00:00:00 2001 From: huhuanming Date: Wed, 30 Sep 2026 07:48:37 +0800 Subject: [PATCH 03/12] release: app-modules 3.0.157 --- native-modules/native-logger/package.json | 2 +- native-modules/react-native-aes-crypto/package.json | 2 +- native-modules/react-native-app-update/package.json | 2 +- native-modules/react-native-async-storage/package.json | 2 +- .../react-native-background-thread/package.json | 2 +- native-modules/react-native-bundle-crypto/package.json | 2 +- native-modules/react-native-bundle-update/package.json | 2 +- .../package.json | 2 +- native-modules/react-native-cloud-fs/package.json | 2 +- native-modules/react-native-cloud-kit-module/package.json | 2 +- native-modules/react-native-device-utils/package.json | 2 +- native-modules/react-native-dns-lookup/package.json | 2 +- .../react-native-get-random-values/package.json | 2 +- .../react-native-image-crop-picker/package.json | 2 +- native-modules/react-native-keychain-module/package.json | 2 +- native-modules/react-native-lite-card/package.json | 2 +- native-modules/react-native-network-info/package.json | 2 +- native-modules/react-native-network-throttle/package.json | 2 +- native-modules/react-native-pbkdf2/package.json | 2 +- native-modules/react-native-perf-memory/package.json | 2 +- native-modules/react-native-perf-stats/package.json | 2 +- native-modules/react-native-ping/package.json | 2 +- native-modules/react-native-range-downloader/package.json | 2 +- native-modules/react-native-sni-connect/package.json | 2 +- native-modules/react-native-splash-screen/package.json | 2 +- .../react-native-split-bundle-loader/package.json | 2 +- native-modules/react-native-tcp-socket/package.json | 2 +- native-modules/react-native-zip-archive/package.json | 2 +- native-views/react-native-auto-size-input/package.json | 2 +- native-views/react-native-chart-webview/package.json | 2 +- native-views/react-native-image/package.json | 4 ++-- native-views/react-native-native-list/package.json | 6 +++--- native-views/react-native-native-sheet/package.json | 2 +- native-views/react-native-pager-view/package.json | 4 ++-- native-views/react-native-perp-depth-bar/package.json | 2 +- native-views/react-native-scroll-guard/package.json | 2 +- native-views/react-native-segment-slider/package.json | 2 +- native-views/react-native-skeleton/package.json | 2 +- native-views/react-native-tab-view/package.json | 2 +- native-views/react-native-text-input/package.json | 2 +- native-views/react-native-text/package.json | 2 +- yarn.lock | 8 ++++---- 42 files changed, 49 insertions(+), 49 deletions(-) diff --git a/native-modules/native-logger/package.json b/native-modules/native-logger/package.json index 4168d780..3df3a20c 100644 --- a/native-modules/native-logger/package.json +++ b/native-modules/native-logger/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-logger", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-native-logger", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-aes-crypto/package.json b/native-modules/react-native-aes-crypto/package.json index 52415450..74877719 100644 --- a/native-modules/react-native-aes-crypto/package.json +++ b/native-modules/react-native-aes-crypto/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-aes-crypto", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-aes-crypto", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-app-update/package.json b/native-modules/react-native-app-update/package.json index 31694545..3d790d82 100644 --- a/native-modules/react-native-app-update/package.json +++ b/native-modules/react-native-app-update/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-app-update", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-app-update", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-async-storage/package.json b/native-modules/react-native-async-storage/package.json index 3cfb82a1..d2cba9ef 100644 --- a/native-modules/react-native-async-storage/package.json +++ b/native-modules/react-native-async-storage/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-async-storage", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-async-storage", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-background-thread/package.json b/native-modules/react-native-background-thread/package.json index 9f7d1d22..d04c6cdc 100644 --- a/native-modules/react-native-background-thread/package.json +++ b/native-modules/react-native-background-thread/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-background-thread", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-background-thread", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-bundle-crypto/package.json b/native-modules/react-native-bundle-crypto/package.json index 7c125b42..0f64b8db 100644 --- a/native-modules/react-native-bundle-crypto/package.json +++ b/native-modules/react-native-bundle-crypto/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-bundle-crypto", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-bundle-crypto", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-bundle-update/package.json b/native-modules/react-native-bundle-update/package.json index 08a662bf..2c9abb71 100644 --- a/native-modules/react-native-bundle-update/package.json +++ b/native-modules/react-native-bundle-update/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-bundle-update", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-bundle-update", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-check-biometric-auth-changed/package.json b/native-modules/react-native-check-biometric-auth-changed/package.json index ec36f801..fd42a27c 100644 --- a/native-modules/react-native-check-biometric-auth-changed/package.json +++ b/native-modules/react-native-check-biometric-auth-changed/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-check-biometric-auth-changed", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-check-biometric-auth-changed", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-cloud-fs/package.json b/native-modules/react-native-cloud-fs/package.json index 75e1463b..eefc338e 100644 --- a/native-modules/react-native-cloud-fs/package.json +++ b/native-modules/react-native-cloud-fs/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-cloud-fs", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-cloud-fs TurboModule for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-cloud-kit-module/package.json b/native-modules/react-native-cloud-kit-module/package.json index 64d52fc0..5f41c10a 100644 --- a/native-modules/react-native-cloud-kit-module/package.json +++ b/native-modules/react-native-cloud-kit-module/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-cloud-kit-module", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-cloud-kit-module", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-device-utils/package.json b/native-modules/react-native-device-utils/package.json index e066e6af..7021e41f 100644 --- a/native-modules/react-native-device-utils/package.json +++ b/native-modules/react-native-device-utils/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-device-utils", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-device-utils", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-dns-lookup/package.json b/native-modules/react-native-dns-lookup/package.json index 2a048357..1dcb6e64 100644 --- a/native-modules/react-native-dns-lookup/package.json +++ b/native-modules/react-native-dns-lookup/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-dns-lookup", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-dns-lookup", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-get-random-values/package.json b/native-modules/react-native-get-random-values/package.json index a65f5f4c..c26529ad 100644 --- a/native-modules/react-native-get-random-values/package.json +++ b/native-modules/react-native-get-random-values/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-get-random-values", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-get-random-values", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-image-crop-picker/package.json b/native-modules/react-native-image-crop-picker/package.json index e7f89596..8b8c8b86 100644 --- a/native-modules/react-native-image-crop-picker/package.json +++ b/native-modules/react-native-image-crop-picker/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-image-crop-picker", - "version": "3.0.156", + "version": "3.0.157", "description": "Single photo picker and cropper Nitro module for OneKey, replacing react-native-image-crop-picker", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-keychain-module/package.json b/native-modules/react-native-keychain-module/package.json index 66e71d0a..25ddeecc 100644 --- a/native-modules/react-native-keychain-module/package.json +++ b/native-modules/react-native-keychain-module/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-keychain-module", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-keychain-module", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-lite-card/package.json b/native-modules/react-native-lite-card/package.json index e1e6c00a..9f60f095 100644 --- a/native-modules/react-native-lite-card/package.json +++ b/native-modules/react-native-lite-card/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-lite-card", - "version": "3.0.156", + "version": "3.0.157", "description": "lite card", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-network-info/package.json b/native-modules/react-native-network-info/package.json index 3ce1dc99..3aa40a3a 100644 --- a/native-modules/react-native-network-info/package.json +++ b/native-modules/react-native-network-info/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-network-info", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-network-info", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-network-throttle/package.json b/native-modules/react-native-network-throttle/package.json index fc3bfcd2..575c0715 100644 --- a/native-modules/react-native-network-throttle/package.json +++ b/native-modules/react-native-network-throttle/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-network-throttle", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-network-throttle", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-pbkdf2/package.json b/native-modules/react-native-pbkdf2/package.json index cf381e4f..98fa955d 100644 --- a/native-modules/react-native-pbkdf2/package.json +++ b/native-modules/react-native-pbkdf2/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-pbkdf2", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-pbkdf2", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-perf-memory/package.json b/native-modules/react-native-perf-memory/package.json index 048694a6..32c3f601 100644 --- a/native-modules/react-native-perf-memory/package.json +++ b/native-modules/react-native-perf-memory/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perf-memory", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-perf-memory", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-perf-stats/package.json b/native-modules/react-native-perf-stats/package.json index 61d0e845..a0425f63 100644 --- a/native-modules/react-native-perf-stats/package.json +++ b/native-modules/react-native-perf-stats/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perf-stats", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-perf-stats", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-ping/package.json b/native-modules/react-native-ping/package.json index dcdc95b3..996cad42 100644 --- a/native-modules/react-native-ping/package.json +++ b/native-modules/react-native-ping/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-ping", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-ping TurboModule for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-range-downloader/package.json b/native-modules/react-native-range-downloader/package.json index c053cb32..41cead5b 100644 --- a/native-modules/react-native-range-downloader/package.json +++ b/native-modules/react-native-range-downloader/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-range-downloader", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-range-downloader", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-sni-connect/package.json b/native-modules/react-native-sni-connect/package.json index 062d09fa..cfd72af9 100644 --- a/native-modules/react-native-sni-connect/package.json +++ b/native-modules/react-native-sni-connect/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-sni-connect", - "version": "3.0.156", + "version": "3.0.157", "description": "A React Native library for SNI-based HTTP requests with DNS caching and request management", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-splash-screen/package.json b/native-modules/react-native-splash-screen/package.json index eb01860f..53226c80 100644 --- a/native-modules/react-native-splash-screen/package.json +++ b/native-modules/react-native-splash-screen/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-splash-screen", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-splash-screen", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-split-bundle-loader/package.json b/native-modules/react-native-split-bundle-loader/package.json index be68f1c9..2bcbd132 100644 --- a/native-modules/react-native-split-bundle-loader/package.json +++ b/native-modules/react-native-split-bundle-loader/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-split-bundle-loader", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-split-bundle-loader", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-tcp-socket/package.json b/native-modules/react-native-tcp-socket/package.json index b6d59f79..ed5a0be2 100644 --- a/native-modules/react-native-tcp-socket/package.json +++ b/native-modules/react-native-tcp-socket/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-tcp-socket", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-tcp-socket", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-zip-archive/package.json b/native-modules/react-native-zip-archive/package.json index c10a61a5..7f0c5663 100644 --- a/native-modules/react-native-zip-archive/package.json +++ b/native-modules/react-native-zip-archive/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-zip-archive", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-zip-archive Nitro HybridObject for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-auto-size-input/package.json b/native-views/react-native-auto-size-input/package.json index 7d56ec6b..f3d13e60 100644 --- a/native-views/react-native-auto-size-input/package.json +++ b/native-views/react-native-auto-size-input/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-auto-size-input", - "version": "3.0.156", + "version": "3.0.157", "description": "Auto-sizing text input with font scaling, prefix and suffix support", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-chart-webview/package.json b/native-views/react-native-chart-webview/package.json index 596b6de2..0ef3a9e9 100644 --- a/native-views/react-native-chart-webview/package.json +++ b/native-views/react-native-chart-webview/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-chart-webview", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-chart-webview", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-image/package.json b/native-views/react-native-image/package.json index f14ed564..df2a5f8c 100644 --- a/native-views/react-native-image/package.json +++ b/native-views/react-native-image/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-image", - "version": "3.0.156", + "version": "3.0.157", "description": "High-performance native image view for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", @@ -81,7 +81,7 @@ "typescript": "^5.9.2" }, "peerDependencies": { - "@onekeyfe/react-native-skeleton": "3.0.156", + "@onekeyfe/react-native-skeleton": "3.0.157", "react": "*", "react-native": "*", "react-native-nitro-modules": "0.37.0" diff --git a/native-views/react-native-native-list/package.json b/native-views/react-native-native-list/package.json index a0af1b0d..2df67bfd 100644 --- a/native-views/react-native-native-list/package.json +++ b/native-views/react-native-native-list/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-list", - "version": "3.0.156", + "version": "3.0.157", "description": "Template-driven native RecyclerView and UICollectionView for React Native", "source": "./src/index.ts", "main": "./lib/module/index.js", @@ -84,8 +84,8 @@ "typescript": "^5.9.2" }, "peerDependencies": { - "@onekeyfe/react-native-image": "3.0.156", - "@onekeyfe/react-native-native-logger": "3.0.156", + "@onekeyfe/react-native-image": "3.0.157", + "@onekeyfe/react-native-native-logger": "3.0.157", "react": "*", "react-native": "*", "react-native-nitro-modules": "0.37.0" diff --git a/native-views/react-native-native-sheet/package.json b/native-views/react-native-native-sheet/package.json index 9c4a30b8..5677789f 100644 --- a/native-views/react-native-native-sheet/package.json +++ b/native-views/react-native-native-sheet/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-sheet", - "version": "3.0.156", + "version": "3.0.157", "description": "Native bottom sheet host for arbitrary React Native content", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-pager-view/package.json b/native-views/react-native-pager-view/package.json index 1c618922..98981b0b 100644 --- a/native-views/react-native-pager-view/package.json +++ b/native-views/react-native-pager-view/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-pager-view", - "version": "3.0.156", + "version": "3.0.157", "description": "React Native wrapper for Android and iOS ViewPager", "source": "./src/index.tsx", "main": "./lib/module/index.js", @@ -69,7 +69,7 @@ "typescript": "^5.9.2" }, "peerDependencies": { - "@onekeyfe/react-native-native-logger": "3.0.156", + "@onekeyfe/react-native-native-logger": "3.0.157", "react": "*", "react-native": "*" }, diff --git a/native-views/react-native-perp-depth-bar/package.json b/native-views/react-native-perp-depth-bar/package.json index 917d89f2..d210f4a9 100644 --- a/native-views/react-native-perp-depth-bar/package.json +++ b/native-views/react-native-perp-depth-bar/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perp-depth-bar", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-perp-depth-bar", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-scroll-guard/package.json b/native-views/react-native-scroll-guard/package.json index 07f1e048..d70c0309 100644 --- a/native-views/react-native-scroll-guard/package.json +++ b/native-views/react-native-scroll-guard/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-scroll-guard", - "version": "3.0.156", + "version": "3.0.157", "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", diff --git a/native-views/react-native-segment-slider/package.json b/native-views/react-native-segment-slider/package.json index 986a8561..d57f0785 100644 --- a/native-views/react-native-segment-slider/package.json +++ b/native-views/react-native-segment-slider/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-segment-slider", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-segment-slider", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-skeleton/package.json b/native-views/react-native-skeleton/package.json index 61711d83..f2295dc0 100644 --- a/native-views/react-native-skeleton/package.json +++ b/native-views/react-native-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-skeleton", - "version": "3.0.156", + "version": "3.0.157", "description": "react-native-skeleton", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-tab-view/package.json b/native-views/react-native-tab-view/package.json index fa36cb2b..e595b5c5 100644 --- a/native-views/react-native-tab-view/package.json +++ b/native-views/react-native-tab-view/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-tab-view", - "version": "3.0.156", + "version": "3.0.157", "description": "Native Bottom Tabs for React Native (UIKit implementation)", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-text-input/package.json b/native-views/react-native-text-input/package.json index 7d508994..afd91fa0 100644 --- a/native-views/react-native-text-input/package.json +++ b/native-views/react-native-text-input/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-text-input", - "version": "3.0.156", + "version": "3.0.157", "description": "React Native TextInput with native paste events", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-text/package.json b/native-views/react-native-text/package.json index 8f79fe08..f2bbcf73 100644 --- a/native-views/react-native-text/package.json +++ b/native-views/react-native-text/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-text", - "version": "3.0.156", + "version": "3.0.157", "description": "Opt-in native text rendering for React Native", "source": "./src/index.ts", "main": "./lib/module/index.js", diff --git a/yarn.lock b/yarn.lock index 4d31dfa4..a36e3519 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3590,7 +3590,7 @@ __metadata: react-test-renderer: "npm:19.2.3" typescript: "npm:^5.9.2" peerDependencies: - "@onekeyfe/react-native-skeleton": 3.0.156 + "@onekeyfe/react-native-skeleton": 3.0.157 react: "*" react-native: "*" react-native-nitro-modules: 0.37.0 @@ -3691,8 +3691,8 @@ __metadata: react-native-nitro-modules: "npm:0.37.0" typescript: "npm:^5.9.2" peerDependencies: - "@onekeyfe/react-native-image": 3.0.156 - "@onekeyfe/react-native-native-logger": 3.0.156 + "@onekeyfe/react-native-image": 3.0.157 + "@onekeyfe/react-native-native-logger": 3.0.157 react: "*" react-native: "*" react-native-nitro-modules: 0.37.0 @@ -3844,7 +3844,7 @@ __metadata: react-native-builder-bob: "npm:^0.40.13" typescript: "npm:^5.9.2" peerDependencies: - "@onekeyfe/react-native-native-logger": 3.0.156 + "@onekeyfe/react-native-native-logger": 3.0.157 react: "*" react-native: "*" languageName: unknown From abf85ccd9a91dfece1d92fc492cbd529c36fbdb3 Mon Sep 17 00:00:00 2001 From: huhuanming Date: Wed, 30 Sep 2026 07:51:42 +0800 Subject: [PATCH 04/12] release: use unclaimed app-modules 3.0.159 --- native-modules/native-logger/package.json | 2 +- native-modules/react-native-aes-crypto/package.json | 2 +- native-modules/react-native-app-update/package.json | 2 +- native-modules/react-native-async-storage/package.json | 2 +- .../react-native-background-thread/package.json | 2 +- native-modules/react-native-bundle-crypto/package.json | 2 +- native-modules/react-native-bundle-update/package.json | 2 +- .../package.json | 2 +- native-modules/react-native-cloud-fs/package.json | 2 +- native-modules/react-native-cloud-kit-module/package.json | 2 +- native-modules/react-native-device-utils/package.json | 2 +- native-modules/react-native-dns-lookup/package.json | 2 +- .../react-native-get-random-values/package.json | 2 +- .../react-native-image-crop-picker/package.json | 2 +- native-modules/react-native-keychain-module/package.json | 2 +- native-modules/react-native-lite-card/package.json | 2 +- native-modules/react-native-network-info/package.json | 2 +- native-modules/react-native-network-throttle/package.json | 2 +- native-modules/react-native-pbkdf2/package.json | 2 +- native-modules/react-native-perf-memory/package.json | 2 +- native-modules/react-native-perf-stats/package.json | 2 +- native-modules/react-native-ping/package.json | 2 +- native-modules/react-native-range-downloader/package.json | 2 +- native-modules/react-native-sni-connect/package.json | 2 +- native-modules/react-native-splash-screen/package.json | 2 +- .../react-native-split-bundle-loader/package.json | 2 +- native-modules/react-native-tcp-socket/package.json | 2 +- native-modules/react-native-zip-archive/package.json | 2 +- native-views/react-native-auto-size-input/package.json | 2 +- native-views/react-native-chart-webview/package.json | 2 +- native-views/react-native-image/package.json | 4 ++-- native-views/react-native-native-list/package.json | 6 +++--- native-views/react-native-native-sheet/package.json | 2 +- native-views/react-native-pager-view/package.json | 4 ++-- native-views/react-native-perp-depth-bar/package.json | 2 +- native-views/react-native-scroll-guard/package.json | 2 +- native-views/react-native-segment-slider/package.json | 2 +- native-views/react-native-skeleton/package.json | 2 +- native-views/react-native-tab-view/package.json | 2 +- native-views/react-native-text-input/package.json | 2 +- native-views/react-native-text/package.json | 2 +- yarn.lock | 8 ++++---- 42 files changed, 49 insertions(+), 49 deletions(-) diff --git a/native-modules/native-logger/package.json b/native-modules/native-logger/package.json index 3df3a20c..2e7d55e1 100644 --- a/native-modules/native-logger/package.json +++ b/native-modules/native-logger/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-logger", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-native-logger", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-aes-crypto/package.json b/native-modules/react-native-aes-crypto/package.json index 74877719..cf64eb84 100644 --- a/native-modules/react-native-aes-crypto/package.json +++ b/native-modules/react-native-aes-crypto/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-aes-crypto", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-aes-crypto", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-app-update/package.json b/native-modules/react-native-app-update/package.json index 3d790d82..25752ecf 100644 --- a/native-modules/react-native-app-update/package.json +++ b/native-modules/react-native-app-update/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-app-update", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-app-update", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-async-storage/package.json b/native-modules/react-native-async-storage/package.json index d2cba9ef..6c567e3c 100644 --- a/native-modules/react-native-async-storage/package.json +++ b/native-modules/react-native-async-storage/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-async-storage", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-async-storage", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-background-thread/package.json b/native-modules/react-native-background-thread/package.json index d04c6cdc..ad72ecee 100644 --- a/native-modules/react-native-background-thread/package.json +++ b/native-modules/react-native-background-thread/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-background-thread", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-background-thread", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-bundle-crypto/package.json b/native-modules/react-native-bundle-crypto/package.json index 0f64b8db..a1dce609 100644 --- a/native-modules/react-native-bundle-crypto/package.json +++ b/native-modules/react-native-bundle-crypto/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-bundle-crypto", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-bundle-crypto", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-bundle-update/package.json b/native-modules/react-native-bundle-update/package.json index 2c9abb71..26ccf43e 100644 --- a/native-modules/react-native-bundle-update/package.json +++ b/native-modules/react-native-bundle-update/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-bundle-update", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-bundle-update", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-check-biometric-auth-changed/package.json b/native-modules/react-native-check-biometric-auth-changed/package.json index fd42a27c..eda23ba3 100644 --- a/native-modules/react-native-check-biometric-auth-changed/package.json +++ b/native-modules/react-native-check-biometric-auth-changed/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-check-biometric-auth-changed", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-check-biometric-auth-changed", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-cloud-fs/package.json b/native-modules/react-native-cloud-fs/package.json index eefc338e..46224494 100644 --- a/native-modules/react-native-cloud-fs/package.json +++ b/native-modules/react-native-cloud-fs/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-cloud-fs", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-cloud-fs TurboModule for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-cloud-kit-module/package.json b/native-modules/react-native-cloud-kit-module/package.json index 5f41c10a..197f82b9 100644 --- a/native-modules/react-native-cloud-kit-module/package.json +++ b/native-modules/react-native-cloud-kit-module/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-cloud-kit-module", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-cloud-kit-module", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-device-utils/package.json b/native-modules/react-native-device-utils/package.json index 7021e41f..4f32c20e 100644 --- a/native-modules/react-native-device-utils/package.json +++ b/native-modules/react-native-device-utils/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-device-utils", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-device-utils", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-dns-lookup/package.json b/native-modules/react-native-dns-lookup/package.json index 1dcb6e64..2fb6af1f 100644 --- a/native-modules/react-native-dns-lookup/package.json +++ b/native-modules/react-native-dns-lookup/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-dns-lookup", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-dns-lookup", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-get-random-values/package.json b/native-modules/react-native-get-random-values/package.json index c26529ad..a209bc53 100644 --- a/native-modules/react-native-get-random-values/package.json +++ b/native-modules/react-native-get-random-values/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-get-random-values", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-get-random-values", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-image-crop-picker/package.json b/native-modules/react-native-image-crop-picker/package.json index 8b8c8b86..4fa49ed9 100644 --- a/native-modules/react-native-image-crop-picker/package.json +++ b/native-modules/react-native-image-crop-picker/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-image-crop-picker", - "version": "3.0.157", + "version": "3.0.159", "description": "Single photo picker and cropper Nitro module for OneKey, replacing react-native-image-crop-picker", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-keychain-module/package.json b/native-modules/react-native-keychain-module/package.json index 25ddeecc..4dfe3afa 100644 --- a/native-modules/react-native-keychain-module/package.json +++ b/native-modules/react-native-keychain-module/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-keychain-module", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-keychain-module", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-lite-card/package.json b/native-modules/react-native-lite-card/package.json index 9f60f095..c080a038 100644 --- a/native-modules/react-native-lite-card/package.json +++ b/native-modules/react-native-lite-card/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-lite-card", - "version": "3.0.157", + "version": "3.0.159", "description": "lite card", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-network-info/package.json b/native-modules/react-native-network-info/package.json index 3aa40a3a..e643bdf4 100644 --- a/native-modules/react-native-network-info/package.json +++ b/native-modules/react-native-network-info/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-network-info", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-network-info", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-network-throttle/package.json b/native-modules/react-native-network-throttle/package.json index 575c0715..c0367174 100644 --- a/native-modules/react-native-network-throttle/package.json +++ b/native-modules/react-native-network-throttle/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-network-throttle", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-network-throttle", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-pbkdf2/package.json b/native-modules/react-native-pbkdf2/package.json index 98fa955d..e4c0ee7f 100644 --- a/native-modules/react-native-pbkdf2/package.json +++ b/native-modules/react-native-pbkdf2/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-pbkdf2", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-pbkdf2", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-perf-memory/package.json b/native-modules/react-native-perf-memory/package.json index 32c3f601..bd35eeb0 100644 --- a/native-modules/react-native-perf-memory/package.json +++ b/native-modules/react-native-perf-memory/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perf-memory", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-perf-memory", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-perf-stats/package.json b/native-modules/react-native-perf-stats/package.json index a0425f63..ad9b9d8c 100644 --- a/native-modules/react-native-perf-stats/package.json +++ b/native-modules/react-native-perf-stats/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perf-stats", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-perf-stats", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-ping/package.json b/native-modules/react-native-ping/package.json index 996cad42..51a445a8 100644 --- a/native-modules/react-native-ping/package.json +++ b/native-modules/react-native-ping/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-ping", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-ping TurboModule for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-range-downloader/package.json b/native-modules/react-native-range-downloader/package.json index 41cead5b..aed2f9fe 100644 --- a/native-modules/react-native-range-downloader/package.json +++ b/native-modules/react-native-range-downloader/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-range-downloader", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-range-downloader", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-sni-connect/package.json b/native-modules/react-native-sni-connect/package.json index cfd72af9..f045b5bc 100644 --- a/native-modules/react-native-sni-connect/package.json +++ b/native-modules/react-native-sni-connect/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-sni-connect", - "version": "3.0.157", + "version": "3.0.159", "description": "A React Native library for SNI-based HTTP requests with DNS caching and request management", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-splash-screen/package.json b/native-modules/react-native-splash-screen/package.json index 53226c80..c68d6c6e 100644 --- a/native-modules/react-native-splash-screen/package.json +++ b/native-modules/react-native-splash-screen/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-splash-screen", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-splash-screen", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-split-bundle-loader/package.json b/native-modules/react-native-split-bundle-loader/package.json index 2bcbd132..47834ae0 100644 --- a/native-modules/react-native-split-bundle-loader/package.json +++ b/native-modules/react-native-split-bundle-loader/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-split-bundle-loader", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-split-bundle-loader", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-tcp-socket/package.json b/native-modules/react-native-tcp-socket/package.json index ed5a0be2..d5ff566a 100644 --- a/native-modules/react-native-tcp-socket/package.json +++ b/native-modules/react-native-tcp-socket/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-tcp-socket", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-tcp-socket", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-zip-archive/package.json b/native-modules/react-native-zip-archive/package.json index 7f0c5663..0f9e7802 100644 --- a/native-modules/react-native-zip-archive/package.json +++ b/native-modules/react-native-zip-archive/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-zip-archive", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-zip-archive Nitro HybridObject for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-auto-size-input/package.json b/native-views/react-native-auto-size-input/package.json index f3d13e60..2ebba2bd 100644 --- a/native-views/react-native-auto-size-input/package.json +++ b/native-views/react-native-auto-size-input/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-auto-size-input", - "version": "3.0.157", + "version": "3.0.159", "description": "Auto-sizing text input with font scaling, prefix and suffix support", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-chart-webview/package.json b/native-views/react-native-chart-webview/package.json index 0ef3a9e9..b98f3ff4 100644 --- a/native-views/react-native-chart-webview/package.json +++ b/native-views/react-native-chart-webview/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-chart-webview", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-chart-webview", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-image/package.json b/native-views/react-native-image/package.json index df2a5f8c..9a5d20cb 100644 --- a/native-views/react-native-image/package.json +++ b/native-views/react-native-image/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-image", - "version": "3.0.157", + "version": "3.0.159", "description": "High-performance native image view for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", @@ -81,7 +81,7 @@ "typescript": "^5.9.2" }, "peerDependencies": { - "@onekeyfe/react-native-skeleton": "3.0.157", + "@onekeyfe/react-native-skeleton": "3.0.159", "react": "*", "react-native": "*", "react-native-nitro-modules": "0.37.0" diff --git a/native-views/react-native-native-list/package.json b/native-views/react-native-native-list/package.json index 2df67bfd..0cdc332c 100644 --- a/native-views/react-native-native-list/package.json +++ b/native-views/react-native-native-list/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-list", - "version": "3.0.157", + "version": "3.0.159", "description": "Template-driven native RecyclerView and UICollectionView for React Native", "source": "./src/index.ts", "main": "./lib/module/index.js", @@ -84,8 +84,8 @@ "typescript": "^5.9.2" }, "peerDependencies": { - "@onekeyfe/react-native-image": "3.0.157", - "@onekeyfe/react-native-native-logger": "3.0.157", + "@onekeyfe/react-native-image": "3.0.159", + "@onekeyfe/react-native-native-logger": "3.0.159", "react": "*", "react-native": "*", "react-native-nitro-modules": "0.37.0" diff --git a/native-views/react-native-native-sheet/package.json b/native-views/react-native-native-sheet/package.json index 5677789f..4e3ab31d 100644 --- a/native-views/react-native-native-sheet/package.json +++ b/native-views/react-native-native-sheet/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-sheet", - "version": "3.0.157", + "version": "3.0.159", "description": "Native bottom sheet host for arbitrary React Native content", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-pager-view/package.json b/native-views/react-native-pager-view/package.json index 98981b0b..3a701fe2 100644 --- a/native-views/react-native-pager-view/package.json +++ b/native-views/react-native-pager-view/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-pager-view", - "version": "3.0.157", + "version": "3.0.159", "description": "React Native wrapper for Android and iOS ViewPager", "source": "./src/index.tsx", "main": "./lib/module/index.js", @@ -69,7 +69,7 @@ "typescript": "^5.9.2" }, "peerDependencies": { - "@onekeyfe/react-native-native-logger": "3.0.157", + "@onekeyfe/react-native-native-logger": "3.0.159", "react": "*", "react-native": "*" }, diff --git a/native-views/react-native-perp-depth-bar/package.json b/native-views/react-native-perp-depth-bar/package.json index d210f4a9..020e1f4a 100644 --- a/native-views/react-native-perp-depth-bar/package.json +++ b/native-views/react-native-perp-depth-bar/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perp-depth-bar", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-perp-depth-bar", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-scroll-guard/package.json b/native-views/react-native-scroll-guard/package.json index d70c0309..211e3d47 100644 --- a/native-views/react-native-scroll-guard/package.json +++ b/native-views/react-native-scroll-guard/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-scroll-guard", - "version": "3.0.157", + "version": "3.0.159", "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", diff --git a/native-views/react-native-segment-slider/package.json b/native-views/react-native-segment-slider/package.json index d57f0785..a823a206 100644 --- a/native-views/react-native-segment-slider/package.json +++ b/native-views/react-native-segment-slider/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-segment-slider", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-segment-slider", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-skeleton/package.json b/native-views/react-native-skeleton/package.json index f2295dc0..b7fef96f 100644 --- a/native-views/react-native-skeleton/package.json +++ b/native-views/react-native-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-skeleton", - "version": "3.0.157", + "version": "3.0.159", "description": "react-native-skeleton", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-tab-view/package.json b/native-views/react-native-tab-view/package.json index e595b5c5..5c4c133f 100644 --- a/native-views/react-native-tab-view/package.json +++ b/native-views/react-native-tab-view/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-tab-view", - "version": "3.0.157", + "version": "3.0.159", "description": "Native Bottom Tabs for React Native (UIKit implementation)", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-text-input/package.json b/native-views/react-native-text-input/package.json index afd91fa0..9dc71eda 100644 --- a/native-views/react-native-text-input/package.json +++ b/native-views/react-native-text-input/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-text-input", - "version": "3.0.157", + "version": "3.0.159", "description": "React Native TextInput with native paste events", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-text/package.json b/native-views/react-native-text/package.json index f2bbcf73..3ca1b750 100644 --- a/native-views/react-native-text/package.json +++ b/native-views/react-native-text/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-text", - "version": "3.0.157", + "version": "3.0.159", "description": "Opt-in native text rendering for React Native", "source": "./src/index.ts", "main": "./lib/module/index.js", diff --git a/yarn.lock b/yarn.lock index a36e3519..94b55ab0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3590,7 +3590,7 @@ __metadata: react-test-renderer: "npm:19.2.3" typescript: "npm:^5.9.2" peerDependencies: - "@onekeyfe/react-native-skeleton": 3.0.157 + "@onekeyfe/react-native-skeleton": 3.0.159 react: "*" react-native: "*" react-native-nitro-modules: 0.37.0 @@ -3691,8 +3691,8 @@ __metadata: react-native-nitro-modules: "npm:0.37.0" typescript: "npm:^5.9.2" peerDependencies: - "@onekeyfe/react-native-image": 3.0.157 - "@onekeyfe/react-native-native-logger": 3.0.157 + "@onekeyfe/react-native-image": 3.0.159 + "@onekeyfe/react-native-native-logger": 3.0.159 react: "*" react-native: "*" react-native-nitro-modules: 0.37.0 @@ -3844,7 +3844,7 @@ __metadata: react-native-builder-bob: "npm:^0.40.13" typescript: "npm:^5.9.2" peerDependencies: - "@onekeyfe/react-native-native-logger": 3.0.157 + "@onekeyfe/react-native-native-logger": 3.0.159 react: "*" react-native: "*" languageName: unknown From 4c94e4f6ab4c35b061f54e3e0c083e1c13316460 Mon Sep 17 00:00:00 2001 From: huhuanming Date: Wed, 30 Sep 2026 07:53:46 +0800 Subject: [PATCH 05/12] fix(ios): cancel page presses during vertical drags --- .../react-native-pager-view/docs/SPEC.md | 22 ++++++++++++++ .../RNCCollapsiblePagerViewComponentView.mm | 30 +++++++++++++++++++ ...CCollapsiblePagerPressCancellationTests.mm | 29 ++++++++++++++++++ 3 files changed, 81 insertions(+) diff --git a/native-views/react-native-pager-view/docs/SPEC.md b/native-views/react-native-pager-view/docs/SPEC.md index b4ac1d9b..b937e219 100644 --- a/native-views/react-native-pager-view/docs/SPEC.md +++ b/native-views/react-native-pager-view/docs/SPEC.md @@ -165,6 +165,28 @@ warnings were observed. Keyboard, multi-touch, physical-device performance and the full lifecycle/interaction matrix remain unverified. These are local source builds; the currently installed npm version does not yet contain this migration. +## iOS vertical-scroll press cancellation + +Status: implemented in source. A source-identical `node_modules` build was +runtime verified on a dedicated iOS 26.5 HomePager simulator on 2026-09-30: +a slow drag from the Show more button did not activate it, a fling from the +same button scrolled the list, and a stationary tap activated it. The Pager +XCTest suite passed 47/47 tests on a separate iOS 26.5 simulator with its data +on the external drive on 2026-09-30. + +In `CollapsiblePagerView` smooth-header mode, a single-finger +vertical drag beginning on React page content MUST cancel that Surface's active +React press before finger-up once vertical displacement reaches 10 points and +exceeds horizontal displacement. Cancellation MUST leave the native vertical +scroller's pan and momentum intact. Stationary taps, movement below the threshold, +horizontal drags, and multi-touch sequences MUST retain their existing behavior. +The iOS content press bridge owns cancellation on the UI thread; the pager's +existing horizontal-drag cancellation remains independent. The bridge MUST clear +per-touch state on end, cancellation, and reuse. Android and Web behavior is +unchanged. Acceptance requires a real iOS button-origin drag that does not fire +the button, a button-origin fling that scrolls, an ordinary tap that fires, and +focused native touch-delivery coverage. + ## Native tab-press animation default Behavior change: previously an omitted `nativeTabPressAnimationEnabled` animated diff --git a/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm b/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm index 2d71e2df..0b8db719 100644 --- a/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm +++ b/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm @@ -1033,6 +1033,8 @@ @implementation RNCCollapsiblePagerContentPressCancellationGestureRecognizer { __weak UITouch *_trackedTouch; UIEvent *_touchEvent; BOOL _multipleSurfaceTouchesObserved; + CGPoint _trackedTouchStartPoint; + BOOL _didCancelReactPressForVerticalMovement; } - (BOOL)canPreventGestureRecognizer:(UIGestureRecognizer *)other @@ -1069,12 +1071,37 @@ - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event return; } _trackedTouch = touches.anyObject; + _trackedTouchStartPoint = [_trackedTouch locationInView:self.view]; + _didCancelReactPressForVerticalMovement = NO; [self recordEvent:event]; } - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { [self recordEvent:event]; + UITouch *touch = _trackedTouch; + UIGestureRecognizer *handler = self.reactTouchHandler; + if (touch == nil || ![touches containsObject:touch] || + self.state != UIGestureRecognizerStatePossible || + _didCancelReactPressForVerticalMovement || _multipleSurfaceTouchesObserved || + handler.view == nil || self.view != handler.view.superview || + handler.state == UIGestureRecognizerStateFailed || + handler.state == UIGestureRecognizerStateCancelled || + handler.state == UIGestureRecognizerStateEnded) return; + CGPoint point = [touch locationInView:self.view]; + CGFloat dx = point.x - _trackedTouchStartPoint.x; + CGFloat dy = point.y - _trackedTouchStartPoint.y; + if (fabs(dy) < 10.0 || fabs(dy) <= fabs(dx)) return; + NSUInteger activeTouches = 0; + for (UITouch *activeTouch in event.allTouches) { + if (activeTouch.phase == UITouchPhaseEnded || + activeTouch.phase == UITouchPhaseCancelled) continue; + if ([activeTouch.view isDescendantOfView:handler.view]) ++activeTouches; + } + if (activeTouches != 1) return; + _didCancelReactPressForVerticalMovement = YES; + handler.enabled = NO; + handler.enabled = YES; } - (void)cancelPressForPan:(UIPanGestureRecognizer *)pan @@ -1108,6 +1135,7 @@ - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event ? UIGestureRecognizerStateEnded : UIGestureRecognizerStateFailed; _trackedTouch = nil; _touchEvent = nil; + _didCancelReactPressForVerticalMovement = NO; } - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event @@ -1117,6 +1145,7 @@ - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event ? UIGestureRecognizerStateCancelled : UIGestureRecognizerStateFailed; _trackedTouch = nil; _touchEvent = nil; + _didCancelReactPressForVerticalMovement = NO; } - (void)reset @@ -1125,6 +1154,7 @@ - (void)reset _trackedTouch = nil; _touchEvent = nil; _multipleSurfaceTouchesObserved = NO; + _didCancelReactPressForVerticalMovement = NO; } @end diff --git a/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerPressCancellationTests.mm b/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerPressCancellationTests.mm index b2201bcd..0f5016e2 100644 --- a/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerPressCancellationTests.mm +++ b/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerPressCancellationTests.mm @@ -744,6 +744,35 @@ - (void)testStationaryTapKeepsReactPress XCTAssertEqual(self.handler.registeredTouches, 0); } +- (void)testVerticalPageDragCancelsReactPressBeforeFingerLifts +{ + [self assertFixtureIsReadyForDelivery]; + CGPoint point = [self pressPoint]; + UITouch *touch = [self.driver beginAt:point]; + XCTAssertEqual(self.handler.registeredTouches, 1); + + [self.driver move:touch to:CGPointMake(point.x, point.y - 12)]; + XCTAssertEqual(self.handler.registeredTouches, 0); + XCTAssertTrue([self.handler.events containsObject:@"reset-cancelled"] || + [self.handler.events containsObject:@"cancelled"], + @"handler events %@", self.handler.events); + XCTAssertFalse([self.handler.events containsObject:@"ended"]); + + [self.driver end:touch]; + XCTAssertFalse([self.handler.events containsObject:@"ended"], @"events %@", self.handler.events); +} + +- (void)testSmallVerticalMovementKeepsReactPress +{ + [self assertFixtureIsReadyForDelivery]; + CGPoint point = [self pressPoint]; + UITouch *touch = [self.driver beginAt:point]; + [self.driver move:touch to:CGPointMake(point.x, point.y - 8)]; + XCTAssertEqual(self.handler.registeredTouches, 1); + [self.driver end:touch]; + XCTAssertEqualObjects(self.handler.events, (@[@"began", @"moved", @"ended"])); +} + - (void)testSmallMovementBelowPanThresholdKeepsReactPress { [self assertFixtureIsReadyForDelivery]; From 894f8ccb9355aa2caf53b022eba96505aba6399a Mon Sep 17 00:00:00 2001 From: huhuanming Date: Wed, 30 Sep 2026 08:01:58 +0800 Subject: [PATCH 06/12] chore(ios): refresh pod lock for 3.0.159 --- example/react-native/ios/Podfile.lock | 182 +++++++++++++------------- 1 file changed, 91 insertions(+), 91 deletions(-) diff --git a/example/react-native/ios/Podfile.lock b/example/react-native/ios/Podfile.lock index 8867cbab..36c96fda 100644 --- a/example/react-native/ios/Podfile.lock +++ b/example/react-native/ios/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - AesCrypto (3.0.156): + - AesCrypto (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -21,7 +21,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - AsyncStorage (3.0.156): + - AsyncStorage (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -43,7 +43,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - AutoSizeInput (3.0.156): + - AutoSizeInput (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -67,7 +67,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - BackgroundThread (3.0.156): + - BackgroundThread (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -90,7 +90,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ChartWebview (3.0.156): + - ChartWebview (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -115,7 +115,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - CloudFs (3.0.156): + - CloudFs (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -137,7 +137,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - CloudKitModule (3.0.156): + - CloudKitModule (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -165,7 +165,7 @@ PODS: - CocoaLumberjack/Core (3.9.1) - CocoaLumberjack/Swift (3.9.1): - CocoaLumberjack/Core - - DnsLookup (3.0.156): + - DnsLookup (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -194,7 +194,7 @@ PODS: - hermes-engine (250829098.0.16): - hermes-engine/Pre-built (= 250829098.0.16) - hermes-engine/Pre-built (250829098.0.16) - - KeychainModule (3.0.156): + - KeychainModule (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -234,7 +234,7 @@ PODS: - MMKV (2.4.0): - MMKVCore (~> 2.4.0) - MMKVCore (2.4.0) - - NativeSheet (3.0.156): + - NativeSheet (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -256,7 +256,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - NativeSheet/Tests (3.0.156): + - NativeSheet/Tests (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -278,7 +278,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - NetworkInfo (3.0.156): + - NetworkInfo (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -348,7 +348,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - OneKeyImage (3.0.156): + - OneKeyImage (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -374,9 +374,9 @@ PODS: - SDWebImage (~> 5.21.7) - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.14.6) - - Skeleton (= 3.0.156) + - Skeleton (= 3.0.159) - Yoga - - OneKeyImage/Tests (3.0.156): + - OneKeyImage/Tests (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -402,13 +402,13 @@ PODS: - SDWebImage (~> 5.21.7) - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.14.6) - - Skeleton (= 3.0.156) + - Skeleton (= 3.0.159) - Yoga - - OneKeyTextInput (3.0.156): + - OneKeyTextInput (3.0.159): - React-Core - - OneKeyTextInput/Tests (3.0.156): + - OneKeyTextInput/Tests (3.0.159): - React-Core - - Pbkdf2 (3.0.156): + - Pbkdf2 (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -430,7 +430,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - PerpDepthBar (3.0.156): + - PerpDepthBar (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -454,7 +454,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - Ping (3.0.156): + - Ping (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1899,10 +1899,10 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-native-list (3.0.156): + - react-native-native-list (3.0.159): - hermes-engine - NitroModules - - OneKeyImage (= 3.0.156) + - OneKeyImage (= 3.0.159) - RCTRequired - RCTTypeSafety - React-callinvoker @@ -1924,10 +1924,10 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-native-list/Tests (3.0.156): + - react-native-native-list/Tests (3.0.159): - hermes-engine - NitroModules - - OneKeyImage (= 3.0.156) + - OneKeyImage (= 3.0.159) - RCTRequired - RCTTypeSafety - React-callinvoker @@ -1949,7 +1949,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-pager-view (3.0.156): + - react-native-pager-view (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1971,7 +1971,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-pager-view/Tests (3.0.156): + - react-native-pager-view/Tests (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2062,7 +2062,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-tab-view (3.0.156): + - react-native-tab-view (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2074,7 +2074,7 @@ PODS: - React-graphics - React-ImageManager - React-jsi - - react-native-tab-view/common (= 3.0.156) + - react-native-tab-view/common (= 3.0.159) - React-NativeModulesApple - React-RCTFabric - React-renderercss @@ -2085,7 +2085,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-tab-view/common (3.0.156): + - react-native-tab-view/common (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2503,7 +2503,7 @@ PODS: - React-perflogger (= 0.86.2) - React-utils (= 0.86.2) - ReactNativeDependencies - - ReactNativeAppUpdate (3.0.156): + - ReactNativeAppUpdate (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2528,7 +2528,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeBundleCrypto (3.0.156): + - ReactNativeBundleCrypto (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2553,7 +2553,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeBundleCrypto/Tests (3.0.156): + - ReactNativeBundleCrypto/Tests (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2578,7 +2578,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeBundleUpdate (3.0.156): + - ReactNativeBundleUpdate (3.0.159): - hermes-engine - MMKV (= 2.4.0) - NitroModules @@ -2607,7 +2607,7 @@ PODS: - ReactNativeRangeDownloader - SSZipArchive (>= 2.5.4) - Yoga - - ReactNativeCheckBiometricAuthChanged (3.0.156): + - ReactNativeCheckBiometricAuthChanged (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2633,7 +2633,7 @@ PODS: - ReactNativeNativeLogger - Yoga - ReactNativeDependencies (0.86.2) - - ReactNativeDeviceUtils (3.0.156): + - ReactNativeDeviceUtils (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2658,7 +2658,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeGetRandomValues (3.0.156): + - ReactNativeGetRandomValues (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2683,7 +2683,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeImageCropPicker (3.0.156): + - ReactNativeImageCropPicker (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2708,7 +2708,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeLiteCard (3.0.156): + - ReactNativeLiteCard (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2731,7 +2731,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeNativeLogger (3.0.156): + - ReactNativeNativeLogger (3.0.159): - CocoaLumberjack/Swift (~> 3.8) - hermes-engine - NitroModules @@ -2756,7 +2756,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ReactNativePerfMemory (3.0.156): + - ReactNativePerfMemory (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2781,7 +2781,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativePerfStats (3.0.156): + - ReactNativePerfStats (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2806,7 +2806,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeRangeDownloader (3.0.156): + - ReactNativeRangeDownloader (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2832,7 +2832,7 @@ PODS: - ReactNativeNativeLogger - SSZipArchive (= 2.5.5) - Yoga - - ReactNativeSplashScreen (3.0.156): + - ReactNativeSplashScreen (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2857,7 +2857,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeZipArchive (3.0.156): + - ReactNativeZipArchive (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2928,7 +2928,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ScrollGuard (3.0.156): + - ScrollGuard (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2960,7 +2960,7 @@ PODS: - SDWebImageWebPCoder (0.14.6): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.17) - - SegmentSlider (3.0.156): + - SegmentSlider (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -2984,7 +2984,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - Skeleton (3.0.156): + - Skeleton (3.0.159): - hermes-engine - NitroModules - RCTRequired @@ -3008,7 +3008,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - SniConnect (3.0.156): + - SniConnect (3.0.159): - EMASCurl (= 1.5.5) - hermes-engine - RCTRequired @@ -3032,7 +3032,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - SplitBundleLoader (3.0.156): + - SplitBundleLoader (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -3056,7 +3056,7 @@ PODS: - ReactNativeNativeLogger - Yoga - SSZipArchive (2.5.5) - - TcpSocket (3.0.156): + - TcpSocket (3.0.159): - hermes-engine - RCTRequired - RCTTypeSafety @@ -3464,31 +3464,31 @@ EXTERNAL SOURCES: :path: "../../../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - AesCrypto: b218a7ed52263e5eb3ac292938e1b78337a40213 - AsyncStorage: 15c9e8d2981048843744ed853dfed15c52599f5b - AutoSizeInput: 1acc4f267b9f7342443b55188a8c9a1c8ab33373 - BackgroundThread: 12296fefa3fbcd7bfd9e477340543c6ae7241fa3 - ChartWebview: d5fa9b4edf9c932995302bc923a79e3432c6f988 - CloudFs: 3098537768abe6f0cd37cec296147ae305dea1ce - CloudKitModule: 8d429f27eb714bdc40679c321d8d9c96c6ce7d8f + AesCrypto: 410b205ab1fd23a66b8bbf039a0374de939e00f9 + AsyncStorage: c37d64211d7f61092523ef3c85aa0ae3c66df689 + AutoSizeInput: 429f48abcced2952007a4a338a89dab1e7774c5c + BackgroundThread: 99205533e4e5269f0f595dbcf57e124e32fc8a28 + ChartWebview: 7b2c7ee5ba484922bbb5b4c39acc9fe1c954c349 + CloudFs: 63fd21e0ba6d39ac97c6900e4d4947be35dfc9a5 + CloudKitModule: f3b0671a4bae8914d7db9d2ed0a863e603e820dc CocoaLumberjack: e4ba3b414dfca8c1916c6303d37f63b3a95134c6 - DnsLookup: d2b99c2e1e62e445a6a985ee0a2952f8bd2c79ba + DnsLookup: 14d723b9959dd288036f9b046f7f86a7befe0828 EMASCurl: d75387e1ce9dec1a75cd25cb33c7a7e7bf21997f FBLazyVector: 3c3be9a019176b5699455f7f66c5444b78a411c6 - hermes-engine: eb14761560c3097b15973a402c116da6187ab9af - KeychainModule: 63cfc0ebbe8fc30a2812f5b9bf2df644fa55e411 + hermes-engine: a6b74f49abc71a760116d4839a42cf82fe13292d + KeychainModule: a5013a91c6f8213f1302f6a26bb847c7b4f4e073 libwebp: af5937a13536ef73f3784d69cc342b98961acf33 MMKV: 86859fdfa2b0b21db1fd6e48788474a6416a2c77 MMKVCore: 3d16ce9f7d411e135020915fde98a056859a1efa - NativeSheet: 80cf8a2a7a1cd5af66146246c6d675636c169f93 - NetworkInfo: 08833b9ee1ad3aad57f650bf2c03462260f15854 + NativeSheet: e885456478e3da31f1fe88b723bed59fd959142f + NetworkInfo: d0f81448692e4a988ec378a98d78c77a24d02f36 NitroMmkv: 85a251e15c39d7c95fe58cf40786fa126b8d143c NitroModules: cda827b31eb05c1bfcc0e2bbd9b647a69c6c314f - OneKeyImage: ba73c4c40feb208a6354b7475fdc9f80f7c6391c - OneKeyTextInput: 2c9a210190cf78c409e06ec204ce7db02885d0f5 - Pbkdf2: 752f795b47ca96e89d263f05d3e0917393b4195d - PerpDepthBar: 15e24c04a0f0ff817855b6cccf5d2ffec5a38277 - Ping: bb21d3858f71884460a7716306888687ed5398df + OneKeyImage: 1221c4a401db5f539961bc569026c0fcd6530b97 + OneKeyTextInput: cda32a1f90bd097eaeb93e128fa5cd6eb2a27e2d + Pbkdf2: aa7ae0c8388ebff6e5368f95a96f37e61812bc21 + PerpDepthBar: 8514129001b6e855a58b4df86f0c125b5e482292 + Ping: 5e1f081f73c0b17a203df1b47ca46436f7788fe8 RCTDeprecation: bccb6545c26db881ecddfd83a3f9ea82aba1605f RCTRequired: b2f74764d596fc0051f00fee94b49bf41a6f7f5a RCTSwiftUI: c6d6a31b849b9dfa64c33b55dc91ac15dd55774c @@ -3526,10 +3526,10 @@ SPEC CHECKSUMS: React-Mapbuffer: 44dd007f917e2396afa0e70bbd70273237d93fde React-microtasksnativemodule: f413ee411341fb3c34d20e85e9f6f524921fab15 React-mutationobservernativemodule: 58f6d2adf7d98e72b241608dfa2ddce414d2a4e7 - react-native-native-list: c586598e9a4902586b091b060d8b594013dc442a - react-native-pager-view: d0165b7fba601f2ce11f4798622122002562c82c + react-native-native-list: fb1c0ac76ada6bb5b9ec455f13aa064ed5070bc5 + react-native-pager-view: cb66c0aeb7f51746364164fa0b87ffe09086cd57 react-native-safe-area-context: 91a90d98c310adcc90a511e5aeb6046d7c19d885 - react-native-tab-view: b62691e2b0492c55dc436cf2f971c27f4a0165cc + react-native-tab-view: 479e9a0a37e2112fb04f6514c829949a63400251 React-NativeModulesApple: 167e532fb9bae30f3c66636b8ee0092bab263667 React-networking: 89f6b69755a3176f30e56ba1ba8e214b1518ecfb React-oscompat: db6675ddaef3bddd1b41533627f3d26ec710c05f @@ -3564,32 +3564,32 @@ SPEC CHECKSUMS: ReactAppDependencyProvider: 0e13d430eadac8a2ef18515a860d5c59df05b475 ReactCodegen: 01cbf7a08c30e8b71ad71489bb56b5bed195fa5e ReactCommon: 9002f006f571256348994183f7d4387aa7cf84e8 - ReactNativeAppUpdate: 4880dff75e3bf33305882760cccaec0bccff2d21 - ReactNativeBundleCrypto: b156193d3236705100440499df94fbcdf1740e6e - ReactNativeBundleUpdate: f07c516f08f30dfecc7c36c63495ca984642442c - ReactNativeCheckBiometricAuthChanged: 6b9c67db94c2a3b9f8454710d7a1eaf4e3b3e2a0 + ReactNativeAppUpdate: 31eb7cd70021fe8ce388df259701d682190e85c5 + ReactNativeBundleCrypto: 838cd947b8eb841a029308ec0e55c579fcdf2b54 + ReactNativeBundleUpdate: baebb42e5286efff96cd83aaaa2a1b73e0089d30 + ReactNativeCheckBiometricAuthChanged: 6e5d6990ebd9f42e31b592751da3127cb2137a95 ReactNativeDependencies: 2bd6854ade79bf1b60586d1ab7813a389df1b6bf - ReactNativeDeviceUtils: 5b6d250ff5b8c8ab60412d65c9f264e23966a6be - ReactNativeGetRandomValues: a742b388d17ed96ddafbdaa7a373fc4fa546b1c9 - ReactNativeImageCropPicker: 7b5924895c249de7f4fcf5f2a1b9d20f8b2268b4 - ReactNativeLiteCard: b79da2fd6d8b9b4b937bbfff3639fb84527fa59c - ReactNativeNativeLogger: a65544512307eaa7d837231f1e8e5dd81f6f3924 - ReactNativePerfMemory: b524752f61b1ffd81f6205f608d82862619e257f - ReactNativePerfStats: f9c8c23d82c4ce4141647327d6e6e3c1b4e6a75e - ReactNativeRangeDownloader: 82f0be0eb546c9310fd34e7aabdd4baf0932f2f5 - ReactNativeSplashScreen: 5fe6902a2e6e6dc6d909ee12fcdb89a2311297d7 - ReactNativeZipArchive: 2f6962133b7662e7254c55bddd79eb96310ee574 + ReactNativeDeviceUtils: 5a47037aaf105e5e544c1ab854064c1e336a92d1 + ReactNativeGetRandomValues: 38fb17c4f669853ae970d927c557aed69eed240a + ReactNativeImageCropPicker: 2760f3a85240e50b90d3669998081decfe0151e8 + ReactNativeLiteCard: 93f2bad3b277934a1fe5baf66f8e5ab2e54df5ac + ReactNativeNativeLogger: 3c38c8d5f5e5ee3caaacd516f714c98c017e1dce + ReactNativePerfMemory: aebcf021572d0863643c884df9cb1b8d82996e3c + ReactNativePerfStats: 53cccb0e3419acd8aa60b6a26de84e666898e7e2 + ReactNativeRangeDownloader: a5ed9d9043218cae06b72e5e836e5fd50792bbb8 + ReactNativeSplashScreen: f044a493db72e80047a431f7b9504f893388e4fc + ReactNativeZipArchive: a754d435d39eb05ff696918b5bdbe3c9f8fc14b6 RNScreens: 01b065ded2dfe7987bcce770ff3a196be417ff41 - ScrollGuard: 1da2fe550eae86b3dc4393ca9836ff55793329d7 + ScrollGuard: a4590f85e0223bb08ae125d41d3af83125e0d69c SDWebImage: e9fc87c1aab89a8ab1bbd74eba378c6f53be8abf SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380 - SegmentSlider: 993d0b85c00e9796e2ed2239fe9439817dcaa6cc - Skeleton: 176bd1b01d4b91bebca3d314d7eeb8f70311da69 - SniConnect: 35e5df5eceecd12ed462ef2421733ca27a6484ef - SplitBundleLoader: ba12571a4af23184777fe5a85983ff27e9c4c55c + SegmentSlider: e090ea381b5e04ba564e2d437e5eee2fc4772726 + Skeleton: 0dee9e8c8862bac4febb3faa8972615372e58df4 + SniConnect: be8e349fd309c744b721651dd16f52330e253eb2 + SplitBundleLoader: 46ad5a51ce9dfff653af040d895bd907a6ab3f34 SSZipArchive: c69881e8ac5521f0e622291387add5f60f30f3c4 - TcpSocket: 2725be5301911fb4a3bcc4f85915dcacfd0ccfb1 + TcpSocket: df3b4fce6e0ce98a824ed4403312e449feee77c9 Yoga: 9891cfb1c680f64de9c41b09e7453dea33454d2b PODFILE CHECKSUM: d163efd24ff4c7dc7da7c6c0f1023634b164196e From 8faef80e9ab6d69ec022521da70689770a1df632 Mon Sep 17 00:00:00 2001 From: huhuanming Date: Wed, 30 Sep 2026 17:01:27 +0800 Subject: [PATCH 07/12] fix(ios): keep shared header aligned during refresh --- .../react-native-pager-view/docs/SPEC.md | 19 +++++++++---------- .../RNCCollapsiblePagerViewComponentView.mm | 11 +++-------- .../RNCCollapsiblePagerRefreshControlTests.mm | 8 ++++++-- 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/native-views/react-native-pager-view/docs/SPEC.md b/native-views/react-native-pager-view/docs/SPEC.md index b937e219..4a417d56 100644 --- a/native-views/react-native-pager-view/docs/SPEC.md +++ b/native-views/react-native-pager-view/docs/SPEC.md @@ -329,16 +329,15 @@ retained-page switching, clipping and nested-owner cleanup. Programmatic UIKit unit tests do not substitute for real pull-gesture visibility acceptance. When a smooth shared header is attached to the active iOS scroll view, UIKit's -temporary refresh top inset MUST NOT add a second downward displacement to that -header. The pager uses its own applied top inset as the baseline and cancels only -the refresh-added visual displacement. The scroll view's inset and offset, the -refresh indicator, and refresh callback ownership remain unchanged. Removing the -refresh inset or control reapplies the header position immediately, even without -a scroll-offset event. Caller inset changes update the pager baseline before the -header position is reapplied. Detaching the header restores its normal -transform. This applies to RN NativeScroller and NativeList pages; non-smooth -and detached headers keep their existing positioning. The 2026-09-30 Home Spot -simulator checkpoint covers +temporary refresh top inset MUST keep the header and content aligned. Both are +children of that scroll view and move together with its content offset; the +pager MUST NOT apply a separate refresh translation to the header. The scroll +view's inset and offset, the refresh indicator, and refresh callback ownership +remain unchanged. Removing the refresh inset or control preserves this alignment +even without a scroll-offset event. Caller inset changes update the pager +baseline. Detaching the header restores its normal transform. This applies to +RN NativeScroller and NativeList pages; non-smooth and detached headers keep +their existing positioning. The 2026-09-30 Home Spot simulator checkpoint covers an active refresh with repeated vertical swipes and subsequent inset removal; other Home pages and physical-device acceptance remain open. diff --git a/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm b/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm index 0b8db719..c2ba5686 100644 --- a/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm +++ b/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm @@ -3042,14 +3042,9 @@ - (void)applyHeaderOffset BOOL attachedToList = _nativeSmoothHeaderScrollEnabled && _sharedHeaderScrollView != nil && !_sharedHeadersLiftedForPagerTransition; if (attachedToList) { - // UIRefreshControl temporarily adds a top inset while refreshing. The - // shared header lives in that scroll view, so exclude only that inset from - // its visual position while keeping the list's pull and indicator intact. - NSNumber *pagerTopInset = [_appliedTopInsets objectForKey:_sharedHeaderScrollView]; - CGFloat refreshInset = _sharedHeaderScrollView.refreshControl != nil && pagerTopInset != nil - ? MAX(0, _sharedHeaderScrollView.contentInset.top - pagerTopInset.doubleValue) - : 0; - _sharedHeaderHostView.transform = CGAffineTransformMakeTranslation(0, -refreshInset); + // The header and content share this scroll view. UIKit's refresh inset + // moves both together, so translating the header would separate them. + _sharedHeaderHostView.transform = CGAffineTransformIdentity; _headerView.transform = CGAffineTransformIdentity; CGFloat pinnedTranslation = MAX(0, _currentLogicalOffset - _headerHeight); CGAffineTransform stickyTransform = CGAffineTransformMakeTranslation(0, pinnedTranslation); diff --git a/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm b/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm index 8779f99c..89659443 100644 --- a/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm +++ b/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm @@ -185,6 +185,8 @@ - (void)testRefreshTopInsetDoesNotDisplaceAttachedSharedHeader scroll.refreshControl = [UIRefreshControl new]; scroll.contentSize = CGSizeMake(320, 2000); scroll.contentInset = UIEdgeInsetsMake(232, 0, 0, 0); + UIView *content = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 2000)]; + [scroll addSubview:content]; UIViewController *page = [UIViewController new]; [page.view addSubview:scroll]; NSMutableArray *pages = [pager valueForKey:@"pageControllers"]; @@ -199,13 +201,15 @@ - (void)testRefreshTopInsetDoesNotDisplaceAttachedSharedHeader CGPoint offset = scroll.contentOffset; scroll.contentInset = UIEdgeInsetsMake(400, 0, 0, 0); XCTAssertTrue(CGPointEqualToPoint(scroll.contentOffset, offset)); - XCTAssertEqualWithAccuracy(headerHost.transform.ty, -60, 0.001); + XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); + XCTAssertEqualWithAccuracy(CGRectGetMaxY(headerHost.frame), CGRectGetMinY(content.frame), 0.001); scroll.contentInset = UIEdgeInsetsMake(340, 0, 0, 0); XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); scroll.contentInset = UIEdgeInsetsMake(400, 0, 0, 0); - XCTAssertEqualWithAccuracy(headerHost.transform.ty, -60, 0.001); + XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); + XCTAssertEqualWithAccuracy(CGRectGetMaxY(headerHost.frame), CGRectGetMinY(content.frame), 0.001); scroll.refreshControl = nil; XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); [pager prepareForRecycle]; From 151fd672b1c81b4ca4284265e865811bdeee9b06 Mon Sep 17 00:00:00 2001 From: huhuanming Date: Wed, 30 Sep 2026 17:07:44 +0800 Subject: [PATCH 08/12] release: app-modules 3.0.160 --- example/react-native/ios/Podfile.lock | 180 +++++++++--------- native-modules/native-logger/package.json | 2 +- .../react-native-aes-crypto/package.json | 2 +- .../react-native-app-update/package.json | 2 +- .../react-native-async-storage/package.json | 2 +- .../package.json | 2 +- .../react-native-bundle-crypto/package.json | 2 +- .../react-native-bundle-update/package.json | 2 +- .../package.json | 2 +- .../react-native-cloud-fs/package.json | 2 +- .../package.json | 2 +- .../react-native-device-utils/package.json | 2 +- .../react-native-dns-lookup/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../react-native-keychain-module/package.json | 2 +- .../react-native-lite-card/package.json | 2 +- .../react-native-network-info/package.json | 2 +- .../package.json | 2 +- .../react-native-pbkdf2/package.json | 2 +- .../react-native-perf-memory/package.json | 2 +- .../react-native-perf-stats/package.json | 2 +- native-modules/react-native-ping/package.json | 2 +- .../package.json | 2 +- .../react-native-sni-connect/package.json | 2 +- .../react-native-splash-screen/package.json | 2 +- .../package.json | 2 +- .../react-native-tcp-socket/package.json | 2 +- .../react-native-zip-archive/package.json | 2 +- .../react-native-auto-size-input/package.json | 2 +- .../react-native-chart-webview/package.json | 2 +- native-views/react-native-image/package.json | 4 +- .../react-native-native-list/package.json | 6 +- .../react-native-native-sheet/package.json | 2 +- .../react-native-pager-view/package.json | 4 +- .../react-native-perp-depth-bar/package.json | 2 +- .../react-native-scroll-guard/package.json | 2 +- .../react-native-segment-slider/package.json | 2 +- .../react-native-skeleton/package.json | 2 +- .../react-native-tab-view/package.json | 2 +- .../react-native-text-input/package.json | 2 +- native-views/react-native-text/package.json | 2 +- yarn.lock | 8 +- 43 files changed, 139 insertions(+), 139 deletions(-) diff --git a/example/react-native/ios/Podfile.lock b/example/react-native/ios/Podfile.lock index 36c96fda..9ec6d8a6 100644 --- a/example/react-native/ios/Podfile.lock +++ b/example/react-native/ios/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - AesCrypto (3.0.159): + - AesCrypto (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -21,7 +21,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - AsyncStorage (3.0.159): + - AsyncStorage (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -43,7 +43,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - AutoSizeInput (3.0.159): + - AutoSizeInput (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -67,7 +67,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - BackgroundThread (3.0.159): + - BackgroundThread (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -90,7 +90,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ChartWebview (3.0.159): + - ChartWebview (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -115,7 +115,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - CloudFs (3.0.159): + - CloudFs (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -137,7 +137,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - CloudKitModule (3.0.159): + - CloudKitModule (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -165,7 +165,7 @@ PODS: - CocoaLumberjack/Core (3.9.1) - CocoaLumberjack/Swift (3.9.1): - CocoaLumberjack/Core - - DnsLookup (3.0.159): + - DnsLookup (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -194,7 +194,7 @@ PODS: - hermes-engine (250829098.0.16): - hermes-engine/Pre-built (= 250829098.0.16) - hermes-engine/Pre-built (250829098.0.16) - - KeychainModule (3.0.159): + - KeychainModule (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -234,7 +234,7 @@ PODS: - MMKV (2.4.0): - MMKVCore (~> 2.4.0) - MMKVCore (2.4.0) - - NativeSheet (3.0.159): + - NativeSheet (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -256,7 +256,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - NativeSheet/Tests (3.0.159): + - NativeSheet/Tests (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -278,7 +278,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - NetworkInfo (3.0.159): + - NetworkInfo (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -348,7 +348,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - OneKeyImage (3.0.159): + - OneKeyImage (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -374,9 +374,9 @@ PODS: - SDWebImage (~> 5.21.7) - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.14.6) - - Skeleton (= 3.0.159) + - Skeleton (= 3.0.160) - Yoga - - OneKeyImage/Tests (3.0.159): + - OneKeyImage/Tests (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -402,13 +402,13 @@ PODS: - SDWebImage (~> 5.21.7) - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.14.6) - - Skeleton (= 3.0.159) + - Skeleton (= 3.0.160) - Yoga - - OneKeyTextInput (3.0.159): + - OneKeyTextInput (3.0.160): - React-Core - - OneKeyTextInput/Tests (3.0.159): + - OneKeyTextInput/Tests (3.0.160): - React-Core - - Pbkdf2 (3.0.159): + - Pbkdf2 (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -430,7 +430,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - PerpDepthBar (3.0.159): + - PerpDepthBar (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -454,7 +454,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - Ping (3.0.159): + - Ping (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1899,10 +1899,10 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-native-list (3.0.159): + - react-native-native-list (3.0.160): - hermes-engine - NitroModules - - OneKeyImage (= 3.0.159) + - OneKeyImage (= 3.0.160) - RCTRequired - RCTTypeSafety - React-callinvoker @@ -1924,10 +1924,10 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-native-list/Tests (3.0.159): + - react-native-native-list/Tests (3.0.160): - hermes-engine - NitroModules - - OneKeyImage (= 3.0.159) + - OneKeyImage (= 3.0.160) - RCTRequired - RCTTypeSafety - React-callinvoker @@ -1949,7 +1949,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-pager-view (3.0.159): + - react-native-pager-view (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1971,7 +1971,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-pager-view/Tests (3.0.159): + - react-native-pager-view/Tests (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2062,7 +2062,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-tab-view (3.0.159): + - react-native-tab-view (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2074,7 +2074,7 @@ PODS: - React-graphics - React-ImageManager - React-jsi - - react-native-tab-view/common (= 3.0.159) + - react-native-tab-view/common (= 3.0.160) - React-NativeModulesApple - React-RCTFabric - React-renderercss @@ -2085,7 +2085,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-tab-view/common (3.0.159): + - react-native-tab-view/common (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2503,7 +2503,7 @@ PODS: - React-perflogger (= 0.86.2) - React-utils (= 0.86.2) - ReactNativeDependencies - - ReactNativeAppUpdate (3.0.159): + - ReactNativeAppUpdate (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2528,7 +2528,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeBundleCrypto (3.0.159): + - ReactNativeBundleCrypto (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2553,7 +2553,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeBundleCrypto/Tests (3.0.159): + - ReactNativeBundleCrypto/Tests (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2578,7 +2578,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeBundleUpdate (3.0.159): + - ReactNativeBundleUpdate (3.0.160): - hermes-engine - MMKV (= 2.4.0) - NitroModules @@ -2607,7 +2607,7 @@ PODS: - ReactNativeRangeDownloader - SSZipArchive (>= 2.5.4) - Yoga - - ReactNativeCheckBiometricAuthChanged (3.0.159): + - ReactNativeCheckBiometricAuthChanged (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2633,7 +2633,7 @@ PODS: - ReactNativeNativeLogger - Yoga - ReactNativeDependencies (0.86.2) - - ReactNativeDeviceUtils (3.0.159): + - ReactNativeDeviceUtils (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2658,7 +2658,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeGetRandomValues (3.0.159): + - ReactNativeGetRandomValues (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2683,7 +2683,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeImageCropPicker (3.0.159): + - ReactNativeImageCropPicker (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2708,7 +2708,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeLiteCard (3.0.159): + - ReactNativeLiteCard (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2731,7 +2731,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeNativeLogger (3.0.159): + - ReactNativeNativeLogger (3.0.160): - CocoaLumberjack/Swift (~> 3.8) - hermes-engine - NitroModules @@ -2756,7 +2756,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ReactNativePerfMemory (3.0.159): + - ReactNativePerfMemory (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2781,7 +2781,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativePerfStats (3.0.159): + - ReactNativePerfStats (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2806,7 +2806,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeRangeDownloader (3.0.159): + - ReactNativeRangeDownloader (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2832,7 +2832,7 @@ PODS: - ReactNativeNativeLogger - SSZipArchive (= 2.5.5) - Yoga - - ReactNativeSplashScreen (3.0.159): + - ReactNativeSplashScreen (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2857,7 +2857,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeZipArchive (3.0.159): + - ReactNativeZipArchive (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2928,7 +2928,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ScrollGuard (3.0.159): + - ScrollGuard (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2960,7 +2960,7 @@ PODS: - SDWebImageWebPCoder (0.14.6): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.17) - - SegmentSlider (3.0.159): + - SegmentSlider (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -2984,7 +2984,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - Skeleton (3.0.159): + - Skeleton (3.0.160): - hermes-engine - NitroModules - RCTRequired @@ -3008,7 +3008,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - SniConnect (3.0.159): + - SniConnect (3.0.160): - EMASCurl (= 1.5.5) - hermes-engine - RCTRequired @@ -3032,7 +3032,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - SplitBundleLoader (3.0.159): + - SplitBundleLoader (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -3056,7 +3056,7 @@ PODS: - ReactNativeNativeLogger - Yoga - SSZipArchive (2.5.5) - - TcpSocket (3.0.159): + - TcpSocket (3.0.160): - hermes-engine - RCTRequired - RCTTypeSafety @@ -3464,31 +3464,31 @@ EXTERNAL SOURCES: :path: "../../../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - AesCrypto: 410b205ab1fd23a66b8bbf039a0374de939e00f9 - AsyncStorage: c37d64211d7f61092523ef3c85aa0ae3c66df689 - AutoSizeInput: 429f48abcced2952007a4a338a89dab1e7774c5c - BackgroundThread: 99205533e4e5269f0f595dbcf57e124e32fc8a28 - ChartWebview: 7b2c7ee5ba484922bbb5b4c39acc9fe1c954c349 - CloudFs: 63fd21e0ba6d39ac97c6900e4d4947be35dfc9a5 - CloudKitModule: f3b0671a4bae8914d7db9d2ed0a863e603e820dc + AesCrypto: 8700dd05e826acdafc9d37c5d9d7bc83ce01206f + AsyncStorage: adbbac780a10daf4ef961877ecd76aa3f5585fec + AutoSizeInput: acf1a277a8fd061720d5628c039b34e9b0b30f99 + BackgroundThread: 69e8fe3517e3925bc5f1f0567e6b4a56aeffb695 + ChartWebview: 38c6b79135058de846b8b52a2f722bb61225019f + CloudFs: ec22f3a6a1e52f88f76d83ad6fdded5f58d71956 + CloudKitModule: 3f1c9f869b0b62d159a8b485b62d2c0cd2db7b00 CocoaLumberjack: e4ba3b414dfca8c1916c6303d37f63b3a95134c6 - DnsLookup: 14d723b9959dd288036f9b046f7f86a7befe0828 + DnsLookup: 3e00e90a0f26dc2937237108107db61004997e47 EMASCurl: d75387e1ce9dec1a75cd25cb33c7a7e7bf21997f FBLazyVector: 3c3be9a019176b5699455f7f66c5444b78a411c6 hermes-engine: a6b74f49abc71a760116d4839a42cf82fe13292d - KeychainModule: a5013a91c6f8213f1302f6a26bb847c7b4f4e073 + KeychainModule: 57f5cd340be9604516734e79246f649ed38c31a7 libwebp: af5937a13536ef73f3784d69cc342b98961acf33 MMKV: 86859fdfa2b0b21db1fd6e48788474a6416a2c77 MMKVCore: 3d16ce9f7d411e135020915fde98a056859a1efa - NativeSheet: e885456478e3da31f1fe88b723bed59fd959142f - NetworkInfo: d0f81448692e4a988ec378a98d78c77a24d02f36 + NativeSheet: c8ecfe413b8eef5d8dee14d79b06a50ea95d9cbe + NetworkInfo: e8fc2e3d3143bf95d633435c750858d18e89f11f NitroMmkv: 85a251e15c39d7c95fe58cf40786fa126b8d143c NitroModules: cda827b31eb05c1bfcc0e2bbd9b647a69c6c314f - OneKeyImage: 1221c4a401db5f539961bc569026c0fcd6530b97 - OneKeyTextInput: cda32a1f90bd097eaeb93e128fa5cd6eb2a27e2d - Pbkdf2: aa7ae0c8388ebff6e5368f95a96f37e61812bc21 - PerpDepthBar: 8514129001b6e855a58b4df86f0c125b5e482292 - Ping: 5e1f081f73c0b17a203df1b47ca46436f7788fe8 + OneKeyImage: 6a9dca5c2c135cbbbb8e8000cca07bce546f07d0 + OneKeyTextInput: 46d8ce70abea3cd11beefbfd28fa5cb293776e4a + Pbkdf2: 08faa02eec785e2e2e93a309b181112f26c41d3e + PerpDepthBar: c9f598a24048e386fe474ec2aed16e1d60d0ec3a + Ping: 46bbedb9a362c4c138bdede4d2bcb9a1a38a349d RCTDeprecation: bccb6545c26db881ecddfd83a3f9ea82aba1605f RCTRequired: b2f74764d596fc0051f00fee94b49bf41a6f7f5a RCTSwiftUI: c6d6a31b849b9dfa64c33b55dc91ac15dd55774c @@ -3526,10 +3526,10 @@ SPEC CHECKSUMS: React-Mapbuffer: 44dd007f917e2396afa0e70bbd70273237d93fde React-microtasksnativemodule: f413ee411341fb3c34d20e85e9f6f524921fab15 React-mutationobservernativemodule: 58f6d2adf7d98e72b241608dfa2ddce414d2a4e7 - react-native-native-list: fb1c0ac76ada6bb5b9ec455f13aa064ed5070bc5 - react-native-pager-view: cb66c0aeb7f51746364164fa0b87ffe09086cd57 + react-native-native-list: af04ff94ff8e466731617f38e926455d160da384 + react-native-pager-view: 160853b34bafaf6ca1bc56c433c26a5168bba5a6 react-native-safe-area-context: 91a90d98c310adcc90a511e5aeb6046d7c19d885 - react-native-tab-view: 479e9a0a37e2112fb04f6514c829949a63400251 + react-native-tab-view: 266ca6c1600397f2d4823bd6f0aa4a364a99edff React-NativeModulesApple: 167e532fb9bae30f3c66636b8ee0092bab263667 React-networking: 89f6b69755a3176f30e56ba1ba8e214b1518ecfb React-oscompat: db6675ddaef3bddd1b41533627f3d26ec710c05f @@ -3564,32 +3564,32 @@ SPEC CHECKSUMS: ReactAppDependencyProvider: 0e13d430eadac8a2ef18515a860d5c59df05b475 ReactCodegen: 01cbf7a08c30e8b71ad71489bb56b5bed195fa5e ReactCommon: 9002f006f571256348994183f7d4387aa7cf84e8 - ReactNativeAppUpdate: 31eb7cd70021fe8ce388df259701d682190e85c5 - ReactNativeBundleCrypto: 838cd947b8eb841a029308ec0e55c579fcdf2b54 - ReactNativeBundleUpdate: baebb42e5286efff96cd83aaaa2a1b73e0089d30 - ReactNativeCheckBiometricAuthChanged: 6e5d6990ebd9f42e31b592751da3127cb2137a95 + ReactNativeAppUpdate: f02f45c53956248decd45f28605853ebabfdd783 + ReactNativeBundleCrypto: 38595e211d3a35a7eef2971963c916399dfe187f + ReactNativeBundleUpdate: b5421a8124fc80443d667ef87fca283e29f17317 + ReactNativeCheckBiometricAuthChanged: 8ca389593ca9c7f4827ca2aa1289a16e5725935e ReactNativeDependencies: 2bd6854ade79bf1b60586d1ab7813a389df1b6bf - ReactNativeDeviceUtils: 5a47037aaf105e5e544c1ab854064c1e336a92d1 - ReactNativeGetRandomValues: 38fb17c4f669853ae970d927c557aed69eed240a - ReactNativeImageCropPicker: 2760f3a85240e50b90d3669998081decfe0151e8 - ReactNativeLiteCard: 93f2bad3b277934a1fe5baf66f8e5ab2e54df5ac - ReactNativeNativeLogger: 3c38c8d5f5e5ee3caaacd516f714c98c017e1dce - ReactNativePerfMemory: aebcf021572d0863643c884df9cb1b8d82996e3c - ReactNativePerfStats: 53cccb0e3419acd8aa60b6a26de84e666898e7e2 - ReactNativeRangeDownloader: a5ed9d9043218cae06b72e5e836e5fd50792bbb8 - ReactNativeSplashScreen: f044a493db72e80047a431f7b9504f893388e4fc - ReactNativeZipArchive: a754d435d39eb05ff696918b5bdbe3c9f8fc14b6 + ReactNativeDeviceUtils: 6f4af7307c560adf4996681e165da2acb2fafa3d + ReactNativeGetRandomValues: a0278d2a336bfec50c547df5d57c8b348109b8ce + ReactNativeImageCropPicker: 5a58ade925cabfc5edaeb6ff3243c825991b2d90 + ReactNativeLiteCard: 847f31dac50f5aa538c6bf24c38f39877436772b + ReactNativeNativeLogger: 0c35d3bf2340299473fe35e030fef397e4d76966 + ReactNativePerfMemory: bbc9683df5b0d8e2bb13e87c9537471a104640a1 + ReactNativePerfStats: e4866ce360d3c74f246310fc4fce222263e86eb9 + ReactNativeRangeDownloader: 7728b8746a32012b97f8d9adc4f774ae81317e5c + ReactNativeSplashScreen: ac3acd57d0cb241fed81b19f18acb6db54690ab0 + ReactNativeZipArchive: db46436563e0e40ce31ba524fc30a18cefe3ccf2 RNScreens: 01b065ded2dfe7987bcce770ff3a196be417ff41 - ScrollGuard: a4590f85e0223bb08ae125d41d3af83125e0d69c + ScrollGuard: aebd22051f28b286f5c045acc1b855199f879611 SDWebImage: e9fc87c1aab89a8ab1bbd74eba378c6f53be8abf SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380 - SegmentSlider: e090ea381b5e04ba564e2d437e5eee2fc4772726 - Skeleton: 0dee9e8c8862bac4febb3faa8972615372e58df4 - SniConnect: be8e349fd309c744b721651dd16f52330e253eb2 - SplitBundleLoader: 46ad5a51ce9dfff653af040d895bd907a6ab3f34 + SegmentSlider: 4b3541f1fa0b76f99b639820de5402d00845a3f8 + Skeleton: 3a23698986d0fd8a938dc2ad7e057a5403741539 + SniConnect: 781bf8c9036730ec2f4fa9e3abbffaf1a8af0492 + SplitBundleLoader: a81222fa4a75b5bd1dc4dd5f1f31eafb51be4ce5 SSZipArchive: c69881e8ac5521f0e622291387add5f60f30f3c4 - TcpSocket: df3b4fce6e0ce98a824ed4403312e449feee77c9 + TcpSocket: f018034ef0d1f6d3e8fd5d246198e49ee9531143 Yoga: 9891cfb1c680f64de9c41b09e7453dea33454d2b PODFILE CHECKSUM: d163efd24ff4c7dc7da7c6c0f1023634b164196e diff --git a/native-modules/native-logger/package.json b/native-modules/native-logger/package.json index 2e7d55e1..8f6d7fd9 100644 --- a/native-modules/native-logger/package.json +++ b/native-modules/native-logger/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-logger", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-native-logger", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-aes-crypto/package.json b/native-modules/react-native-aes-crypto/package.json index cf64eb84..0a27057b 100644 --- a/native-modules/react-native-aes-crypto/package.json +++ b/native-modules/react-native-aes-crypto/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-aes-crypto", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-aes-crypto", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-app-update/package.json b/native-modules/react-native-app-update/package.json index 25752ecf..4125c18a 100644 --- a/native-modules/react-native-app-update/package.json +++ b/native-modules/react-native-app-update/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-app-update", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-app-update", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-async-storage/package.json b/native-modules/react-native-async-storage/package.json index 6c567e3c..e7aac8e2 100644 --- a/native-modules/react-native-async-storage/package.json +++ b/native-modules/react-native-async-storage/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-async-storage", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-async-storage", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-background-thread/package.json b/native-modules/react-native-background-thread/package.json index ad72ecee..78c496ff 100644 --- a/native-modules/react-native-background-thread/package.json +++ b/native-modules/react-native-background-thread/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-background-thread", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-background-thread", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-bundle-crypto/package.json b/native-modules/react-native-bundle-crypto/package.json index a1dce609..1a561895 100644 --- a/native-modules/react-native-bundle-crypto/package.json +++ b/native-modules/react-native-bundle-crypto/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-bundle-crypto", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-bundle-crypto", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-bundle-update/package.json b/native-modules/react-native-bundle-update/package.json index 26ccf43e..f075cce3 100644 --- a/native-modules/react-native-bundle-update/package.json +++ b/native-modules/react-native-bundle-update/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-bundle-update", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-bundle-update", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-check-biometric-auth-changed/package.json b/native-modules/react-native-check-biometric-auth-changed/package.json index eda23ba3..cb3a5cc8 100644 --- a/native-modules/react-native-check-biometric-auth-changed/package.json +++ b/native-modules/react-native-check-biometric-auth-changed/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-check-biometric-auth-changed", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-check-biometric-auth-changed", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-cloud-fs/package.json b/native-modules/react-native-cloud-fs/package.json index 46224494..81a78f90 100644 --- a/native-modules/react-native-cloud-fs/package.json +++ b/native-modules/react-native-cloud-fs/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-cloud-fs", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-cloud-fs TurboModule for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-cloud-kit-module/package.json b/native-modules/react-native-cloud-kit-module/package.json index 197f82b9..d18e73e7 100644 --- a/native-modules/react-native-cloud-kit-module/package.json +++ b/native-modules/react-native-cloud-kit-module/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-cloud-kit-module", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-cloud-kit-module", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-device-utils/package.json b/native-modules/react-native-device-utils/package.json index 4f32c20e..830bc581 100644 --- a/native-modules/react-native-device-utils/package.json +++ b/native-modules/react-native-device-utils/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-device-utils", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-device-utils", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-dns-lookup/package.json b/native-modules/react-native-dns-lookup/package.json index 2fb6af1f..d539ad31 100644 --- a/native-modules/react-native-dns-lookup/package.json +++ b/native-modules/react-native-dns-lookup/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-dns-lookup", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-dns-lookup", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-get-random-values/package.json b/native-modules/react-native-get-random-values/package.json index a209bc53..c39f9bcf 100644 --- a/native-modules/react-native-get-random-values/package.json +++ b/native-modules/react-native-get-random-values/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-get-random-values", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-get-random-values", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-image-crop-picker/package.json b/native-modules/react-native-image-crop-picker/package.json index 4fa49ed9..69dbbc09 100644 --- a/native-modules/react-native-image-crop-picker/package.json +++ b/native-modules/react-native-image-crop-picker/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-image-crop-picker", - "version": "3.0.159", + "version": "3.0.160", "description": "Single photo picker and cropper Nitro module for OneKey, replacing react-native-image-crop-picker", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-keychain-module/package.json b/native-modules/react-native-keychain-module/package.json index 4dfe3afa..acf4ed06 100644 --- a/native-modules/react-native-keychain-module/package.json +++ b/native-modules/react-native-keychain-module/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-keychain-module", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-keychain-module", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-lite-card/package.json b/native-modules/react-native-lite-card/package.json index c080a038..4b66e3db 100644 --- a/native-modules/react-native-lite-card/package.json +++ b/native-modules/react-native-lite-card/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-lite-card", - "version": "3.0.159", + "version": "3.0.160", "description": "lite card", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-network-info/package.json b/native-modules/react-native-network-info/package.json index e643bdf4..34e3862f 100644 --- a/native-modules/react-native-network-info/package.json +++ b/native-modules/react-native-network-info/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-network-info", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-network-info", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-network-throttle/package.json b/native-modules/react-native-network-throttle/package.json index c0367174..5979570b 100644 --- a/native-modules/react-native-network-throttle/package.json +++ b/native-modules/react-native-network-throttle/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-network-throttle", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-network-throttle", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-pbkdf2/package.json b/native-modules/react-native-pbkdf2/package.json index e4c0ee7f..d9acebd6 100644 --- a/native-modules/react-native-pbkdf2/package.json +++ b/native-modules/react-native-pbkdf2/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-pbkdf2", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-pbkdf2", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-perf-memory/package.json b/native-modules/react-native-perf-memory/package.json index bd35eeb0..770c08c7 100644 --- a/native-modules/react-native-perf-memory/package.json +++ b/native-modules/react-native-perf-memory/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perf-memory", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-perf-memory", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-perf-stats/package.json b/native-modules/react-native-perf-stats/package.json index ad9b9d8c..e3455945 100644 --- a/native-modules/react-native-perf-stats/package.json +++ b/native-modules/react-native-perf-stats/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perf-stats", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-perf-stats", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-ping/package.json b/native-modules/react-native-ping/package.json index 51a445a8..5d7ddd27 100644 --- a/native-modules/react-native-ping/package.json +++ b/native-modules/react-native-ping/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-ping", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-ping TurboModule for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-range-downloader/package.json b/native-modules/react-native-range-downloader/package.json index aed2f9fe..29f23e6e 100644 --- a/native-modules/react-native-range-downloader/package.json +++ b/native-modules/react-native-range-downloader/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-range-downloader", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-range-downloader", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-sni-connect/package.json b/native-modules/react-native-sni-connect/package.json index f045b5bc..66f2a3ca 100644 --- a/native-modules/react-native-sni-connect/package.json +++ b/native-modules/react-native-sni-connect/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-sni-connect", - "version": "3.0.159", + "version": "3.0.160", "description": "A React Native library for SNI-based HTTP requests with DNS caching and request management", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-splash-screen/package.json b/native-modules/react-native-splash-screen/package.json index c68d6c6e..a74afc40 100644 --- a/native-modules/react-native-splash-screen/package.json +++ b/native-modules/react-native-splash-screen/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-splash-screen", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-splash-screen", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-split-bundle-loader/package.json b/native-modules/react-native-split-bundle-loader/package.json index 47834ae0..6f2d97c9 100644 --- a/native-modules/react-native-split-bundle-loader/package.json +++ b/native-modules/react-native-split-bundle-loader/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-split-bundle-loader", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-split-bundle-loader", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-tcp-socket/package.json b/native-modules/react-native-tcp-socket/package.json index d5ff566a..e84d21e4 100644 --- a/native-modules/react-native-tcp-socket/package.json +++ b/native-modules/react-native-tcp-socket/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-tcp-socket", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-tcp-socket", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-zip-archive/package.json b/native-modules/react-native-zip-archive/package.json index 0f9e7802..5c9b6dac 100644 --- a/native-modules/react-native-zip-archive/package.json +++ b/native-modules/react-native-zip-archive/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-zip-archive", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-zip-archive Nitro HybridObject for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-auto-size-input/package.json b/native-views/react-native-auto-size-input/package.json index 2ebba2bd..7b738104 100644 --- a/native-views/react-native-auto-size-input/package.json +++ b/native-views/react-native-auto-size-input/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-auto-size-input", - "version": "3.0.159", + "version": "3.0.160", "description": "Auto-sizing text input with font scaling, prefix and suffix support", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-chart-webview/package.json b/native-views/react-native-chart-webview/package.json index b98f3ff4..020b6f5e 100644 --- a/native-views/react-native-chart-webview/package.json +++ b/native-views/react-native-chart-webview/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-chart-webview", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-chart-webview", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-image/package.json b/native-views/react-native-image/package.json index 9a5d20cb..b2528573 100644 --- a/native-views/react-native-image/package.json +++ b/native-views/react-native-image/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-image", - "version": "3.0.159", + "version": "3.0.160", "description": "High-performance native image view for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", @@ -81,7 +81,7 @@ "typescript": "^5.9.2" }, "peerDependencies": { - "@onekeyfe/react-native-skeleton": "3.0.159", + "@onekeyfe/react-native-skeleton": "3.0.160", "react": "*", "react-native": "*", "react-native-nitro-modules": "0.37.0" diff --git a/native-views/react-native-native-list/package.json b/native-views/react-native-native-list/package.json index 0cdc332c..5b1fc9aa 100644 --- a/native-views/react-native-native-list/package.json +++ b/native-views/react-native-native-list/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-list", - "version": "3.0.159", + "version": "3.0.160", "description": "Template-driven native RecyclerView and UICollectionView for React Native", "source": "./src/index.ts", "main": "./lib/module/index.js", @@ -84,8 +84,8 @@ "typescript": "^5.9.2" }, "peerDependencies": { - "@onekeyfe/react-native-image": "3.0.159", - "@onekeyfe/react-native-native-logger": "3.0.159", + "@onekeyfe/react-native-image": "3.0.160", + "@onekeyfe/react-native-native-logger": "3.0.160", "react": "*", "react-native": "*", "react-native-nitro-modules": "0.37.0" diff --git a/native-views/react-native-native-sheet/package.json b/native-views/react-native-native-sheet/package.json index 4e3ab31d..a41c92d1 100644 --- a/native-views/react-native-native-sheet/package.json +++ b/native-views/react-native-native-sheet/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-sheet", - "version": "3.0.159", + "version": "3.0.160", "description": "Native bottom sheet host for arbitrary React Native content", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-pager-view/package.json b/native-views/react-native-pager-view/package.json index 3a701fe2..40fd4b4a 100644 --- a/native-views/react-native-pager-view/package.json +++ b/native-views/react-native-pager-view/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-pager-view", - "version": "3.0.159", + "version": "3.0.160", "description": "React Native wrapper for Android and iOS ViewPager", "source": "./src/index.tsx", "main": "./lib/module/index.js", @@ -69,7 +69,7 @@ "typescript": "^5.9.2" }, "peerDependencies": { - "@onekeyfe/react-native-native-logger": "3.0.159", + "@onekeyfe/react-native-native-logger": "3.0.160", "react": "*", "react-native": "*" }, diff --git a/native-views/react-native-perp-depth-bar/package.json b/native-views/react-native-perp-depth-bar/package.json index 020e1f4a..24a1e50d 100644 --- a/native-views/react-native-perp-depth-bar/package.json +++ b/native-views/react-native-perp-depth-bar/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perp-depth-bar", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-perp-depth-bar", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-scroll-guard/package.json b/native-views/react-native-scroll-guard/package.json index 211e3d47..e250b3cf 100644 --- a/native-views/react-native-scroll-guard/package.json +++ b/native-views/react-native-scroll-guard/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-scroll-guard", - "version": "3.0.159", + "version": "3.0.160", "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", diff --git a/native-views/react-native-segment-slider/package.json b/native-views/react-native-segment-slider/package.json index a823a206..0b54182d 100644 --- a/native-views/react-native-segment-slider/package.json +++ b/native-views/react-native-segment-slider/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-segment-slider", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-segment-slider", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-skeleton/package.json b/native-views/react-native-skeleton/package.json index b7fef96f..5bcb086b 100644 --- a/native-views/react-native-skeleton/package.json +++ b/native-views/react-native-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-skeleton", - "version": "3.0.159", + "version": "3.0.160", "description": "react-native-skeleton", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-tab-view/package.json b/native-views/react-native-tab-view/package.json index 5c4c133f..f9b49f3b 100644 --- a/native-views/react-native-tab-view/package.json +++ b/native-views/react-native-tab-view/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-tab-view", - "version": "3.0.159", + "version": "3.0.160", "description": "Native Bottom Tabs for React Native (UIKit implementation)", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-text-input/package.json b/native-views/react-native-text-input/package.json index 9dc71eda..693f6cde 100644 --- a/native-views/react-native-text-input/package.json +++ b/native-views/react-native-text-input/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-text-input", - "version": "3.0.159", + "version": "3.0.160", "description": "React Native TextInput with native paste events", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-text/package.json b/native-views/react-native-text/package.json index 3ca1b750..c3f6e3f8 100644 --- a/native-views/react-native-text/package.json +++ b/native-views/react-native-text/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-text", - "version": "3.0.159", + "version": "3.0.160", "description": "Opt-in native text rendering for React Native", "source": "./src/index.ts", "main": "./lib/module/index.js", diff --git a/yarn.lock b/yarn.lock index 94b55ab0..58625de6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3590,7 +3590,7 @@ __metadata: react-test-renderer: "npm:19.2.3" typescript: "npm:^5.9.2" peerDependencies: - "@onekeyfe/react-native-skeleton": 3.0.159 + "@onekeyfe/react-native-skeleton": 3.0.160 react: "*" react-native: "*" react-native-nitro-modules: 0.37.0 @@ -3691,8 +3691,8 @@ __metadata: react-native-nitro-modules: "npm:0.37.0" typescript: "npm:^5.9.2" peerDependencies: - "@onekeyfe/react-native-image": 3.0.159 - "@onekeyfe/react-native-native-logger": 3.0.159 + "@onekeyfe/react-native-image": 3.0.160 + "@onekeyfe/react-native-native-logger": 3.0.160 react: "*" react-native: "*" react-native-nitro-modules: 0.37.0 @@ -3844,7 +3844,7 @@ __metadata: react-native-builder-bob: "npm:^0.40.13" typescript: "npm:^5.9.2" peerDependencies: - "@onekeyfe/react-native-native-logger": 3.0.159 + "@onekeyfe/react-native-native-logger": 3.0.160 react: "*" react-native: "*" languageName: unknown From 3e041698c347583f292037b4265dba40f6923d9b Mon Sep 17 00:00:00 2001 From: huhuanming Date: Wed, 30 Sep 2026 18:15:44 +0800 Subject: [PATCH 09/12] fix: include kit in app-monorepo package sync --- .github/workflows/package-publish.yml | 4 ++-- scripts/sync-app-monorepo.mjs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/package-publish.yml b/.github/workflows/package-publish.yml index e263ef7c..b222a7db 100644 --- a/.github/workflows/package-publish.yml +++ b/.github/workflows/package-publish.yml @@ -163,7 +163,7 @@ jobs: working-directory: app-monorepo run: | node ../app-modules/scripts/sync-app-monorepo.mjs . "$RELEASE_VERSION" - if git diff --quiet -- apps/mobile/package.json packages/components/package.json package.json; then + if git diff --quiet -- apps/mobile/package.json packages/components/package.json packages/kit/package.json package.json; then echo 'changed=false' >> "$GITHUB_OUTPUT" else echo 'changed=true' >> "$GITHUB_OUTPUT" @@ -198,7 +198,7 @@ jobs: branch="codex/app-modules-v${version}" git config user.name 'onekey-release[bot]' git config user.email 'onekey-release[bot]@users.noreply.github.com' - git add -u apps/mobile/package.json packages/components/package.json package.json yarn.lock + git add -u apps/mobile/package.json packages/components/package.json packages/kit/package.json package.json yarn.lock git diff --cached --check git commit -m "chore: update app-modules to ${version}" gh auth setup-git diff --git a/scripts/sync-app-monorepo.mjs b/scripts/sync-app-monorepo.mjs index d9ed72a7..0b47e57e 100644 --- a/scripts/sync-app-monorepo.mjs +++ b/scripts/sync-app-monorepo.mjs @@ -88,6 +88,7 @@ async function main() { const manifests = [ ["apps/mobile/package.json", ["dependencies"]], ["packages/components/package.json", ["dependencies"]], + ["packages/kit/package.json", ["dependencies"]], ["package.json", ["dependencies", "resolutions"]], ]; for (const [relativePath, sections] of manifests) { From 525438a1ccee54c5f2d1ab9eb4cec2a170736062 Mon Sep 17 00:00:00 2001 From: huhuanming Date: Wed, 30 Sep 2026 21:21:45 +0800 Subject: [PATCH 10/12] fix(ios): keep pager tabs pinned during refresh --- native-modules/native-logger/package.json | 2 +- native-modules/react-native-aes-crypto/package.json | 2 +- native-modules/react-native-app-update/package.json | 2 +- .../react-native-async-storage/package.json | 2 +- .../react-native-background-thread/package.json | 2 +- .../react-native-bundle-crypto/package.json | 2 +- .../react-native-bundle-update/package.json | 2 +- .../package.json | 2 +- native-modules/react-native-cloud-fs/package.json | 2 +- .../react-native-cloud-kit-module/package.json | 2 +- .../react-native-device-utils/package.json | 2 +- native-modules/react-native-dns-lookup/package.json | 2 +- .../react-native-get-random-values/package.json | 2 +- .../react-native-image-crop-picker/package.json | 2 +- .../react-native-keychain-module/package.json | 2 +- native-modules/react-native-lite-card/package.json | 2 +- .../react-native-network-info/package.json | 2 +- .../react-native-network-throttle/package.json | 2 +- native-modules/react-native-pbkdf2/package.json | 2 +- .../react-native-perf-memory/package.json | 2 +- native-modules/react-native-perf-stats/package.json | 2 +- native-modules/react-native-ping/package.json | 2 +- .../react-native-range-downloader/package.json | 2 +- .../react-native-sni-connect/package.json | 2 +- .../react-native-splash-screen/package.json | 2 +- .../react-native-split-bundle-loader/package.json | 2 +- native-modules/react-native-tcp-socket/package.json | 2 +- .../react-native-zip-archive/package.json | 2 +- .../react-native-auto-size-input/package.json | 2 +- .../react-native-chart-webview/package.json | 2 +- native-views/react-native-image/package.json | 4 ++-- native-views/react-native-native-list/package.json | 6 +++--- native-views/react-native-native-sheet/package.json | 2 +- native-views/react-native-pager-view/docs/SPEC.md | 13 +++++++++---- .../ios/RNCCollapsiblePagerViewComponentView.mm | 6 +++++- .../tests/RNCCollapsiblePagerRefreshControlTests.mm | 5 +++++ native-views/react-native-pager-view/package.json | 4 ++-- .../react-native-perp-depth-bar/package.json | 2 +- native-views/react-native-scroll-guard/package.json | 2 +- .../react-native-segment-slider/package.json | 2 +- native-views/react-native-skeleton/package.json | 2 +- native-views/react-native-tab-view/package.json | 2 +- native-views/react-native-text-input/package.json | 2 +- native-views/react-native-text/package.json | 2 +- yarn.lock | 8 ++++---- 45 files changed, 68 insertions(+), 54 deletions(-) diff --git a/native-modules/native-logger/package.json b/native-modules/native-logger/package.json index 8f6d7fd9..7058b573 100644 --- a/native-modules/native-logger/package.json +++ b/native-modules/native-logger/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-logger", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-native-logger", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-aes-crypto/package.json b/native-modules/react-native-aes-crypto/package.json index 0a27057b..58983803 100644 --- a/native-modules/react-native-aes-crypto/package.json +++ b/native-modules/react-native-aes-crypto/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-aes-crypto", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-aes-crypto", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-app-update/package.json b/native-modules/react-native-app-update/package.json index 4125c18a..d2b9de7c 100644 --- a/native-modules/react-native-app-update/package.json +++ b/native-modules/react-native-app-update/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-app-update", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-app-update", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-async-storage/package.json b/native-modules/react-native-async-storage/package.json index e7aac8e2..b417986c 100644 --- a/native-modules/react-native-async-storage/package.json +++ b/native-modules/react-native-async-storage/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-async-storage", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-async-storage", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-background-thread/package.json b/native-modules/react-native-background-thread/package.json index 78c496ff..b915c238 100644 --- a/native-modules/react-native-background-thread/package.json +++ b/native-modules/react-native-background-thread/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-background-thread", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-background-thread", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-bundle-crypto/package.json b/native-modules/react-native-bundle-crypto/package.json index 1a561895..69e8e519 100644 --- a/native-modules/react-native-bundle-crypto/package.json +++ b/native-modules/react-native-bundle-crypto/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-bundle-crypto", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-bundle-crypto", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-bundle-update/package.json b/native-modules/react-native-bundle-update/package.json index f075cce3..8334fb19 100644 --- a/native-modules/react-native-bundle-update/package.json +++ b/native-modules/react-native-bundle-update/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-bundle-update", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-bundle-update", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-check-biometric-auth-changed/package.json b/native-modules/react-native-check-biometric-auth-changed/package.json index cb3a5cc8..56732007 100644 --- a/native-modules/react-native-check-biometric-auth-changed/package.json +++ b/native-modules/react-native-check-biometric-auth-changed/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-check-biometric-auth-changed", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-check-biometric-auth-changed", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-cloud-fs/package.json b/native-modules/react-native-cloud-fs/package.json index 81a78f90..49e259ef 100644 --- a/native-modules/react-native-cloud-fs/package.json +++ b/native-modules/react-native-cloud-fs/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-cloud-fs", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-cloud-fs TurboModule for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-cloud-kit-module/package.json b/native-modules/react-native-cloud-kit-module/package.json index d18e73e7..8cd5a835 100644 --- a/native-modules/react-native-cloud-kit-module/package.json +++ b/native-modules/react-native-cloud-kit-module/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-cloud-kit-module", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-cloud-kit-module", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-device-utils/package.json b/native-modules/react-native-device-utils/package.json index 830bc581..9a40c459 100644 --- a/native-modules/react-native-device-utils/package.json +++ b/native-modules/react-native-device-utils/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-device-utils", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-device-utils", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-dns-lookup/package.json b/native-modules/react-native-dns-lookup/package.json index d539ad31..d1008c18 100644 --- a/native-modules/react-native-dns-lookup/package.json +++ b/native-modules/react-native-dns-lookup/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-dns-lookup", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-dns-lookup", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-get-random-values/package.json b/native-modules/react-native-get-random-values/package.json index c39f9bcf..b9f7b11a 100644 --- a/native-modules/react-native-get-random-values/package.json +++ b/native-modules/react-native-get-random-values/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-get-random-values", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-get-random-values", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-image-crop-picker/package.json b/native-modules/react-native-image-crop-picker/package.json index 69dbbc09..3978c370 100644 --- a/native-modules/react-native-image-crop-picker/package.json +++ b/native-modules/react-native-image-crop-picker/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-image-crop-picker", - "version": "3.0.160", + "version": "3.0.161", "description": "Single photo picker and cropper Nitro module for OneKey, replacing react-native-image-crop-picker", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-keychain-module/package.json b/native-modules/react-native-keychain-module/package.json index acf4ed06..307ac6b5 100644 --- a/native-modules/react-native-keychain-module/package.json +++ b/native-modules/react-native-keychain-module/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-keychain-module", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-keychain-module", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-lite-card/package.json b/native-modules/react-native-lite-card/package.json index 4b66e3db..a72bddf9 100644 --- a/native-modules/react-native-lite-card/package.json +++ b/native-modules/react-native-lite-card/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-lite-card", - "version": "3.0.160", + "version": "3.0.161", "description": "lite card", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-network-info/package.json b/native-modules/react-native-network-info/package.json index 34e3862f..9f8bc03a 100644 --- a/native-modules/react-native-network-info/package.json +++ b/native-modules/react-native-network-info/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-network-info", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-network-info", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-network-throttle/package.json b/native-modules/react-native-network-throttle/package.json index 5979570b..c54585aa 100644 --- a/native-modules/react-native-network-throttle/package.json +++ b/native-modules/react-native-network-throttle/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-network-throttle", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-network-throttle", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-pbkdf2/package.json b/native-modules/react-native-pbkdf2/package.json index d9acebd6..a58eb950 100644 --- a/native-modules/react-native-pbkdf2/package.json +++ b/native-modules/react-native-pbkdf2/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-pbkdf2", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-pbkdf2", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-perf-memory/package.json b/native-modules/react-native-perf-memory/package.json index 770c08c7..3a54d60d 100644 --- a/native-modules/react-native-perf-memory/package.json +++ b/native-modules/react-native-perf-memory/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perf-memory", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-perf-memory", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-perf-stats/package.json b/native-modules/react-native-perf-stats/package.json index e3455945..19a9e645 100644 --- a/native-modules/react-native-perf-stats/package.json +++ b/native-modules/react-native-perf-stats/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perf-stats", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-perf-stats", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-ping/package.json b/native-modules/react-native-ping/package.json index 5d7ddd27..2efdabe9 100644 --- a/native-modules/react-native-ping/package.json +++ b/native-modules/react-native-ping/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-ping", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-ping TurboModule for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-range-downloader/package.json b/native-modules/react-native-range-downloader/package.json index 29f23e6e..6981c010 100644 --- a/native-modules/react-native-range-downloader/package.json +++ b/native-modules/react-native-range-downloader/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-range-downloader", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-range-downloader", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-sni-connect/package.json b/native-modules/react-native-sni-connect/package.json index 66f2a3ca..e903b2e6 100644 --- a/native-modules/react-native-sni-connect/package.json +++ b/native-modules/react-native-sni-connect/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-sni-connect", - "version": "3.0.160", + "version": "3.0.161", "description": "A React Native library for SNI-based HTTP requests with DNS caching and request management", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-splash-screen/package.json b/native-modules/react-native-splash-screen/package.json index a74afc40..559c557c 100644 --- a/native-modules/react-native-splash-screen/package.json +++ b/native-modules/react-native-splash-screen/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-splash-screen", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-splash-screen", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-split-bundle-loader/package.json b/native-modules/react-native-split-bundle-loader/package.json index 6f2d97c9..9c433e0a 100644 --- a/native-modules/react-native-split-bundle-loader/package.json +++ b/native-modules/react-native-split-bundle-loader/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-split-bundle-loader", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-split-bundle-loader", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-tcp-socket/package.json b/native-modules/react-native-tcp-socket/package.json index e84d21e4..7b64fd22 100644 --- a/native-modules/react-native-tcp-socket/package.json +++ b/native-modules/react-native-tcp-socket/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-tcp-socket", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-tcp-socket", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-zip-archive/package.json b/native-modules/react-native-zip-archive/package.json index 5c9b6dac..40100a4c 100644 --- a/native-modules/react-native-zip-archive/package.json +++ b/native-modules/react-native-zip-archive/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-zip-archive", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-zip-archive Nitro HybridObject for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-auto-size-input/package.json b/native-views/react-native-auto-size-input/package.json index 7b738104..7e3b19e1 100644 --- a/native-views/react-native-auto-size-input/package.json +++ b/native-views/react-native-auto-size-input/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-auto-size-input", - "version": "3.0.160", + "version": "3.0.161", "description": "Auto-sizing text input with font scaling, prefix and suffix support", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-chart-webview/package.json b/native-views/react-native-chart-webview/package.json index 020b6f5e..0a204769 100644 --- a/native-views/react-native-chart-webview/package.json +++ b/native-views/react-native-chart-webview/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-chart-webview", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-chart-webview", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-image/package.json b/native-views/react-native-image/package.json index b2528573..c162b598 100644 --- a/native-views/react-native-image/package.json +++ b/native-views/react-native-image/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-image", - "version": "3.0.160", + "version": "3.0.161", "description": "High-performance native image view for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", @@ -81,7 +81,7 @@ "typescript": "^5.9.2" }, "peerDependencies": { - "@onekeyfe/react-native-skeleton": "3.0.160", + "@onekeyfe/react-native-skeleton": "3.0.161", "react": "*", "react-native": "*", "react-native-nitro-modules": "0.37.0" diff --git a/native-views/react-native-native-list/package.json b/native-views/react-native-native-list/package.json index 5b1fc9aa..daeadeab 100644 --- a/native-views/react-native-native-list/package.json +++ b/native-views/react-native-native-list/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-list", - "version": "3.0.160", + "version": "3.0.161", "description": "Template-driven native RecyclerView and UICollectionView for React Native", "source": "./src/index.ts", "main": "./lib/module/index.js", @@ -84,8 +84,8 @@ "typescript": "^5.9.2" }, "peerDependencies": { - "@onekeyfe/react-native-image": "3.0.160", - "@onekeyfe/react-native-native-logger": "3.0.160", + "@onekeyfe/react-native-image": "3.0.161", + "@onekeyfe/react-native-native-logger": "3.0.161", "react": "*", "react-native": "*", "react-native-nitro-modules": "0.37.0" diff --git a/native-views/react-native-native-sheet/package.json b/native-views/react-native-native-sheet/package.json index a41c92d1..7b2cc9fe 100644 --- a/native-views/react-native-native-sheet/package.json +++ b/native-views/react-native-native-sheet/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-sheet", - "version": "3.0.160", + "version": "3.0.161", "description": "Native bottom sheet host for arbitrary React Native content", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-pager-view/docs/SPEC.md b/native-views/react-native-pager-view/docs/SPEC.md index 4a417d56..dc3483e2 100644 --- a/native-views/react-native-pager-view/docs/SPEC.md +++ b/native-views/react-native-pager-view/docs/SPEC.md @@ -335,11 +335,16 @@ pager MUST NOT apply a separate refresh translation to the header. The scroll view's inset and offset, the refresh indicator, and refresh callback ownership remain unchanged. Removing the refresh inset or control preserves this alignment even without a scroll-offset event. Caller inset changes update the pager -baseline. Detaching the header restores its normal transform. This applies to -RN NativeScroller and NativeList pages; non-smooth and detached headers keep +baseline. The sticky tab row MUST pin against the baseline top inset; the +refresh control's temporary inset MUST NOT move it below the content, including +rapid direction reversals while the spinner is active. Detaching the header +restores its normal transform. This applies to RN NativeScroller and NativeList +pages; non-smooth and detached headers keep their existing positioning. The 2026-09-30 Home Spot simulator checkpoint covers -an active refresh with repeated vertical swipes and subsequent inset removal; -other Home pages and physical-device acceptance remain open. +shared header/content alignment and inset removal. A separate source-identical +local package build verified the sticky row during active-refresh vertical +reversals; published-package, other Home pages and physical-device acceptance +remain open. ## iOS shared-header hit testing diff --git a/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm b/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm index c2ba5686..bbc4d87c 100644 --- a/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm +++ b/native-views/react-native-pager-view/ios/RNCCollapsiblePagerViewComponentView.mm @@ -3046,7 +3046,11 @@ - (void)applyHeaderOffset // moves both together, so translating the header would separate them. _sharedHeaderHostView.transform = CGAffineTransformIdentity; _headerView.transform = CGAffineTransformIdentity; - CGFloat pinnedTranslation = MAX(0, _currentLogicalOffset - _headerHeight); + UIScrollView *scrollView = _sharedHeaderScrollView; + NSNumber *appliedTop = [_appliedTopInsets objectForKey:scrollView]; + CGFloat refreshInset = scrollView.refreshControl != nil && appliedTop != nil + ? MAX(0, scrollView.contentInset.top - appliedTop.doubleValue) : 0; + CGFloat pinnedTranslation = MAX(0, _currentLogicalOffset - _headerHeight - refreshInset); CGAffineTransform stickyTransform = CGAffineTransformMakeTranslation(0, pinnedTranslation); _stickyHeaderView.transform = stickyTransform; _nativeTabBarView.transform = stickyTransform; diff --git a/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm b/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm index 89659443..b0f2e850 100644 --- a/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm +++ b/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm @@ -193,22 +193,27 @@ - (void)testRefreshTopInsetDoesNotDisplaceAttachedSharedHeader [pages addObject:page]; [pager attachScrollObserverForCurrentPage]; UIView *headerHost = [pager valueForKey:@"sharedHeaderHostView"]; + UIView *stickyHeader = [pager valueForKey:@"stickyHeaderView"]; XCTAssertEqual(headerHost.superview, scroll); XCTAssertEqualWithAccuracy(scroll.contentInset.top, 340, 0.001); XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); scroll.contentOffset = CGPointMake(0, 500); + CGFloat baselineStickyTranslation = stickyHeader.transform.ty; CGPoint offset = scroll.contentOffset; scroll.contentInset = UIEdgeInsetsMake(400, 0, 0, 0); XCTAssertTrue(CGPointEqualToPoint(scroll.contentOffset, offset)); XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); + XCTAssertEqualWithAccuracy(stickyHeader.transform.ty, baselineStickyTranslation, 0.001); XCTAssertEqualWithAccuracy(CGRectGetMaxY(headerHost.frame), CGRectGetMinY(content.frame), 0.001); scroll.contentInset = UIEdgeInsetsMake(340, 0, 0, 0); XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); + XCTAssertEqualWithAccuracy(stickyHeader.transform.ty, baselineStickyTranslation, 0.001); scroll.contentInset = UIEdgeInsetsMake(400, 0, 0, 0); XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); + XCTAssertEqualWithAccuracy(stickyHeader.transform.ty, baselineStickyTranslation, 0.001); XCTAssertEqualWithAccuracy(CGRectGetMaxY(headerHost.frame), CGRectGetMinY(content.frame), 0.001); scroll.refreshControl = nil; XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); diff --git a/native-views/react-native-pager-view/package.json b/native-views/react-native-pager-view/package.json index 40fd4b4a..39add985 100644 --- a/native-views/react-native-pager-view/package.json +++ b/native-views/react-native-pager-view/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-pager-view", - "version": "3.0.160", + "version": "3.0.161", "description": "React Native wrapper for Android and iOS ViewPager", "source": "./src/index.tsx", "main": "./lib/module/index.js", @@ -69,7 +69,7 @@ "typescript": "^5.9.2" }, "peerDependencies": { - "@onekeyfe/react-native-native-logger": "3.0.160", + "@onekeyfe/react-native-native-logger": "3.0.161", "react": "*", "react-native": "*" }, diff --git a/native-views/react-native-perp-depth-bar/package.json b/native-views/react-native-perp-depth-bar/package.json index 24a1e50d..3ad87752 100644 --- a/native-views/react-native-perp-depth-bar/package.json +++ b/native-views/react-native-perp-depth-bar/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perp-depth-bar", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-perp-depth-bar", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-scroll-guard/package.json b/native-views/react-native-scroll-guard/package.json index e250b3cf..6565d134 100644 --- a/native-views/react-native-scroll-guard/package.json +++ b/native-views/react-native-scroll-guard/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-scroll-guard", - "version": "3.0.160", + "version": "3.0.161", "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", diff --git a/native-views/react-native-segment-slider/package.json b/native-views/react-native-segment-slider/package.json index 0b54182d..6d4db16e 100644 --- a/native-views/react-native-segment-slider/package.json +++ b/native-views/react-native-segment-slider/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-segment-slider", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-segment-slider", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-skeleton/package.json b/native-views/react-native-skeleton/package.json index 5bcb086b..1ae067ff 100644 --- a/native-views/react-native-skeleton/package.json +++ b/native-views/react-native-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-skeleton", - "version": "3.0.160", + "version": "3.0.161", "description": "react-native-skeleton", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-tab-view/package.json b/native-views/react-native-tab-view/package.json index f9b49f3b..1873fbce 100644 --- a/native-views/react-native-tab-view/package.json +++ b/native-views/react-native-tab-view/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-tab-view", - "version": "3.0.160", + "version": "3.0.161", "description": "Native Bottom Tabs for React Native (UIKit implementation)", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-text-input/package.json b/native-views/react-native-text-input/package.json index 693f6cde..1a062341 100644 --- a/native-views/react-native-text-input/package.json +++ b/native-views/react-native-text-input/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-text-input", - "version": "3.0.160", + "version": "3.0.161", "description": "React Native TextInput with native paste events", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-text/package.json b/native-views/react-native-text/package.json index c3f6e3f8..70c1b4a1 100644 --- a/native-views/react-native-text/package.json +++ b/native-views/react-native-text/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-text", - "version": "3.0.160", + "version": "3.0.161", "description": "Opt-in native text rendering for React Native", "source": "./src/index.ts", "main": "./lib/module/index.js", diff --git a/yarn.lock b/yarn.lock index 58625de6..b1605e79 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3590,7 +3590,7 @@ __metadata: react-test-renderer: "npm:19.2.3" typescript: "npm:^5.9.2" peerDependencies: - "@onekeyfe/react-native-skeleton": 3.0.160 + "@onekeyfe/react-native-skeleton": 3.0.161 react: "*" react-native: "*" react-native-nitro-modules: 0.37.0 @@ -3691,8 +3691,8 @@ __metadata: react-native-nitro-modules: "npm:0.37.0" typescript: "npm:^5.9.2" peerDependencies: - "@onekeyfe/react-native-image": 3.0.160 - "@onekeyfe/react-native-native-logger": 3.0.160 + "@onekeyfe/react-native-image": 3.0.161 + "@onekeyfe/react-native-native-logger": 3.0.161 react: "*" react-native: "*" react-native-nitro-modules: 0.37.0 @@ -3844,7 +3844,7 @@ __metadata: react-native-builder-bob: "npm:^0.40.13" typescript: "npm:^5.9.2" peerDependencies: - "@onekeyfe/react-native-native-logger": 3.0.160 + "@onekeyfe/react-native-native-logger": 3.0.161 react: "*" react-native: "*" languageName: unknown From 4da72a030271c16d8356f56e5cde33a941d2294d Mon Sep 17 00:00:00 2001 From: huhuanming Date: Wed, 30 Sep 2026 21:41:59 +0800 Subject: [PATCH 11/12] fix(ios): update example pods for 3.0.161 --- example/react-native/ios/Podfile.lock | 180 +++++++++++++------------- 1 file changed, 90 insertions(+), 90 deletions(-) diff --git a/example/react-native/ios/Podfile.lock b/example/react-native/ios/Podfile.lock index 9ec6d8a6..b1bc78cf 100644 --- a/example/react-native/ios/Podfile.lock +++ b/example/react-native/ios/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - AesCrypto (3.0.160): + - AesCrypto (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -21,7 +21,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - AsyncStorage (3.0.160): + - AsyncStorage (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -43,7 +43,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - AutoSizeInput (3.0.160): + - AutoSizeInput (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -67,7 +67,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - BackgroundThread (3.0.160): + - BackgroundThread (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -90,7 +90,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ChartWebview (3.0.160): + - ChartWebview (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -115,7 +115,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - CloudFs (3.0.160): + - CloudFs (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -137,7 +137,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - CloudKitModule (3.0.160): + - CloudKitModule (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -165,7 +165,7 @@ PODS: - CocoaLumberjack/Core (3.9.1) - CocoaLumberjack/Swift (3.9.1): - CocoaLumberjack/Core - - DnsLookup (3.0.160): + - DnsLookup (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -194,7 +194,7 @@ PODS: - hermes-engine (250829098.0.16): - hermes-engine/Pre-built (= 250829098.0.16) - hermes-engine/Pre-built (250829098.0.16) - - KeychainModule (3.0.160): + - KeychainModule (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -234,7 +234,7 @@ PODS: - MMKV (2.4.0): - MMKVCore (~> 2.4.0) - MMKVCore (2.4.0) - - NativeSheet (3.0.160): + - NativeSheet (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -256,7 +256,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - NativeSheet/Tests (3.0.160): + - NativeSheet/Tests (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -278,7 +278,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - NetworkInfo (3.0.160): + - NetworkInfo (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -348,7 +348,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - OneKeyImage (3.0.160): + - OneKeyImage (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -374,9 +374,9 @@ PODS: - SDWebImage (~> 5.21.7) - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.14.6) - - Skeleton (= 3.0.160) + - Skeleton (= 3.0.161) - Yoga - - OneKeyImage/Tests (3.0.160): + - OneKeyImage/Tests (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -402,13 +402,13 @@ PODS: - SDWebImage (~> 5.21.7) - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.14.6) - - Skeleton (= 3.0.160) + - Skeleton (= 3.0.161) - Yoga - - OneKeyTextInput (3.0.160): + - OneKeyTextInput (3.0.161): - React-Core - - OneKeyTextInput/Tests (3.0.160): + - OneKeyTextInput/Tests (3.0.161): - React-Core - - Pbkdf2 (3.0.160): + - Pbkdf2 (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -430,7 +430,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - PerpDepthBar (3.0.160): + - PerpDepthBar (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -454,7 +454,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - Ping (3.0.160): + - Ping (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1899,10 +1899,10 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-native-list (3.0.160): + - react-native-native-list (3.0.161): - hermes-engine - NitroModules - - OneKeyImage (= 3.0.160) + - OneKeyImage (= 3.0.161) - RCTRequired - RCTTypeSafety - React-callinvoker @@ -1924,10 +1924,10 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-native-list/Tests (3.0.160): + - react-native-native-list/Tests (3.0.161): - hermes-engine - NitroModules - - OneKeyImage (= 3.0.160) + - OneKeyImage (= 3.0.161) - RCTRequired - RCTTypeSafety - React-callinvoker @@ -1949,7 +1949,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-pager-view (3.0.160): + - react-native-pager-view (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1971,7 +1971,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-pager-view/Tests (3.0.160): + - react-native-pager-view/Tests (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2062,7 +2062,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-tab-view (3.0.160): + - react-native-tab-view (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2074,7 +2074,7 @@ PODS: - React-graphics - React-ImageManager - React-jsi - - react-native-tab-view/common (= 3.0.160) + - react-native-tab-view/common (= 3.0.161) - React-NativeModulesApple - React-RCTFabric - React-renderercss @@ -2085,7 +2085,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-tab-view/common (3.0.160): + - react-native-tab-view/common (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2503,7 +2503,7 @@ PODS: - React-perflogger (= 0.86.2) - React-utils (= 0.86.2) - ReactNativeDependencies - - ReactNativeAppUpdate (3.0.160): + - ReactNativeAppUpdate (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2528,7 +2528,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeBundleCrypto (3.0.160): + - ReactNativeBundleCrypto (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2553,7 +2553,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeBundleCrypto/Tests (3.0.160): + - ReactNativeBundleCrypto/Tests (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2578,7 +2578,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeBundleUpdate (3.0.160): + - ReactNativeBundleUpdate (3.0.161): - hermes-engine - MMKV (= 2.4.0) - NitroModules @@ -2607,7 +2607,7 @@ PODS: - ReactNativeRangeDownloader - SSZipArchive (>= 2.5.4) - Yoga - - ReactNativeCheckBiometricAuthChanged (3.0.160): + - ReactNativeCheckBiometricAuthChanged (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2633,7 +2633,7 @@ PODS: - ReactNativeNativeLogger - Yoga - ReactNativeDependencies (0.86.2) - - ReactNativeDeviceUtils (3.0.160): + - ReactNativeDeviceUtils (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2658,7 +2658,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeGetRandomValues (3.0.160): + - ReactNativeGetRandomValues (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2683,7 +2683,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeImageCropPicker (3.0.160): + - ReactNativeImageCropPicker (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2708,7 +2708,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeLiteCard (3.0.160): + - ReactNativeLiteCard (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2731,7 +2731,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeNativeLogger (3.0.160): + - ReactNativeNativeLogger (3.0.161): - CocoaLumberjack/Swift (~> 3.8) - hermes-engine - NitroModules @@ -2756,7 +2756,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ReactNativePerfMemory (3.0.160): + - ReactNativePerfMemory (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2781,7 +2781,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativePerfStats (3.0.160): + - ReactNativePerfStats (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2806,7 +2806,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeRangeDownloader (3.0.160): + - ReactNativeRangeDownloader (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2832,7 +2832,7 @@ PODS: - ReactNativeNativeLogger - SSZipArchive (= 2.5.5) - Yoga - - ReactNativeSplashScreen (3.0.160): + - ReactNativeSplashScreen (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2857,7 +2857,7 @@ PODS: - ReactNativeDependencies - ReactNativeNativeLogger - Yoga - - ReactNativeZipArchive (3.0.160): + - ReactNativeZipArchive (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2928,7 +2928,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ScrollGuard (3.0.160): + - ScrollGuard (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2960,7 +2960,7 @@ PODS: - SDWebImageWebPCoder (0.14.6): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.17) - - SegmentSlider (3.0.160): + - SegmentSlider (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -2984,7 +2984,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - Skeleton (3.0.160): + - Skeleton (3.0.161): - hermes-engine - NitroModules - RCTRequired @@ -3008,7 +3008,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - SniConnect (3.0.160): + - SniConnect (3.0.161): - EMASCurl (= 1.5.5) - hermes-engine - RCTRequired @@ -3032,7 +3032,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - SplitBundleLoader (3.0.160): + - SplitBundleLoader (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -3056,7 +3056,7 @@ PODS: - ReactNativeNativeLogger - Yoga - SSZipArchive (2.5.5) - - TcpSocket (3.0.160): + - TcpSocket (3.0.161): - hermes-engine - RCTRequired - RCTTypeSafety @@ -3464,31 +3464,31 @@ EXTERNAL SOURCES: :path: "../../../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - AesCrypto: 8700dd05e826acdafc9d37c5d9d7bc83ce01206f - AsyncStorage: adbbac780a10daf4ef961877ecd76aa3f5585fec - AutoSizeInput: acf1a277a8fd061720d5628c039b34e9b0b30f99 - BackgroundThread: 69e8fe3517e3925bc5f1f0567e6b4a56aeffb695 - ChartWebview: 38c6b79135058de846b8b52a2f722bb61225019f - CloudFs: ec22f3a6a1e52f88f76d83ad6fdded5f58d71956 - CloudKitModule: 3f1c9f869b0b62d159a8b485b62d2c0cd2db7b00 + AesCrypto: 58f4e9be8ebd78b597234e6f9ab1b6788752636f + AsyncStorage: 75f61034ab42b75c05080296bd1f2c36953117d8 + AutoSizeInput: 61c31a946c2624ecf9c71b509b5d6716e612a223 + BackgroundThread: 30fd4341cfc3712a21b1ac4bedd3ea80081d8758 + ChartWebview: d1b1d99e90590754841ae92faae03e07ca303693 + CloudFs: ba0d7b732ec5d8ab174292687316751cb2641413 + CloudKitModule: 93f6da59dc6076c3ab88e82cf3a99943df7c6451 CocoaLumberjack: e4ba3b414dfca8c1916c6303d37f63b3a95134c6 - DnsLookup: 3e00e90a0f26dc2937237108107db61004997e47 + DnsLookup: 4c02633830852ca78b04cc82d0c9bfa3529a899f EMASCurl: d75387e1ce9dec1a75cd25cb33c7a7e7bf21997f FBLazyVector: 3c3be9a019176b5699455f7f66c5444b78a411c6 hermes-engine: a6b74f49abc71a760116d4839a42cf82fe13292d - KeychainModule: 57f5cd340be9604516734e79246f649ed38c31a7 + KeychainModule: a04f5c9c5ef2299f0710560d9a835bf2a44dfbc1 libwebp: af5937a13536ef73f3784d69cc342b98961acf33 MMKV: 86859fdfa2b0b21db1fd6e48788474a6416a2c77 MMKVCore: 3d16ce9f7d411e135020915fde98a056859a1efa - NativeSheet: c8ecfe413b8eef5d8dee14d79b06a50ea95d9cbe - NetworkInfo: e8fc2e3d3143bf95d633435c750858d18e89f11f + NativeSheet: 3b4b15ac6b0115f247185b7291ceecb6ee5262c1 + NetworkInfo: 6e04b09ea506c97b7a00c64d0ad604619bd22d4d NitroMmkv: 85a251e15c39d7c95fe58cf40786fa126b8d143c NitroModules: cda827b31eb05c1bfcc0e2bbd9b647a69c6c314f - OneKeyImage: 6a9dca5c2c135cbbbb8e8000cca07bce546f07d0 - OneKeyTextInput: 46d8ce70abea3cd11beefbfd28fa5cb293776e4a - Pbkdf2: 08faa02eec785e2e2e93a309b181112f26c41d3e - PerpDepthBar: c9f598a24048e386fe474ec2aed16e1d60d0ec3a - Ping: 46bbedb9a362c4c138bdede4d2bcb9a1a38a349d + OneKeyImage: cbc5c835475d3fcd541590f4371d291d2f4f5e4f + OneKeyTextInput: 5b1d9a36f430fd28d7bd6e41b9a86f752b26c2b6 + Pbkdf2: 997f984d7718ecad87e8a6dab0a232aa848a9538 + PerpDepthBar: 22b20244ee6a0d82e3cbc3e5fc99171c007f0aa5 + Ping: b3a6c2900adb976ff3aaad83c18508f1afb67fb6 RCTDeprecation: bccb6545c26db881ecddfd83a3f9ea82aba1605f RCTRequired: b2f74764d596fc0051f00fee94b49bf41a6f7f5a RCTSwiftUI: c6d6a31b849b9dfa64c33b55dc91ac15dd55774c @@ -3526,10 +3526,10 @@ SPEC CHECKSUMS: React-Mapbuffer: 44dd007f917e2396afa0e70bbd70273237d93fde React-microtasksnativemodule: f413ee411341fb3c34d20e85e9f6f524921fab15 React-mutationobservernativemodule: 58f6d2adf7d98e72b241608dfa2ddce414d2a4e7 - react-native-native-list: af04ff94ff8e466731617f38e926455d160da384 - react-native-pager-view: 160853b34bafaf6ca1bc56c433c26a5168bba5a6 + react-native-native-list: 23c59946fe84e98c58bdfb811f9bd60c33062bf8 + react-native-pager-view: 5189c67c97cddb59069706cec4f41f8c956733a9 react-native-safe-area-context: 91a90d98c310adcc90a511e5aeb6046d7c19d885 - react-native-tab-view: 266ca6c1600397f2d4823bd6f0aa4a364a99edff + react-native-tab-view: a7fd230fe3f78dac0518877c85b78e54f38e6926 React-NativeModulesApple: 167e532fb9bae30f3c66636b8ee0092bab263667 React-networking: 89f6b69755a3176f30e56ba1ba8e214b1518ecfb React-oscompat: db6675ddaef3bddd1b41533627f3d26ec710c05f @@ -3564,32 +3564,32 @@ SPEC CHECKSUMS: ReactAppDependencyProvider: 0e13d430eadac8a2ef18515a860d5c59df05b475 ReactCodegen: 01cbf7a08c30e8b71ad71489bb56b5bed195fa5e ReactCommon: 9002f006f571256348994183f7d4387aa7cf84e8 - ReactNativeAppUpdate: f02f45c53956248decd45f28605853ebabfdd783 - ReactNativeBundleCrypto: 38595e211d3a35a7eef2971963c916399dfe187f - ReactNativeBundleUpdate: b5421a8124fc80443d667ef87fca283e29f17317 - ReactNativeCheckBiometricAuthChanged: 8ca389593ca9c7f4827ca2aa1289a16e5725935e + ReactNativeAppUpdate: 61d1b2a5a5df3f73d4c60c7a951ee8b79bec3be4 + ReactNativeBundleCrypto: 0909eed2a3306aec2734ccdc3c7ef23c00d4c5bb + ReactNativeBundleUpdate: 02576cb70d137af8b5919e1b227354a5af8582c6 + ReactNativeCheckBiometricAuthChanged: 854bc1f5c1af99da22529847acfc02b193b13d19 ReactNativeDependencies: 2bd6854ade79bf1b60586d1ab7813a389df1b6bf - ReactNativeDeviceUtils: 6f4af7307c560adf4996681e165da2acb2fafa3d - ReactNativeGetRandomValues: a0278d2a336bfec50c547df5d57c8b348109b8ce - ReactNativeImageCropPicker: 5a58ade925cabfc5edaeb6ff3243c825991b2d90 - ReactNativeLiteCard: 847f31dac50f5aa538c6bf24c38f39877436772b - ReactNativeNativeLogger: 0c35d3bf2340299473fe35e030fef397e4d76966 - ReactNativePerfMemory: bbc9683df5b0d8e2bb13e87c9537471a104640a1 - ReactNativePerfStats: e4866ce360d3c74f246310fc4fce222263e86eb9 - ReactNativeRangeDownloader: 7728b8746a32012b97f8d9adc4f774ae81317e5c - ReactNativeSplashScreen: ac3acd57d0cb241fed81b19f18acb6db54690ab0 - ReactNativeZipArchive: db46436563e0e40ce31ba524fc30a18cefe3ccf2 + ReactNativeDeviceUtils: 5176edf51eeb8cc3bdf30db7885e6a1e1a47bc4c + ReactNativeGetRandomValues: 28dad5997491317130596b7f9aa589edfebbb5c2 + ReactNativeImageCropPicker: fde4a3437f72f61d6093a064fa95c71fe8af0b8d + ReactNativeLiteCard: 3074d62da576fd971759efe414c27a0d041f16ca + ReactNativeNativeLogger: 7f07a04ceaafc5d84fcc0764c9af2a9dfd2e9d9b + ReactNativePerfMemory: b2c08bee59077cb0c83c2308a3f860485568559a + ReactNativePerfStats: b4bfdb46802f2c6c37c6af20b8fe254e4bfc7ced + ReactNativeRangeDownloader: 6cac19309048246dadb9d3b6a12d5096b9b4e07e + ReactNativeSplashScreen: 943d5ea2279ecc91a2b3002142b10178ffe6e375 + ReactNativeZipArchive: b3f590c946a9e9c82090c78de4609216124479cf RNScreens: 01b065ded2dfe7987bcce770ff3a196be417ff41 - ScrollGuard: aebd22051f28b286f5c045acc1b855199f879611 + ScrollGuard: fb52fd30f7a742fc7b4297bcdbf41d8b6f12a3e5 SDWebImage: e9fc87c1aab89a8ab1bbd74eba378c6f53be8abf SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380 - SegmentSlider: 4b3541f1fa0b76f99b639820de5402d00845a3f8 - Skeleton: 3a23698986d0fd8a938dc2ad7e057a5403741539 - SniConnect: 781bf8c9036730ec2f4fa9e3abbffaf1a8af0492 - SplitBundleLoader: a81222fa4a75b5bd1dc4dd5f1f31eafb51be4ce5 + SegmentSlider: b3299ca51d2cde79f55d3f286ffe232ec2cfb4ae + Skeleton: 3ca1f490aefb43f57340a75427bf9e71b40eddda + SniConnect: 9c694c28d20422c10d3a284aa63228c6f7e45532 + SplitBundleLoader: 410d3a14d7d01c3530dd7c41f5e525ab6bec11f2 SSZipArchive: c69881e8ac5521f0e622291387add5f60f30f3c4 - TcpSocket: f018034ef0d1f6d3e8fd5d246198e49ee9531143 + TcpSocket: 0cd7ab7722a2ca1842765812a354489dd90f1ae5 Yoga: 9891cfb1c680f64de9c41b09e7453dea33454d2b PODFILE CHECKSUM: d163efd24ff4c7dc7da7c6c0f1023634b164196e From 6ac6fd5cfcbb84ee5864d622151a69c85337668a Mon Sep 17 00:00:00 2001 From: huhuanming Date: Wed, 30 Sep 2026 23:33:11 +0800 Subject: [PATCH 12/12] test: cover tab bar during refresh inset changes --- .../ios/tests/RNCCollapsiblePagerRefreshControlTests.mm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm b/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm index b0f2e850..2be359cc 100644 --- a/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm +++ b/native-views/react-native-pager-view/ios/tests/RNCCollapsiblePagerRefreshControlTests.mm @@ -194,26 +194,31 @@ - (void)testRefreshTopInsetDoesNotDisplaceAttachedSharedHeader [pager attachScrollObserverForCurrentPage]; UIView *headerHost = [pager valueForKey:@"sharedHeaderHostView"]; UIView *stickyHeader = [pager valueForKey:@"stickyHeaderView"]; + UIView *tabBar = [pager valueForKey:@"nativeTabBarView"]; XCTAssertEqual(headerHost.superview, scroll); XCTAssertEqualWithAccuracy(scroll.contentInset.top, 340, 0.001); XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); scroll.contentOffset = CGPointMake(0, 500); CGFloat baselineStickyTranslation = stickyHeader.transform.ty; + CGFloat baselineTabBarTranslation = tabBar.transform.ty; CGPoint offset = scroll.contentOffset; scroll.contentInset = UIEdgeInsetsMake(400, 0, 0, 0); XCTAssertTrue(CGPointEqualToPoint(scroll.contentOffset, offset)); XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); XCTAssertEqualWithAccuracy(stickyHeader.transform.ty, baselineStickyTranslation, 0.001); + XCTAssertEqualWithAccuracy(tabBar.transform.ty, baselineTabBarTranslation, 0.001); XCTAssertEqualWithAccuracy(CGRectGetMaxY(headerHost.frame), CGRectGetMinY(content.frame), 0.001); scroll.contentInset = UIEdgeInsetsMake(340, 0, 0, 0); XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); XCTAssertEqualWithAccuracy(stickyHeader.transform.ty, baselineStickyTranslation, 0.001); + XCTAssertEqualWithAccuracy(tabBar.transform.ty, baselineTabBarTranslation, 0.001); scroll.contentInset = UIEdgeInsetsMake(400, 0, 0, 0); XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001); XCTAssertEqualWithAccuracy(stickyHeader.transform.ty, baselineStickyTranslation, 0.001); + XCTAssertEqualWithAccuracy(tabBar.transform.ty, baselineTabBarTranslation, 0.001); XCTAssertEqualWithAccuracy(CGRectGetMaxY(headerHost.frame), CGRectGetMinY(content.frame), 0.001); scroll.refreshControl = nil; XCTAssertEqualWithAccuracy(headerHost.transform.ty, 0, 0.001);