`ScrollView` prop `autoScroll: detectEnd` race condition

Aberta
#659 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
48/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
react, typescript
Domínio
frontend

Direção de pesquisa

The issue points to the documentation’s Auto Scrolling section and the ScrollView autoScroll: detectEnd behavior; no source file or test is named. Start by finding that example and tracing the isScrolledAtEnd and isAutoScrollInProgress condition mentioned in the linked comment. Reproduce by adding text rapidly until auto scroll stops, then confirm the behavior remains reliable.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Originally reported in https://github.com/react-ui-org/react-ui/issues/501

Steps to reproduce:

  1. in the documentation go to the Auto Scrolling section
  2. select the option when end is detected
  3. click on the Add text button to the point where the element scrolls
  4. start clicking on Add text button as fast as you can several times
  5. after a while, auto scroll stops working

https://github.com/user-attachments/assets/346aef66-0d7f-4173-bba7-173a3469c7e4

Relevant comment: https://github.com/react-ui-org/react-ui/issues/501#issuecomment-3018784601

I think the issue lies in a race condition in the else if (!isScrolledAtEnd || isAutoScrollInProgress) condition, but I couldn't think of a satisfactory fix.

Linguagem predominante
TypeScript
Estrelas
23
Forks
10
Merge médio
5d 14h
PRs com merge (30d)
9

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

  • Sem Dockerfile nem arquivo Docker Compose
  • Sem modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de react-ui-org/react-ui

Todas as issues de react-ui-org/react-ui

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.