TUI hangs on a blank screen when a worker RPC request fails (e.g. --port already in use)

Aberta Para iniciantes
#1,616 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@devin-ai-integration já está trabalhando nisso.

Desde 28/10/2026.

  • #1617 de @devin-ai-integration — aberto

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
64/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
typescript
Domínio
cli

Direção de pesquisa

Comece lendo packages/opencode/src/util/rpc.ts, com foco em Rpc.listen e Rpc.client; depois, acompanhe a solicitação client.call("server", network) mencionada na issue. Reproduza o travamento definindo --port como uma porta ocupada. O trabalho estará concluído quando a solicitação do worker que falhou retornar seu erro, a chamada pendente for rejeitada e a TUI exibir “Failed to start server” e encerrar.

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

Descrição

What happens

The TUI waits on RPC calls to its server worker before drawing (for example client.call("server", network) to start the --port listener). When the worker handler throws, Rpc.listen in packages/opencode/src/util/rpc.ts never posts a reply, and Rpc.client has no reject path, so the call never settles. Example: altimate-code --port 4096 with the port already taken leaves a blank terminal forever with no error.

Expected

A failed request is answered with the error message, the pending call rejects, and the TUI shows the existing "Failed to start server" error and exits.

Upstream

Fixed upstream in anomalyco/opencode#54936.

Written by Devin

Linguagem predominante
TypeScript
Estrelas
813
Forks
124
Merge médio
1d 19h
PRs com merge (30d)
68

Preparar o ambiente

Abrir no Codespaces

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

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 AltimateAI/altimate-code

Todas as issues de AltimateAI/altimate-code

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.