Skip to content

Fix cached introspection query and graphql-explorer

Rodrigo Tomonari requested to merge rodrigo/fix-graphql-explorer into master

What does this MR do and why?

graphiql-rails GEM was upgraded in !135010 (merged), and now, when loading graphql-explorer, a different introspection query is submitted when loading the application.

The new introspection query has a complexity of 217 for authenticated users and 215 for non-authenticated users. And since the maximum allowed complexity for unauthenticated users is 200, the explorer fails with the error Query has complexity of 215, which exceeds max complexity of 200. For authenticated users, the explorer works as the maximum allowed complexity for them is 250.

So, this change updates the cached introspection query with the same one submitted by graphql-explorer when the user is authenticated and updates the GraphQL controller and schema to allow a more complex introspection query.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After

How to set up and validate locally

Access http://gdk.test:3000/-/graphql-explorer without a signed-in user.

Test if graphql-explorer is working by making a GraphQL request

Edited by Rodrigo Tomonari

Merge request reports