Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

A pending document-link confirmation holds every Tool launch in the renderer

Aberta
#1,234 1 comentário 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
1-2 dias
Facilidade para iniciantes
48/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
typescript

Direção de pesquisa

Start with lib/src/components/wall/use-dor-control.ts, especially queueToolSpawn, launch(), and the confirmDocumentLinkOpen call. Trace how the queue and sourceChanged() interact when a confirmation stays open, then add a regression test through use-dor-control showing that another pane's Tool request can proceed. The issue is resolved when the test passes and a pending confirmation no longer blocks other launches.

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

Descrição

While the document-link confirmation added in #1201 is open, every other Tool request in that renderer waits for it. That includes dor tool and dor open from agents in other panes, OSC 367 previews, and approval completions.

Why it happens. queueToolSpawn is a module-level serial queue shared by every Wall in the renderer, and the whole launch() runs inside it. launch() now awaits confirmDocumentLinkOpen, which resolves only when the user answers, a later link replaces the request, or the request aborts. No timeout applies. The other awaits inside the queue (interruptToPrompt, typeToolCommand) are bounded by grace periods or timeouts. This one is bounded only by the user.

To trigger it. In a builtin:file Markdown Tool, click a relative link to an .html or .svg file and leave the dialog open. A dor tool … or dor open … from another pane in the same window then waits until the dialog is answered.

A possible fix. Run the handler lookup and the confirmation before taking the queue. Then, inside it, re-check sourceChanged(), which already runs after the confirmation today. The source's toolNavigating marker is set before the queue is taken, so that re-check still notices a source that moved on while the dialog was open. I haven't built this. The sandbox this nightly sweep ran in couldn't install dependencies, so I had no way to write the regression test through use-dor-control. That is why this is an issue rather than a PR.

@nedtwigg: do you want the confirmation moved outside the queue, or is holding other launches while it is open acceptable?

Linguagem predominante
TypeScript
Estrelas
5
Forks
1
Merge médio
10h 51min
PRs com merge (30d)
507

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

  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 diffplug/dormouse

Todas as issues de diffplug/dormouse

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.