gracefulKill is a no-op on Windows: node-pty kill(signal) throws and is swallowed
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 62/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- typescript, vscode
- Domínio
- cli
Direção de pesquisa
Start in standalone/sidecar/pty-core.js at pty:gracefulKill, then trace the VS Code deactivate path that calls gracefulKill. Reproduce the Windows behavior with a fake node-pty whose kill(signal) throws, and add coverage for both affected hosts. Done means Windows shutdown sends a graceful stop, avoids swallowing the failure, and does not wait the full two-second timeout before exit.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Found during review of #983 (standalone/sidecar/pty-core.js gracefulKill).
On Windows, node-pty's kill(signal) throws for a signal argument. gracefulKill wraps it in a try/catch that swallows the error, so no PTY receives a graceful stop. The function then polls for the full timeout (2 s) before the hard kill. Both hosts are affected: standalone (pty:gracefulKill) and VS Code (gracefulKill on deactivate).
Effect: on Windows, quit and deactivate always wait out the grace period, and shells never get a chance to flush or save history.
Likely fix: on Windows, use the ConPTY close path or send Ctrl+C / Ctrl+Break through the console instead of kill(signal). Then shorten the wait to the actual exit. A test with a fake node-pty whose kill(signal) throws should go red on main.
🤖 Generated with Claude Code
- Linguagem predominante
- TypeScript
- Estrelas
- 5
- Forks
- 1
- Merge médio
- 11h 31min
- PRs com merge (30d)
- 362
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 2/5 1-3 horas Facilidade para iniciantes 86/100
diffplug/dormouse#912 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 38/100
diffplug/dormouse#1007 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
diffplug/dormouse#968 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 42/100
diffplug/dormouse#910 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
review-runs-tracking
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 10/100
diffplug/dormouse#881 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de diffplug/dormouse
Issues semelhantes
-
Link Checker ReportAbertaautomated issue report
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
databendlabs/databend-docs#3511 ·
-
area/dashboard kind/bug QA/dev-automation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
rancher/dashboard#19379 · 2 comentários ·
Mantenedores costumam responder em até 5 dias
-
perf(core): getComments() runs the approved count and the comment list as two sequential queriesAbertaarea/core bot:bug bot:working
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
emdash-cms/emdash#3905 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
lingdojo/kana-dojo#31728 · 1 comentário · 5 reações ·
Mantenedores costumam responder em até 1 dia
-
selective-claw: freshTailTurns=0 keeps ALL turns verbatim and summarizes none (slice(-0) === slice(0))Talvez já em andamento @zjncs assumiu hoje. Abertacomponent:tokenless
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 80/100
agentic-os-org/ANOLISA#6112 · 1 comentário ·
Mantenedores costumam responder em até 1 dia