microsoft / microsoft/TypeScript

LSP server sends no per-file diagnostics to clients without pull diagnostics support

Aperta
#63,928 2 commenti 1 reazione 1 assegnatario Vedi su GitHub

@andrewbranch ci sta già lavorando.

Dal 20/8/2026.

Needs Investigation
Lingua principale
Go
Stelle
111k
Fork
14.3k
Merge medio
2g 4h
PR unite (30g)
132

Descrizione

Problem

The LSP server only serves per-file diagnostics through pull diagnostics (textDocument/diagnostic); push (textDocument/publishDiagnostics) is only used for config file errors. Clients that do not implement pull diagnostics never receive file diagnostics at all: no errors appear on open, change, or close.

Affected clients include eglot before Dec 2025, Nova, Claude Code, and other lighter LSP clients. Prior discussion in the typescript-go repo: microsoft/typescript-go#2362. Client-side tracking for Claude Code: anthropics/claude-code#40282.

Proposal

When a client advertises textDocument.publishDiagnostics but not textDocument.diagnostic, push per-file diagnostics for open files: publish on open, debounced republish on change, clear on close. Triggers that would send workspace/diagnostic/refresh (watched file changes, config changes, ATA updates) recompute server-side instead, since push-only clients cannot re-pull. Pull-capable clients are unaffected, and the existing disablePushDiagnostics initialization option also disables the new path.

Implemented in #63921 (carried over from microsoft/typescript-go#4297 after the repository move).

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.