mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-02 03:17:40 +01:00
[PR #233] [CLOSED] Fix infinite recursion in GraphQL docs explorer when handling circular type references #158
Closed
opened 2025-12-29 07:19:35 +01:00 by adam
·
0 comments
No Branch/Tag Specified
main
pr-413
codex/cli-dev-plugin-dir-root
cli-improvements-2
mcp-client-plan
actions-system
omnara/premium-deviator
omnara/repose-aversion
copilot/create-beta-tag-for-main
yaak-cli-0.5.0
v2026.3.0-beta.9
v2026.3.0-beta.8
v2026.3.0-beta.7
v2026.3.0-beta.6
yaak-cli-0.4.0
yaak-cli-0.4.0-beta.10
yaak-cli-0.4.0-beta.9
yaak-cli-0.4.0-beta.8
yaak-cli-0.4.0-beta.7
yaak-cli-0.4.0-beta.6
yaak-cli-0.4.0-beta.4
yaak-cli-0.4.0-beta.5
yaak-cli-0.4.0-beta.3
yaak-api-0.8.3
yaak-api-0.8.1
yaak-api-0.8.2
yaak-cli-0.4.0-beta.2
yaak-cli-0.4.0-beta.1
v2026.3.0-beta.5
v2026.2.4
v2026.3.0-beta.4
v2026.2.3
v2026.3.0-beta.3
v2026.2.2
v2026.3.0-beta.2
v2026.2.1
v2026.2.1-beta.1
v2026.2.0
v2026.2.0-beta.12
v2026.2.0-beta.11
v2026.2.0-beta.10
v2026.2.0-beta.9
v2026.2.0-beta.8
v2026.2.0-beta.7
v2026.2.0-beta.6
v2026.2.0-beta.5
v2026.2.0-beta.4
v2026.2.0-beta.3
v2026.2.0-beta.2
v2026.1.2
v2026.2.0-beta.1
v2026.1.1
v2026.1.0
v2025.10.0-beta.15
v2025.10.0-beta.14
v2025.10.0-beta.13
v2025.10.0-beta.12
v2025.10.0-beta.11
v2025.10.0-beta.10
v2025.10.0-beta.9
v2025.10.0-beta.8
v2025.10.0-beta.7
v2025.10.0-beta.6
v2025.10.0-beta.5
v2025.10.0-beta.4
v2025.10.0-beta.3
v2025.9.3
v2025.10.0-beta.2
v2025.10.0-beta.1
v2025.9.2
v2025.9.2-beta.2
v2025.9.2-beta.1
v2025.9.1
v2025.9.0
v2025.9.0-beta.10
v2025.9.0-beta.9
v2025.9.0-beta.8
v2025.9.0-beta.7
v2025.9.0-beta.6
v2025.9.0-beta.5
v2025.9.0-beta.4
v2025.9.0-beta.3
v2025.9.0-beta.2
v2025.8.2
v2025.9.0-beta.1
v2025.8.1
v2025.8.0
v2025.8.0-beta.1
v2025.7.3
v2025.7.2
v2025.7.1
v2025.7.0
v2025.7.0-beta.5
v2025.7.0-beta.4
v2025.7.0-beta.3
v2025.7.0-beta.2
v2025.7.0-beta.1
v2025.6.1
v2025.6.0
v2025.6.0-beta.10
v2025.6.0-beta.9
v2025.6.0-beta.8
v2025.6.0-beta.7
v2025.6.0-beta.6
v2025.6.0-beta.5
v2025.6.0-beta.4
v2025.6.0-beta.3
v2025.6.0-beta.2
v2025.6.0-beta.1
v2025.5.6
v2025.5.5
v2025.5.4
v2025.5.3
v2025.5.2
v2025.5.1
v2025.5.0
v2025.5.0-beta.9
v2025.5.0-beta.8
v2025.5.0-beta.7
v2025.5.0-beta.6
v2025.5.0-beta.5
v2025.5.0-beta.4
v2025.5.0-beta.3
v2025.5.0-beta.2
v2025.5.0-beta.1
v2025.4.0
v2025.4.0-beta.5
v2025.4.0-beta.4
v2025.4.0-beta.3
v2025.4.0-beta.2
v2025.4.0-beta.1
v2025.3.1
v2025.3.0
v2025.3.0-beta.4
v2025.3.0-beta.3
v2025.2.3
v2025.3.0-beta.2
v2025.3.0-beta.1
v2025.2.2
v2025.2.1
v2025.2.0
v2025.2.0-beta.16
v2025.2.0-beta.15
v2025.2.0-beta.14
v2025.2.0-beta.13
v2025.2.0-beta.12
v2025.2.0-beta.11
v2025.2.0-beta.10
v2025.2.0-beta.9
v2025.2.0-beta.8
v2025.2.0-beta.7
v2025.2.0-beta.6
v2025.2.0-beta.5
v2025.2.0-beta.4
v2025.2.0-beta.3
v2025.2.0-beta.2
v2025.2.0-beta.1
v2025.1.2
v2025.1.1
v2025.1.0
v2025.1.0-rc.1
v2025.1.0-beta.15
v2025.1.0-beta.14
v2025.1.0-beta.13
v2025.1.0-beta.11
v2025.1.0-beta.10
v2025.1.0-beta.9
v2025.1.0-beta.8
v2025.1.0-beta.7
v2025.1.0-beta.6
v2025.1.0-beta.5
v2025.1.0-beta.4
v2025.1.0-beta.3
v2025.1.0-beta.2
v2025.1.0-beta.1
v2024.13.0
v2024.12.1
v2024.13.0-beta.1
v2024.12.0
v2024.12.0-beta.6
v2024.12.0-beta.5
v2024.12.0-beta.4
v2024.12.0-beta.3
v2024.12.0-beta.2
v2024.12.0-beta.1
v2024.11.5
v2024.11.4
v2024.11.3
v2024.11.2
v2024.11.1
v2024.11.0
v2024.11.0-beta.9
v2024.11.0-beta.8
v2024.11.0-beta.7
v2024.11.0-beta.6
v2024.11.0-beta.5
v2024.11.0-beta.4
v2024.11.0-beta.3
v2024.11.0-beta.2
v2024.11.0-beta.1
v2024.10.1
v2024.10.0
v2024.10.0-beta.6
v2024.10.0-beta.5
v2024.10.0-beta.4
v2024.10.0-beta.3
v2024.9.1
v2024.10.0-beta.2
v2024.9.0
v2024.10.0-beta.1
v2024.9.0-beta.3
v2024.9.0-beta.2
v2024.9.0-beta.1
v2024.8.2
v2024.8.1
v2024.8.0
v2024.8.0-beta.5
v2024.8.0-beta.4
v2024.8.0-beta.3
v2024.8.0-beta.2
v2024.8.0-beta.1
v2024.7.0
v2024.7.0-beta.11
v2024.7.0-beta.10
v2024.7.0-beta.9
v2024.7.0-beta.8
v2024.7.0-beta.7
v2024.7.0-beta.6
v2024.7.0-beta.5
v2024.7.0-beta.4
v2024.7.0-beta.3
v2024.7.0-beta.2
v2024.7.0-beta.1
v2024.6.6
v2024.6.5
v2024.6.4
v2024.6.3
v2024.6.2
v2024.6.1
v2024.6.0
v2024.6.0-beta.1
v2024.5.2
v2024.5.1
v2024.5.1-beta.1
v2024.5.0
v2024.5.0-beta.1
v2024.4.2
v2024.4.1
v2024.4.0
v2024.4.0-beta.3
v2024.4.0-beta.2
v2024.4.0-beta.1
v2024.3.10
v2024.3.9
v2024.3.8
v2024.3.7
v2024.3.6
v2024.3.5
v2024.3.4
v2024.3.3
v2024.3.2
v2024.3.1
v2024.3.0
v2024.3.0-beta.2
v2024.3.0-beta.1
v2024.2.0
v2024.1.0
v2024.0.1
v2024.0.1-beta.2
v2024.0.1-beta.1
v2024.0.0
v2023.4.0-beta.4
v2023.4.0-beta.3
v2023.4.0-beta.2
v2023.4.0-beta.1
v2023.3.0
v2023.3.0-beta.2
v2023.3.0-beta.1
v2023.2.0
v2023.1.7
v2023.0.20
v2023.0.19
v2023.0.18
v2023.0.17
v2023.0.16
v2023.0.15
v2023.0.14
v2023.0.12
v2023.0.11
v2023.0.10
v2023.0.9
v2023.0.8
v2023.0.7
v2023.0.6
v2023.0.5
v2023.0.4
v2023.0.3
v2022.0.1
v2023.0.1
v2023.0.0
v0.0.2
v0.0.1
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/yaak#158
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/mountain-loop/yaak/pull/233
Author: @jonasnobile
Created: 7/7/2025
Status: ❌ Closed
Base:
master← Head:fix/infinite-recursion-in-docs-explorer📝 Commits (1)
8b7d74cfix: infinite recursion in type graph traversal📊 Changes
1 file changed (+11 additions, -1 deletions)
View changed files
📝
src-web/components/GraphQLDocsExplorer.tsx(+11 -1)📄 Description
Problem
The GraphQL docs explorer was throwing "Maximum call stack size exceeded" errors due to infinite recursion when processing GraphQL schemas with circular type references.
Root Cause
The
getFieldsIndicesandgetTypeIndicesfunctions were calling each other recursively without checking for already-processed types:getFieldsIndicesprocesses fields and callsgetTypeIndicesfor each field's typegetTypeIndicesprocesses types and callsgetFieldsIndicesfor the type's fieldsSolution
Added a visited set to track which types have been processed:
visitedTypes: Set<string>toIndexGenerationContext🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.