| โฆ | โฆ | @@ -0,0 +1,80 @@ | |
| 11 | + | +// anchored the top row, so the feed visibly jumps twice. | |
| 12 | + | +function shouldHoldEndOnSizeChange(ctx, dataChanged) { | |
| 13 | + | + const state = ctx.state; | |
| 14 | + | + return !dataChanged && !!state.props.maintainScrollAtEnd && !!state.didFinishInitialScroll && !state.endFollowInterrupted && !state.visibleContentAnchor && state.scrollingTo === void 0 && !state.isDragging && state.userScrollContentSize === void 0 && !!peek$(ctx, "isFollowingEnd"); | |
๐ก Medium patches/@legendapp__list@3.7.2.patch:14
When an existing final work-log row expands with maintainScrollAtEnd: { animated: false, on: { dataAppend: true } }, this predicate still replaces default MVCP with an adjustment to the new end, scrolling the list instead of preserving the visible position. The config object is truthy even though onItemLayout is normalized to false; check whether the trigger for adjustmentSource is enabled before holding the end, in both native builds.
๐ Reply "fix it for me" or copy this AI Prompt for your agent:
| 1 | In file @patches/@legendapp__list@3.7.2.patch around line 14: |
| 2 | |
| 3 | When an existing final work-log row expands with `maintainScrollAtEnd: { animated: false, on: { dataAppend: true } }`, this predicate still replaces default MVCP with an adjustment to the new end, scrolling the list instead of preserving the visible position. The config object is truthy even though `onItemLayout` is normalized to `false`; check whether the trigger for `adjustmentSource` is enabled before holding the end, in both native builds. |