microsoft / microsoft/TypeScript
LSP server sends no per-file diagnostics to clients without pull diagnostics support
@andrewbranch arbeitet bereits daran.
Seit 20.8.2026.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 132
Beschreibung
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).
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Bewertung
Dieses Issue wurde noch nicht bewertet.