Skip to content

Conversation

@mjheilmann
Copy link
Collaborator

@mjheilmann mjheilmann commented Nov 29, 2025

This is an attempt to resolve the circular recursion case, in this PR:

  1. Rework the state to store the descriptor once, so symbols reference a filename instead of holding a duplicate descriptor
  2. Some state simplification, making some operations stricter
  3. Add a function that shrinks the state by combining descriptors by package

The circular recursion fix in this PR is to blindly group descriptors by grpc package.

Pros:

  • is a solution
  • we do not need to detect circular relations of arbitrary length

Cons:

  • we group everything, including externals. It misrepresents those a bit, but we have the same mapping problem as internal types
  • we return descriptor responses for full packages, even if a user is only asking for a simple type. Fewer responses, but they could be larger than is optimal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants