Skip to content

Feature/replace playground with graphiql#71

Open
RVXD wants to merge 2 commits into
silverstripe:2from
RVXD:feature/replace-playground-with-graphiql
Open

Feature/replace playground with graphiql#71
RVXD wants to merge 2 commits into
silverstripe:2from
RVXD:feature/replace-playground-with-graphiql

Conversation

@RVXD

@RVXD RVXD commented Jun 16, 2026

Copy link
Copy Markdown

Summary

Replaces the archived GraphQL Playground with GraphiQL,
the actively maintained official IDE from the GraphQL Foundation.

Fixes #69 — info popups broken in Chrome 127+ due to removal of the deprecated
DOMNodeRemoved mutation event that Playground relied on.

Fixes #70 — Playground is archived and its bundled JS could not be updated.

What changed

  • src/Controller.php — removed GraphQLPlayground.init() and the
    Requirements::customScript() call; returns template variables for GraphiQL instead
  • templates/DevTools.ss — rewritten to initialise GraphiQL; multiple schemas
    are handled via a dropdown switcher above the editor
  • client/ — replaced bundle.js with locally bundled GraphiQL 3.9.0,
    React 18.3.1, and React DOM 18.3.1 (offline-capable, no build step required)
  • README.md — updated to reflect the migration and document how to upgrade
    the bundled files in future

Testing

Open /dev/graphql/ide and verify:

  • GraphiQL loads and renders the editor
  • Schema introspection completes (docs panel populates)
  • Queries execute correctly with the CSRF token
  • Multiple schemas show a dropdown switcher (if configured)
  • Info popups dismiss correctly in Chrome 127+

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

Labels

None yet

Projects

None yet

1 participant