microsoft / microsoft/TypeScript

Preserve more context in cross-project stack traces

Open
#63,820 0 comments 1 reaction 2 assignees Claimed by @DanielRosenwasser View on GitHub
Possible Improvement
Dominant language
Go
Stars
111k
Forks
14.3k
PR merge metrics
PR metrics pending

Description

Today, if a `codeLens/resolve` request fails, we end up with a stack trace like

```
internal/ls.handleCrossProject[...]()
internal/ls/crossproject.go:210
internal/ls.(*LanguageService).ProvideReferences()
internal/ls/findallreferences.go:659
internal/ls.(*LanguageService).ResolveCodeLens()
internal/ls/codelens.go:65
internal/lsp.(*Server).handleCodeLensResolve()
internal/lsp/server.go:1590
internal/lsp.init.func1.registerRequestHandler[...].43()
internal/lsp/server.go:787
internal/lsp.(*Server).handleRequestOrNotification()
internal/lsp/server.go:648
internal/lsp.(*Server).dispatchLoop()
internal/lsp/server.go:527
```

`handleCrossProject` swallows up the rest of the context so we don't know the actual problem. We need a way to preserve the "real" stack.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.