Skip to content

schema: stop recursive references from overflowing - #968

Open
aktanazat wants to merge 1 commit into
googleworkspace:mainfrom
aktanazat:fix/recursive-schema-refs
Open

aktanazat wants to merge 1 commit into
googleworkspace:mainfrom
aktanazat:fix/recursive-schema-refs

Conversation

@aktanazat

Copy link
Copy Markdown

schema --resolve-refs could overflow the stack on a recursive discovery schema. gmail's public MessagePart.parts schema is one example.

the resolver dropped the active reference before walking the merged fields again. it now walks them once while the reference is active. cyclic references remain visible, and non-cyclic fields still expand.

the public gmail schema resolves without mailbox access. cargo test --locked passed (787 tests), and cargo fmt --all -- --check passed. cargo clippy --locked -- -D warnings reports two warnings in unchanged files; the same command fails on the unmodified base. no checks were disabled.

  • no generated google api crates changed.
  • formatting and regression tests passed.
  • patch changeset included.
  • clippy is clean; the two unchanged warnings still need an upstream fix.

Assisted-by: GPT-6 Sol
Assisted-by: GPT-6.1 Sol
@changeset-bot

changeset-bot Bot commented Oct 29, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: a1f8353

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@googleworkspace/cli Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@googleworkspace-bot googleworkspace-bot added the area: core Core CLI parsing, commands, error handling, utilities label Oct 29, 2026
@google-cla

google-cla Bot commented Oct 29, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@aktanazat

Copy link
Copy Markdown
Author

@googlebot rescan

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

Labels

area: core Core CLI parsing, commands, error handling, utilities

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants