Shopify / Shopify/flash-list

Blank items after setting scroll position with a `scrollTo...` method during a fling scroll (regression in v2)

Open
#1,784 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug P1 v2.0
Dominant language
TypeScript
Stars
7.2k
Forks
393
Avg merge
1d 3h
Merged PRs (30d)
1

Description

Current behavior

When the scroll position is reset to the start while a fling scroll is animating (i.e. after lifting your finger), some or all of the first items don't render and leave a blank space instead. The missing items will render when you start scrolling again. This is new in the v2 version and is not happening with v1.

https://github.com/user-attachments/assets/e2a6f56d-8c44-46d8-a542-2c43a7e9ec86

Expected behavior

The scroll position should reset to 0 and the first items should be rendered.

To Reproduce

Use this project: FlashlistTestProject.zip

  • Run on Android (npm install && npm run android)
  • Select "Scroller test"
  • Do a fling scroll
  • While the scroll is still animating, press the "Jump to bottom" button

Platform:

  • iOS (not tested)
  • Android

Environment

FlashList 2.0 RC
React Native 0.80.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the attached FlashlistTestProject.zip and run it on Android using the listed npm commands. Reproduce the fling followed by “Jump to bottom” in the “Scroller test,” then compare the v2 behavior with v1. Done means resetting to position 0 renders the first items without blank space while the fling is still animating.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, react-native, typescript
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.