grpc / grpc/grpc-node

[@grpc/grpc-reflection] lost dependency info

Open
#3,034 0 comments 2 reactions 0 assignees View on GitHub
package: @grpc/reflection
Dominant language
TypeScript
Stars
4.8k
Forks
716
Avg merge
2d 3h
Merged PRs (30d)
10

Description

## Problem description
The current implementation of reflection lacks necessary information, causing debugging tools to not work properly.

## reproduce steps
1. simple grpc-js server, e.g. https://github.com/parrotkesha/grpc-bug-yaak
2. use [grpcurl](https://github.com/fullstorydev/grpcurl) to debug server

```
$grpcurl -plaintext localhost:8888 describe integration.JobService
Failed to resolve symbol "integration.JobService": proto: message field "integration.JobResponse.data" cannot resolve type: "*.google.protobuf.Struct" not found
```

## Environment
- OS name, version and architecture: Linux archlinux 6.17.9-arch1-1 x86_64 GNU/Linux
- Node version : v25.2.1
- Node installation method : system package manager pacman
- If applicable, compiler version [e.g. clang 3.8.0-2ubuntu4]
- Package name and version
```
"@grpc/grpc-js": "^1.14.3",
"@grpc/proto-loader": "^0.8.0",
"@grpc/reflection": "^1.0.4",
```

## reason
Debugging tools need to obtain dependencies between [FileDescriptorResponse](https://github.com/grpc/grpc-proto/blob/ec99424f3b7dae9db194f848b4cea52ecfae07af/grpc/reflection/v1/reflection.proto#L110) through the reflection interface to resolve symbols.

## reference
1. [GRPC Server Reflection Protocol](https://github.com/grpc/grpc/blob/master/doc/server-reflection.md)
2. [google/protobuf/descriptor.proto](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto)

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.