History

fix(web): prevent expanded tool calls from hiding thread content (#8052)

Theo Browne committed 2 months ago

Commit 643daa51 parent 17dbe8d2 files · +62 −14Browse files

Unified · Split

2 files
  1. patches/@legendapp__list@3.3.5.patch +57 −9
  2. pnpm-lock.yaml +5 −5
patches/@legendapp__list@3.3.5.patch+57−9
@@ -204,7 +204,7 @@ index ce1fe00001c9e5aee6c6ea8bb2d4757d4586d002..3ccf6f16067152dfcb0c143371e2ec6a · 203 unmodified lines
204204 * Number of columns to render items in.
205205 * @default 1
206206 diff --git a/react-native.js b/react-native.js
207−index b3c5a306b293f797a8b338adfca3060c0f6db22b..89077be4d6833cfaabf9d6d6205d9551505e32b4 100644
207+index b3c5a306b293f797a8b338adfca3060c0f6db22b..4227ed22da8865b7493f47f199f4d8f4a5493efb 100644
208208 --- a/react-native.js
209209 +++ b/react-native.js
210210 @@ -954,7 +954,7 @@ function setInitialRenderState(ctx, {
@@ -513,14 +513,6 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..89077be4d6833cfaabf9d6d6205d9551 · 302 unmodified lines
513513 estimatedItemSize = 100,
514514 estimatedListSize,
515515 extraData,
516−@@ -7105,6 +7260,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
517− onLayout: onLayoutProp,
518− onLoad,
519− onMomentumScrollEnd,
520−+ onScrollBeginDrag,
521− onRefresh,
522− onScroll: onScrollProp,
523− onScrollBeginDrag,
524516 @@ -7200,7 +7356,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
525517 const combinedRef = useCombinedRef(refScroller, refScrollView);
526518 const keyExtractor = keyExtractorProp != null ? keyExtractorProp : ((_item, index) => index.toString());
@@ -925,6 +917,62 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..2d556eecb0bafe2f54084c809f82144c · 398 unmodified lines
925917 onScroll: onScrollHandler,
926918 recycleItems,
927919 refreshControl: refreshControlElement ? stylePaddingTopState > 0 ? React2.cloneElement(refreshControlElement, {
920+diff --git a/react.js b/react.js
921+index 914d2dafaafa001c9ab6791a0a0581659295e333..06466096ceb96ef8773f7f7e202a19c9b774d49b 100644
922+--- a/react.js
923++++ b/react.js
924+@@ -4702,7 +4702,8 @@ function maybeUpdateAnchoredEndSpace(ctx) {
925+ contentBelowAnchor = Math.max(0, contentBelowAnchor - ctx.scrollAxisGap);
926+ contentBelowAnchor += (ctx.values.get("footerSize") || 0) + getStylePaddingEnd(state.props);
927+ isReady = !hasUnknownTailSize;
928+- nextSize = hasUnknownTailSize ? previousSize || 0 : Math.max(0, state.scrollLength - contentBelowAnchor - anchorOffset);
929++ const knownSizeBound = Math.max(0, state.scrollLength - contentBelowAnchor - anchorOffset);
930++ nextSize = hasUnknownTailSize ? Math.min(previousSize || 0, knownSizeBound) : knownSizeBound;
931+ } else if (anchorIndex >= 0) {
932+ isReady = false;
933+ }
934+@@ -4721,7 +4722,13 @@ function maybeUpdateAnchoredEndSpace(ctx) {
935+ updateContentMetricsState(ctx);
936+ updateScroll(ctx, state.scroll, true, { markHasScrolled: false });
937+ }
938+ (_b = anchoredEndSpace == null ? void 0 : anchoredEndSpace.onReady) == null ? void 0 : _b.call(anchoredEndSpace, { anchorIndex: nextAnchorIndex, anchorKey: nextAnchorKey, size: nextSize });
939++ } else if (!isReady && didSizeChange && nextSize < (previousSize || 0)) {
940++ set$(ctx, "anchoredEndSpaceSize", nextSize);
941++ (_a3 = anchoredEndSpace == null ? void 0 : anchoredEndSpace.onSizeChanged) == null ? void 0 : _a3.call(anchoredEndSpace, nextSize);
942++ if (anchoredEndSpace == null ? void 0 : anchoredEndSpace.includeInEndInset) {
943++ updateScroll(ctx, state.scroll, true, { markHasScrolled: false });
944++ }
945+ }
946+ return nextSize;
947+ }
948+diff --git a/react.mjs b/react.mjs
949+index 95465f2ab89ce41a10553f58af83618f7310e83c..4b5f06c60f1e8bbd9035a49980d9e86820262da4 100644
950+--- a/react.mjs
951++++ b/react.mjs
952+@@ -4681,7 +4681,8 @@ function maybeUpdateAnchoredEndSpace(ctx) {
953+ contentBelowAnchor = Math.max(0, contentBelowAnchor - ctx.scrollAxisGap);
954+ contentBelowAnchor += (ctx.values.get("footerSize") || 0) + getStylePaddingEnd(state.props);
955+ isReady = !hasUnknownTailSize;
956+- nextSize = hasUnknownTailSize ? previousSize || 0 : Math.max(0, state.scrollLength - contentBelowAnchor - anchorOffset);
957++ const knownSizeBound = Math.max(0, state.scrollLength - contentBelowAnchor - anchorOffset);
958++ nextSize = hasUnknownTailSize ? Math.min(previousSize || 0, knownSizeBound) : knownSizeBound;
959+ } else if (anchorIndex >= 0) {
960+ isReady = false;
961+ }
962+@@ -4700,7 +4701,13 @@ function maybeUpdateAnchoredEndSpace(ctx) {
963+ updateContentMetricsState(ctx);
964+ updateScroll(ctx, state.scroll, true, { markHasScrolled: false });
965+ }
966+ (_b = anchoredEndSpace == null ? void 0 : anchoredEndSpace.onReady) == null ? void 0 : _b.call(anchoredEndSpace, { anchorIndex: nextAnchorIndex, anchorKey: nextAnchorKey, size: nextSize });
967++ } else if (!isReady && didSizeChange && nextSize < (previousSize || 0)) {
968++ set$(ctx, "anchoredEndSpaceSize", nextSize);
969++ (_a3 = anchoredEndSpace == null ? void 0 : anchoredEndSpace.onSizeChanged) == null ? void 0 : _a3.call(anchoredEndSpace, nextSize);
970++ if (anchoredEndSpace == null ? void 0 : anchoredEndSpace.includeInEndInset) {
971++ updateScroll(ctx, state.scroll, true, { markHasScrolled: false });
972++ }
973+ }
974+ return nextSize;
975+ }
928976 diff --git a/reanimated.d.ts b/reanimated.d.ts
929977 index e5043320700b12f34f4c0babbc341f85ca8135c1..2ce63830a28636b21937a0741fd0e613dae950fe 100644
930978 --- a/reanimated.d.ts
pnpm-lock.yaml+5−5
@@ -84,7 +84,7 @@ patchedDependencies: · 83 unmodified lines
8484 '@effect/vitest@4.0.0-beta.103': a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b
8585 '@expo/metro-config@56.0.14': 8cb08b5bb7051ed9d2dbe46a2c293c5a1e17f1bd6ddf30de27909e18c921ff46
8686 '@ff-labs/fff-node@0.9.4': ab9ff544009e1891cfe3930105862d3699007f38922a79f3c98d90018deca368
87− '@legendapp/list@3.3.5': 6befc76c7f590a0b0915b531386ce7e3bbb364612868e1f04e4ac84f60a39ab5
87+ '@legendapp/list@3.3.5': 3362284f1fca70407e7c594cb8db04086bfebff5de10568f85c08661d405deee
8888 '@pierre/diffs@1.3.0-beta.10': 7ef7cb0cbabb17c15cdb137554068b36f15f6f5265e73fb51452aa3380db91aa
8989 '@react-native-menu/menu@2.0.0': c7f66d121c726ade4f5c4e1aed11a691e5711d244c544084e289ac26132a0045
9090 '@react-native/gradle-plugin@0.85.3': c1b594a16e682d621b6a960926f8ce13fc92edfb397884cfe7fcb0518996a784
@@ -224,7 +224,7 @@ importers: · 133 unmodified lines
224224 version: 56.0.18(3cdc0dde9f93166d952f1e1bd0cb25c0)
225225 '@legendapp/list':
226226 specifier: 'catalog:'
227− version: 3.3.5(patch_hash=6befc76c7f590a0b0915b531386ce7e3bbb364612868e1f04e4ac84f60a39ab5)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.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)
227+ version: 3.3.5(patch_hash=3362284f1fca70407e7c594cb8db04086bfebff5de10568f85c08661d405deee)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.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)
228228 '@noble/curves':
229229 specifier: 'catalog:'
230230 version: 1.9.1
@@ -553,7 +553,7 @@ importers: · 322 unmodified lines
553553 version: 0.9.0
554554 '@legendapp/list':
555555 specifier: 'catalog:'
556− version: 3.3.5(patch_hash=6befc76c7f590a0b0915b531386ce7e3bbb364612868e1f04e4ac84f60a39ab5)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
556+ version: 3.3.5(patch_hash=3362284f1fca70407e7c594cb8db04086bfebff5de10568f85c08661d405deee)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
557557 '@lexical/react':
558558 specifier: ^0.41.0
559559 version: 0.41.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(yjs@13.6.31)
@@ -12946,7 +12946,7 @@ snapshots: · 12386 unmodified lines
1294612946 dependencies:
1294712947 jsbi: 4.3.2
1294812948
12949− '@legendapp/list@3.3.5(patch_hash=6befc76c7f590a0b0915b531386ce7e3bbb364612868e1f04e4ac84f60a39ab5)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.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)':
12949+ '@legendapp/list@3.3.5(patch_hash=3362284f1fca70407e7c594cb8db04086bfebff5de10568f85c08661d405deee)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.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)':
1295012950 dependencies:
1295112951 react: 19.2.3
1295212952 use-sync-external-store: 1.6.0(react@19.2.3)
@@ -12954,7 +12954,7 @@ snapshots: · 1 unmodified line
1295412954 react-dom: 19.2.3(react@19.2.3)
1295512955 react-native: 0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.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)
1295612956
12957− '@legendapp/list@3.3.5(patch_hash=6befc76c7f590a0b0915b531386ce7e3bbb364612868e1f04e4ac84f60a39ab5)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
12957+ '@legendapp/list@3.3.5(patch_hash=3362284f1fca70407e7c594cb8db04086bfebff5de10568f85c08661d405deee)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
1295812958 dependencies:
1295912959 react: 19.2.6
1296012960 use-sync-external-store: 1.6.0(react@19.2.6)