`/enroll`: a stale approval's completion clears a newer link's code
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 86/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- typescript
- Domínio
- frontend
Direção de pesquisa
Comece em hosted/src/App.tsx lendo approve, clearEnrollment e o handler de hashchange takeLink; em seguida, reproduza a sequência de aprovação e segundo link descrita na issue. Adicione o teste de App mencionado na issue, execute os testes relevantes de App e verifique se resolver a aprovação A mantém o código de enrollment B exibido enquanto relata a aprovação de A.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Code: approve and clearEnrollment in hosted/src/App.tsx; the hashchange handler takeLink in the same file.
Failure path: the user clicks Approve for code A, and approveEnrollment(A) is in flight. A second enrollment link opens in the same tab, and hashchange sets enrolling to code B. A's request resolves, and approve calls clearEnrollment(), which sets enrolling to null and replaces the URL. Code B is gone from memory and from the URL, and the notice reads "Approved A". The user has to open link B again. hosted.md -> "Burrow enrollment" says "A fragment change on /enroll takes the new code without reloading". Here a completion that is already in flight undoes that take.
Suggested fix: in approve, clear only if the enrollment still being shown is the one approved (if (enrollingRef.current?.code === code) clearEnrollment()). Otherwise leave B in place and show the A notice. Add an App test: start an approval, fire a hashchange to a new code, resolve the approval, then assert that the new code is still shown.
Found while trimming #904, which had parked this as a spec "Known gap".
🤖 Generated with Claude Code
- Linguagem predominante
- TypeScript
- Estrelas
- 5
- Forks
- 1
- Merge médio
- 11h 45min
- PRs com merge (30d)
- 478
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de diffplug/dormouse
-
Dificuldade 3/5 Meio dia Facilidade para iniciantes 25/100
diffplug/dormouse#1393 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 1/100
diffplug/dormouse#1383 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
diffplug/dormouse#1373 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 1-2 dias Facilidade para iniciantes 25/100
diffplug/dormouse#1235 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 1-2 dias Facilidade para iniciantes 48/100
diffplug/dormouse#1234 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de diffplug/dormouse
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
vekexasia/pi-extensible-workflows#374 ·
Mantenedores costumam responder em até 2 dias
-
documentation good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
Mantenedores costumam responder em até 1 dia
-
help wanted linux
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
GiuseppeBellamacina/downtime#19 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
scaleway/ultraviolet#7089 ·
Mantenedores costumam responder em até 2 dias
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Get-Concord-AI/concord-mcp#296 ·
Mantenedores costumam responder em até 1 dia