authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-09-07 01:40:57-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-07 01:40:57-07:00
log71297974c666b0db50a3e3b1a861742f2cdd4d7d
tree8ce50d37011f685c9d8e7100d54a34c8785b5abd
parentf57d3832c0219b4f6fbe2e86f824fedd232492c0
signature Signed by PGP key B5690EEEBB952194

fix(mobile): prevent chat from disappearing when scrolling (#10479)


2 files changed, 53 insertions(+), 29 deletions(-)

patches/@legendapp__list@3.3.5.patch+48-24
...@@ -241,7 +241,7 @@ index ce1fe00001c9e5aee6c6ea8bb2d4757d4586d002..3ccf6f16067152dfcb0c143371e2ec6a...@@ -241,7 +241,7 @@ index ce1fe00001c9e5aee6c6ea8bb2d4757d4586d002..3ccf6f16067152dfcb0c143371e2ec6a
241 * Number of columns to render items in.241 * Number of columns to render items in.
242 * @default 1242 * @default 1
243diff --git a/react-native.js b/react-native.js243diff --git a/react-native.js b/react-native.js
244index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df752a843de0 100644244index b3c5a306b293f797a8b338adfca3060c0f6db22b..ddca4bcd8a5dc5863cb65e03b6cfac0047a8ead3 100644
245--- a/react-native.js245--- a/react-native.js
246+++ b/react-native.js246+++ b/react-native.js
247@@ -717,6 +717,15 @@ function hasActiveInitialScroll(state) {247@@ -717,6 +717,15 @@ function hasActiveInitialScroll(state) {
...@@ -674,7 +674,19 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75...@@ -674,7 +674,19 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75
674 contentContainerStyle: [674 contentContainerStyle: [
675 horizontal ? { height: "100%" } : {},675 horizontal ? { height: "100%" } : {},
676 contentContainerStyle,676 contentContainerStyle,
677@@ -6751,7 +6950,7 @@ function createImperativeHandle(ctx, scheduleImperativeScrollCommit) {677@@ -6010,7 +6209,10 @@ var ListComponent = typedMemo(function ListComponent2({
678 ],
679 contentOffset: initialContentOffset !== void 0 ? horizontal ? { x: initialContentOffset, y: 0 } : { x: 0, y: initialContentOffset } : void 0,
680 horizontal,
681- maintainVisibleContentPosition: maintainVisibleContentPosition.size || maintainVisibleContentPosition.data ? { minIndexForVisible: 0 } : void 0,
682+ // Keep iOS anchored to ScrollAdjust even when JS position restoration is
683+ // disabled. Re-enabling native MVCP mid-drag can compare its stale anchor
684+ // with the 1e7 sentinel and scroll the entire list out of view.
685+ maintainVisibleContentPosition: Platform.OS === "ios" || maintainVisibleContentPosition.size || maintainVisibleContentPosition.data ? { minIndexForVisible: 0 } : void 0,
686 onLayout,
687 onScroll: onScroll2,
688 ref: refScrollView,
689@@ -6751,7 +6953,7 @@ function createImperativeHandle(ctx, scheduleImperativeScrollCommit) {
678 endBuffered: state.endBuffered,690 endBuffered: state.endBuffered,
679 getAverageItemSizes: () => getAverageItemSizes(state),691 getAverageItemSizes: () => getAverageItemSizes(state),
680 indexByKey: (key) => state.indexByKey.get(key),692 indexByKey: (key) => state.indexByKey.get(key),
...@@ -683,7 +695,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75...@@ -683,7 +695,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75
683 isAtStart: peek$(ctx, "isAtStart"),695 isAtStart: peek$(ctx, "isAtStart"),
684 isEndReached: state.isEndReached,696 isEndReached: state.isEndReached,
685 isNearEnd: peek$(ctx, "isNearEnd"),697 isNearEnd: peek$(ctx, "isNearEnd"),
686@@ -7075,6 +7274,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded698@@ -7075,6 +7277,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
687 dataVersion,699 dataVersion,
688 drawDistance = 250,700 drawDistance = 250,
689 contentInsetEndAdjustment,701 contentInsetEndAdjustment,
...@@ -691,7 +703,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75...@@ -691,7 +703,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75
691 estimatedItemSize = 100,703 estimatedItemSize = 100,
692 estimatedListSize,704 estimatedListSize,
693 extraData,705 extraData,
694@@ -7132,10 +7332,12 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded706@@ -7132,10 +7335,12 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
695 const animatedPropsInternal = props.animatedPropsInternal;707 const animatedPropsInternal = props.animatedPropsInternal;
696 const anchoredEndSpaceOwner = (_a3 = props.anchoredEndSpaceOwnerInternal) != null ? _a3 : "list";708 const anchoredEndSpaceOwner = (_a3 = props.anchoredEndSpaceOwnerInternal) != null ? _a3 : "list";
697 const positionComponentInternal = props.positionComponentInternal;709 const positionComponentInternal = props.positionComponentInternal;
...@@ -704,7 +716,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75...@@ -704,7 +716,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75
704 stickyPositionComponentInternal: _stickyPositionComponentInternal,716 stickyPositionComponentInternal: _stickyPositionComponentInternal,
705 ...restProps717 ...restProps
706 } = rest;718 } = rest;
707@@ -7200,7 +7402,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded719@@ -7200,7 +7405,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
708 const combinedRef = useCombinedRef(refScroller, refScrollView);720 const combinedRef = useCombinedRef(refScroller, refScrollView);
709 const keyExtractor = keyExtractorProp != null ? keyExtractorProp : ((_item, index) => index.toString());721 const keyExtractor = keyExtractorProp != null ? keyExtractorProp : ((_item, index) => index.toString());
710 const stickyHeaderIndices = stickyHeaderIndicesProp;722 const stickyHeaderIndices = stickyHeaderIndicesProp;
...@@ -713,7 +725,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75...@@ -713,7 +725,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75
713 const previousContentInsetEndAdjustmentRef = React2.useRef(contentInsetEndAdjustmentResolved);725 const previousContentInsetEndAdjustmentRef = React2.useRef(contentInsetEndAdjustmentResolved);
714 const alwaysRenderIndices = React2.useMemo(() => {726 const alwaysRenderIndices = React2.useMemo(() => {
715 const indices = getAlwaysRenderIndices(alwaysRender, dataProp, keyExtractor, anchoredEndSpace == null ? void 0 : anchoredEndSpace.anchorIndex);727 const indices = getAlwaysRenderIndices(alwaysRender, dataProp, keyExtractor, anchoredEndSpace == null ? void 0 : anchoredEndSpace.anchorIndex);
716@@ -7341,6 +7543,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded728@@ -7341,6 +7546,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
717 contentContainerAlignItems: contentContainerStyle.alignItems,729 contentContainerAlignItems: contentContainerStyle.alignItems,
718 contentInset,730 contentInset,
719 contentInsetEndAdjustment: contentInsetEndAdjustmentResolved,731 contentInsetEndAdjustment: contentInsetEndAdjustmentResolved,
...@@ -721,7 +733,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75...@@ -721,7 +733,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75
721 data: dataProp,733 data: dataProp,
722 dataKey,734 dataKey,
723 dataVersion,735 dataVersion,
724@@ -7372,6 +7575,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded736@@ -7372,6 +7578,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
725 renderItem,737 renderItem,
726 rtl,738 rtl,
727 snapToIndices,739 snapToIndices,
...@@ -729,7 +741,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75...@@ -729,7 +741,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75
729 stickyHeaderIndicesArr: stickyHeaderIndices != null ? stickyHeaderIndices : [],741 stickyHeaderIndicesArr: stickyHeaderIndices != null ? stickyHeaderIndices : [],
730 stickyHeaderIndicesSet: React2.useMemo(() => new Set(stickyHeaderIndices != null ? stickyHeaderIndices : []), [stickyHeaderIndices == null ? void 0 : stickyHeaderIndices.join(",")]),742 stickyHeaderIndicesSet: React2.useMemo(() => new Set(stickyHeaderIndices != null ? stickyHeaderIndices : []), [stickyHeaderIndices == null ? void 0 : stickyHeaderIndices.join(",")]),
731 stickyPositionComponentInternal,743 stickyPositionComponentInternal,
732@@ -7423,6 +7627,13 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded744@@ -7423,6 +7630,13 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
733 return void 0;745 return void 0;
734 }746 }
735 const resolvedOffset = (_a4 = initialScroll.contentOffset) != null ? _a4 : resolveInitialScrollOffset(ctx, initialScroll);747 const resolvedOffset = (_a4 = initialScroll.contentOffset) != null ? _a4 : resolveInitialScrollOffset(ctx, initialScroll);
...@@ -743,7 +755,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75...@@ -743,7 +755,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75
743 return usesBootstrapInitialScroll && ((_b2 = state.initialScrollSession) == null ? void 0 : _b2.kind) === "bootstrap" && Platform.OS === "web" ? void 0 : resolvedOffset;755 return usesBootstrapInitialScroll && ((_b2 = state.initialScrollSession) == null ? void 0 : _b2.kind) === "bootstrap" && Platform.OS === "web" ? void 0 : resolvedOffset;
744 }, [usesBootstrapInitialScroll]);756 }, [usesBootstrapInitialScroll]);
745 React2.useLayoutEffect(() => {757 React2.useLayoutEffect(() => {
746@@ -7547,6 +7758,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded758@@ -7547,6 +7761,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
747 [759 [
748 dataKey,760 dataKey,
749 dataVersion,761 dataVersion,
...@@ -751,7 +763,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75...@@ -751,7 +763,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75
751 memoizedLastItemKeys.join(","),763 memoizedLastItemKeys.join(","),
752 numColumnsProp,764 numColumnsProp,
753 nextScrollAxisGap,765 nextScrollAxisGap,
754@@ -7643,6 +7855,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded766@@ -7643,6 +7858,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
755 () => ({767 () => ({
756 getRenderedItem: (key) => getRenderedItem(ctx, key),768 getRenderedItem: (key) => getRenderedItem(ctx, key),
757 onMomentumScrollEnd: (event) => {769 onMomentumScrollEnd: (event) => {
...@@ -759,7 +771,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75...@@ -759,7 +771,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75
759 checkFinishedScrollFallback(ctx);771 checkFinishedScrollFallback(ctx);
760 if (state.props.onMomentumScrollEnd) {772 if (state.props.onMomentumScrollEnd) {
761 state.props.onMomentumScrollEnd(event);773 state.props.onMomentumScrollEnd(event);
762@@ -7651,6 +7864,8 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded774@@ -7651,6 +7867,8 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
763 onScroll: (event) => onScroll(ctx, event),775 onScroll: (event) => onScroll(ctx, event),
764 onScrollBeginDrag: (event) => {776 onScrollBeginDrag: (event) => {
765 var _a4, _b2;777 var _a4, _b2;
...@@ -768,7 +780,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75...@@ -768,7 +780,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75
768 prepareReachedEdgeForNextUserScroll(ctx);780 prepareReachedEdgeForNextUserScroll(ctx);
769 (_b2 = (_a4 = state.props).onScrollBeginDrag) == null ? void 0 : _b2.call(_a4, event);781 (_b2 = (_a4 = state.props).onScrollBeginDrag) == null ? void 0 : _b2.call(_a4, event);
770 },782 },
771@@ -7676,11 +7891,18 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded783@@ -7676,11 +7894,18 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
772 ListFooterComponent,784 ListFooterComponent,
773 ListFooterComponentStyle,785 ListFooterComponentStyle,
774 ListHeaderComponent,786 ListHeaderComponent,
...@@ -788,7 +800,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75...@@ -788,7 +800,7 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..24d0763aef074411eb7d17f0feb8df75
788 recycleItems,800 recycleItems,
789 refreshControl: refreshControlElement ? stylePaddingTopState > 0 ? React2__namespace.cloneElement(refreshControlElement, {801 refreshControl: refreshControlElement ? stylePaddingTopState > 0 ? React2__namespace.cloneElement(refreshControlElement, {
790diff --git a/react-native.mjs b/react-native.mjs802diff --git a/react-native.mjs b/react-native.mjs
791index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff7e3ad022 100644803index 40e87cda8c9bc79a889e5542f29af429a24b24d4..b8c6faf0be51cbda3e8af01f290dbe97440bc623 100644
792--- a/react-native.mjs804--- a/react-native.mjs
793+++ b/react-native.mjs805+++ b/react-native.mjs
794@@ -696,6 +696,15 @@ function hasActiveInitialScroll(state) {806@@ -696,6 +696,15 @@ function hasActiveInitialScroll(state) {
...@@ -1221,7 +1233,19 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff...@@ -1221,7 +1233,19 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff
1221 contentContainerStyle: [1233 contentContainerStyle: [
1222 horizontal ? { height: "100%" } : {},1234 horizontal ? { height: "100%" } : {},
1223 contentContainerStyle,1235 contentContainerStyle,
1224@@ -6730,7 +6929,7 @@ function createImperativeHandle(ctx, scheduleImperativeScrollCommit) {1236@@ -5989,7 +6188,10 @@ var ListComponent = typedMemo(function ListComponent2({
1237 ],
1238 contentOffset: initialContentOffset !== void 0 ? horizontal ? { x: initialContentOffset, y: 0 } : { x: 0, y: initialContentOffset } : void 0,
1239 horizontal,
1240- maintainVisibleContentPosition: maintainVisibleContentPosition.size || maintainVisibleContentPosition.data ? { minIndexForVisible: 0 } : void 0,
1241+ // Keep iOS anchored to ScrollAdjust even when JS position restoration is
1242+ // disabled. Re-enabling native MVCP mid-drag can compare its stale anchor
1243+ // with the 1e7 sentinel and scroll the entire list out of view.
1244+ maintainVisibleContentPosition: Platform.OS === "ios" || maintainVisibleContentPosition.size || maintainVisibleContentPosition.data ? { minIndexForVisible: 0 } : void 0,
1245 onLayout,
1246 onScroll: onScroll2,
1247 ref: refScrollView,
1248@@ -6730,7 +6932,7 @@ function createImperativeHandle(ctx, scheduleImperativeScrollCommit) {
1225 endBuffered: state.endBuffered,1249 endBuffered: state.endBuffered,
1226 getAverageItemSizes: () => getAverageItemSizes(state),1250 getAverageItemSizes: () => getAverageItemSizes(state),
1227 indexByKey: (key) => state.indexByKey.get(key),1251 indexByKey: (key) => state.indexByKey.get(key),
...@@ -1230,7 +1254,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff...@@ -1230,7 +1254,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff
1230 isAtStart: peek$(ctx, "isAtStart"),1254 isAtStart: peek$(ctx, "isAtStart"),
1231 isEndReached: state.isEndReached,1255 isEndReached: state.isEndReached,
1232 isNearEnd: peek$(ctx, "isNearEnd"),1256 isNearEnd: peek$(ctx, "isNearEnd"),
1233@@ -7054,6 +7253,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded1257@@ -7054,6 +7256,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1234 dataVersion,1258 dataVersion,
1235 drawDistance = 250,1259 drawDistance = 250,
1236 contentInsetEndAdjustment,1260 contentInsetEndAdjustment,
...@@ -1238,7 +1262,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff...@@ -1238,7 +1262,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff
1238 estimatedItemSize = 100,1262 estimatedItemSize = 100,
1239 estimatedListSize,1263 estimatedListSize,
1240 extraData,1264 extraData,
1241@@ -7111,10 +7311,12 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded1265@@ -7111,10 +7314,12 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1242 const animatedPropsInternal = props.animatedPropsInternal;1266 const animatedPropsInternal = props.animatedPropsInternal;
1243 const anchoredEndSpaceOwner = (_a3 = props.anchoredEndSpaceOwnerInternal) != null ? _a3 : "list";1267 const anchoredEndSpaceOwner = (_a3 = props.anchoredEndSpaceOwnerInternal) != null ? _a3 : "list";
1244 const positionComponentInternal = props.positionComponentInternal;1268 const positionComponentInternal = props.positionComponentInternal;
...@@ -1251,7 +1275,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff...@@ -1251,7 +1275,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff
1251 stickyPositionComponentInternal: _stickyPositionComponentInternal,1275 stickyPositionComponentInternal: _stickyPositionComponentInternal,
1252 ...restProps1276 ...restProps
1253 } = rest;1277 } = rest;
1254@@ -7179,7 +7381,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded1278@@ -7179,7 +7384,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1255 const combinedRef = useCombinedRef(refScroller, refScrollView);1279 const combinedRef = useCombinedRef(refScroller, refScrollView);
1256 const keyExtractor = keyExtractorProp != null ? keyExtractorProp : ((_item, index) => index.toString());1280 const keyExtractor = keyExtractorProp != null ? keyExtractorProp : ((_item, index) => index.toString());
1257 const stickyHeaderIndices = stickyHeaderIndicesProp;1281 const stickyHeaderIndices = stickyHeaderIndicesProp;
...@@ -1260,7 +1284,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff...@@ -1260,7 +1284,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff
1260 const previousContentInsetEndAdjustmentRef = useRef(contentInsetEndAdjustmentResolved);1284 const previousContentInsetEndAdjustmentRef = useRef(contentInsetEndAdjustmentResolved);
1261 const alwaysRenderIndices = useMemo(() => {1285 const alwaysRenderIndices = useMemo(() => {
1262 const indices = getAlwaysRenderIndices(alwaysRender, dataProp, keyExtractor, anchoredEndSpace == null ? void 0 : anchoredEndSpace.anchorIndex);1286 const indices = getAlwaysRenderIndices(alwaysRender, dataProp, keyExtractor, anchoredEndSpace == null ? void 0 : anchoredEndSpace.anchorIndex);
1263@@ -7320,6 +7522,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded1287@@ -7320,6 +7525,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1264 contentContainerAlignItems: contentContainerStyle.alignItems,1288 contentContainerAlignItems: contentContainerStyle.alignItems,
1265 contentInset,1289 contentInset,
1266 contentInsetEndAdjustment: contentInsetEndAdjustmentResolved,1290 contentInsetEndAdjustment: contentInsetEndAdjustmentResolved,
...@@ -1268,7 +1292,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff...@@ -1268,7 +1292,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff
1268 data: dataProp,1292 data: dataProp,
1269 dataKey,1293 dataKey,
1270 dataVersion,1294 dataVersion,
1271@@ -7351,6 +7554,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded1295@@ -7351,6 +7557,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1272 renderItem,1296 renderItem,
1273 rtl,1297 rtl,
1274 snapToIndices,1298 snapToIndices,
...@@ -1276,7 +1300,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff...@@ -1276,7 +1300,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff
1276 stickyHeaderIndicesArr: stickyHeaderIndices != null ? stickyHeaderIndices : [],1300 stickyHeaderIndicesArr: stickyHeaderIndices != null ? stickyHeaderIndices : [],
1277 stickyHeaderIndicesSet: useMemo(() => new Set(stickyHeaderIndices != null ? stickyHeaderIndices : []), [stickyHeaderIndices == null ? void 0 : stickyHeaderIndices.join(",")]),1301 stickyHeaderIndicesSet: useMemo(() => new Set(stickyHeaderIndices != null ? stickyHeaderIndices : []), [stickyHeaderIndices == null ? void 0 : stickyHeaderIndices.join(",")]),
1278 stickyPositionComponentInternal,1302 stickyPositionComponentInternal,
1279@@ -7402,6 +7606,13 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded1303@@ -7402,6 +7609,13 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1280 return void 0;1304 return void 0;
1281 }1305 }
1282 const resolvedOffset = (_a4 = initialScroll.contentOffset) != null ? _a4 : resolveInitialScrollOffset(ctx, initialScroll);1306 const resolvedOffset = (_a4 = initialScroll.contentOffset) != null ? _a4 : resolveInitialScrollOffset(ctx, initialScroll);
...@@ -1290,7 +1314,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff...@@ -1290,7 +1314,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff
1290 return usesBootstrapInitialScroll && ((_b2 = state.initialScrollSession) == null ? void 0 : _b2.kind) === "bootstrap" && Platform.OS === "web" ? void 0 : resolvedOffset;1314 return usesBootstrapInitialScroll && ((_b2 = state.initialScrollSession) == null ? void 0 : _b2.kind) === "bootstrap" && Platform.OS === "web" ? void 0 : resolvedOffset;
1291 }, [usesBootstrapInitialScroll]);1315 }, [usesBootstrapInitialScroll]);
1292 useLayoutEffect(() => {1316 useLayoutEffect(() => {
1293@@ -7526,6 +7737,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded1317@@ -7526,6 +7740,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1294 [1318 [
1295 dataKey,1319 dataKey,
1296 dataVersion,1320 dataVersion,
...@@ -1298,7 +1322,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff...@@ -1298,7 +1322,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff
1298 memoizedLastItemKeys.join(","),1322 memoizedLastItemKeys.join(","),
1299 numColumnsProp,1323 numColumnsProp,
1300 nextScrollAxisGap,1324 nextScrollAxisGap,
1301@@ -7622,6 +7834,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded1325@@ -7622,6 +7837,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1302 () => ({1326 () => ({
1303 getRenderedItem: (key) => getRenderedItem(ctx, key),1327 getRenderedItem: (key) => getRenderedItem(ctx, key),
1304 onMomentumScrollEnd: (event) => {1328 onMomentumScrollEnd: (event) => {
...@@ -1306,7 +1330,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff...@@ -1306,7 +1330,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff
1306 checkFinishedScrollFallback(ctx);1330 checkFinishedScrollFallback(ctx);
1307 if (state.props.onMomentumScrollEnd) {1331 if (state.props.onMomentumScrollEnd) {
1308 state.props.onMomentumScrollEnd(event);1332 state.props.onMomentumScrollEnd(event);
1309@@ -7630,6 +7843,8 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded1333@@ -7630,6 +7846,8 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1310 onScroll: (event) => onScroll(ctx, event),1334 onScroll: (event) => onScroll(ctx, event),
1311 onScrollBeginDrag: (event) => {1335 onScrollBeginDrag: (event) => {
1312 var _a4, _b2;1336 var _a4, _b2;
...@@ -1315,7 +1339,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff...@@ -1315,7 +1339,7 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..90e0d1a9dfd07d0212aae308f547b9ff
1315 prepareReachedEdgeForNextUserScroll(ctx);1339 prepareReachedEdgeForNextUserScroll(ctx);
1316 (_b2 = (_a4 = state.props).onScrollBeginDrag) == null ? void 0 : _b2.call(_a4, event);1340 (_b2 = (_a4 = state.props).onScrollBeginDrag) == null ? void 0 : _b2.call(_a4, event);
1317 },1341 },
1318@@ -7655,11 +7870,18 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded1342@@ -7655,11 +7873,18 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1319 ListFooterComponent,1343 ListFooterComponent,
1320 ListFooterComponentStyle,1344 ListFooterComponentStyle,
1321 ListHeaderComponent,1345 ListHeaderComponent,
pnpm-lock.yaml+5-5
...@@ -91,7 +91,7 @@ patchedDependencies:...@@ -91,7 +91,7 @@ patchedDependencies:
91 '@effect/vitest@4.0.0-beta.103': a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b91 '@effect/vitest@4.0.0-beta.103': a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b
92 '@expo/metro-config@57.0.12': 96f1a75347e6ea02dc4b7034ace815d8ee39e18b8166ebfb573d9e58328f0dc292 '@expo/metro-config@57.0.12': 96f1a75347e6ea02dc4b7034ace815d8ee39e18b8166ebfb573d9e58328f0dc2
93 '@ff-labs/fff-node@0.9.4': ab9ff544009e1891cfe3930105862d3699007f38922a79f3c98d90018deca36893 '@ff-labs/fff-node@0.9.4': ab9ff544009e1891cfe3930105862d3699007f38922a79f3c98d90018deca368
94 '@legendapp/list@3.3.5': 03ec41339cd915ecb9a774a6b90cc2197c29038f7db67c4d2e55cd3971e5be4394 '@legendapp/list@3.3.5': 07ecf538deedf140bb0f3836291714960e0bbcafe0514192b59957f498d8d9d4
95 '@pierre/diffs@1.3.0-beta.10': 0ccee155b93b63d810e2c1a40c1fd676fb6fbcfa72cf6430dcedf1a3ae475ab495 '@pierre/diffs@1.3.0-beta.10': 0ccee155b93b63d810e2c1a40c1fd676fb6fbcfa72cf6430dcedf1a3ae475ab4
96 '@react-native-ai/apple@0.12.0': 2d09870c2848d185cb05b53ed823a46e12dba519324d8dd8e584e28731990f9d96 '@react-native-ai/apple@0.12.0': 2d09870c2848d185cb05b53ed823a46e12dba519324d8dd8e584e28731990f9d
97 '@react-native-menu/menu@2.0.0': f63d256bf6a97a873b5e628eb595bd6ef0075ddd5bdd890fc920f7a6024290dd97 '@react-native-menu/menu@2.0.0': f63d256bf6a97a873b5e628eb595bd6ef0075ddd5bdd890fc920f7a6024290dd
...@@ -236,7 +236,7 @@ importers:...@@ -236,7 +236,7 @@ importers:
236 version: 57.0.14(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)236 version: 57.0.14(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(expo@57.0.18)(react-dom@19.2.3(react@19.2.3))(react-native-worklets@0.10.1(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
237 '@legendapp/list':237 '@legendapp/list':
238 specifier: 'catalog:'238 specifier: 'catalog:'
239 version: 3.3.5(patch_hash=03ec41339cd915ecb9a774a6b90cc2197c29038f7db67c4d2e55cd3971e5be43)(react-dom@19.2.3(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)239 version: 3.3.5(patch_hash=07ecf538deedf140bb0f3836291714960e0bbcafe0514192b59957f498d8d9d4)(react-dom@19.2.3(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
240 '@noble/curves':240 '@noble/curves':
241 specifier: 'catalog:'241 specifier: 'catalog:'
242 version: 1.9.1242 version: 1.9.1
...@@ -580,7 +580,7 @@ importers:...@@ -580,7 +580,7 @@ importers:
580 version: 0.9.0580 version: 0.9.0
581 '@legendapp/list':581 '@legendapp/list':
582 specifier: 'catalog:'582 specifier: 'catalog:'
583 version: 3.3.5(patch_hash=03ec41339cd915ecb9a774a6b90cc2197c29038f7db67c4d2e55cd3971e5be43)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)583 version: 3.3.5(patch_hash=07ecf538deedf140bb0f3836291714960e0bbcafe0514192b59957f498d8d9d4)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
584 '@lexical/react':584 '@lexical/react':
585 specifier: ^0.41.0585 specifier: ^0.41.0
586 version: 0.41.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(yjs@13.6.31)586 version: 0.41.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(yjs@13.6.31)
...@@ -13269,7 +13269,7 @@ snapshots:...@@ -13269,7 +13269,7 @@ snapshots:
13269 dependencies:13269 dependencies:
13270 jsbi: 4.3.213270 jsbi: 4.3.2
1327113271
13272 '@legendapp/list@3.3.5(patch_hash=03ec41339cd915ecb9a774a6b90cc2197c29038f7db67c4d2e55cd3971e5be43)(react-dom@19.2.3(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':13272 '@legendapp/list@3.3.5(patch_hash=07ecf538deedf140bb0f3836291714960e0bbcafe0514192b59957f498d8d9d4)(react-dom@19.2.3(react@19.2.3))(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)':
13273 dependencies:13273 dependencies:
13274 react: 19.2.313274 react: 19.2.3
13275 use-sync-external-store: 1.6.0(react@19.2.3)13275 use-sync-external-store: 1.6.0(react@19.2.3)
...@@ -13277,7 +13277,7 @@ snapshots:...@@ -13277,7 +13277,7 @@ snapshots:
13277 react-dom: 19.2.3(react@19.2.3)13277 react-dom: 19.2.3(react@19.2.3)
13278 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)13278 react-native: 0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)
1327913279
13280 '@legendapp/list@3.3.5(patch_hash=03ec41339cd915ecb9a774a6b90cc2197c29038f7db67c4d2e55cd3971e5be43)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':13280 '@legendapp/list@3.3.5(patch_hash=07ecf538deedf140bb0f3836291714960e0bbcafe0514192b59957f498d8d9d4)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
13281 dependencies:13281 dependencies:
13282 react: 19.2.613282 react: 19.2.6
13283 use-sync-external-store: 1.6.0(react@19.2.6)13283 use-sync-external-store: 1.6.0(react@19.2.6)