Module version(s) affected
2.0.0 (latest)
Description
Description
The GraphQL Playground IDE used by this module relies on the DOMNodeRemoved mutation event to detect when elements are removed from the DOM and dismiss info/tooltip popups. This mutation event was deprecated and stopped firing entirely in Chrome 127+ (released August 2024).
As a result, any info popups or tooltips shown in the IDE (e.g. the "Loading" or schema-related overlays from GraphQL Playground) are never removed — they remain stuck on screen permanently.
Root cause
DOMNodeRemoved is a legacy DOM Mutation Event that was deprecated in favour of MutationObserver. Chrome 127 removed support for it, so any code in GraphQL Playground's bundle that listens for DOMNodeRemoved to trigger cleanup no longer fires.
This is a known upstream issue with the bundled GraphQL Playground library, which is itself archived and no longer maintained.
Steps to reproduce
- Open
/dev/graphql/ide in Chrome 127 or later
-
- Observe any loading/info popup that appears on load
-
- The popup is never dismissed
Suggested fix
Upgrade from the archived GraphQL Playground to the modern GraphiQL standalone CDN bundle, which actively maintains compatibility with current browsers. This would also resolve the broader issue noted in #17.
How to reproduce
Reproduction steps
- Install this module (
composer require --dev silverstripe/graphql-devtools)
-
- Open
/dev/graphql/ide in Chrome 127 or later
-
- Observe any info popup / loading overlay that appears
-
- The popup is never dismissed and remains stuck on screen permanently
Notes
This does not reproduce in older Chrome versions or Firefox, confirming the root cause is the removal of DOMNodeRemoved mutation events in Chrome 127.
Possible Solution
No response
Additional Context
No response
Validations
Module version(s) affected
2.0.0 (latest)
Description
Description
The GraphQL Playground IDE used by this module relies on the
DOMNodeRemovedmutation event to detect when elements are removed from the DOM and dismiss info/tooltip popups. This mutation event was deprecated and stopped firing entirely in Chrome 127+ (released August 2024).As a result, any info popups or tooltips shown in the IDE (e.g. the "Loading" or schema-related overlays from GraphQL Playground) are never removed — they remain stuck on screen permanently.
Root cause
DOMNodeRemovedis a legacy DOM Mutation Event that was deprecated in favour ofMutationObserver. Chrome 127 removed support for it, so any code in GraphQL Playground's bundle that listens forDOMNodeRemovedto trigger cleanup no longer fires.This is a known upstream issue with the bundled GraphQL Playground library, which is itself archived and no longer maintained.
Steps to reproduce
/dev/graphql/idein Chrome 127 or laterSuggested fix
Upgrade from the archived GraphQL Playground to the modern GraphiQL standalone CDN bundle, which actively maintains compatibility with current browsers. This would also resolve the broader issue noted in #17.
How to reproduce
Reproduction steps
composer require --dev silverstripe/graphql-devtools)/dev/graphql/idein Chrome 127 or laterNotes
This does not reproduce in older Chrome versions or Firefox, confirming the root cause is the removal of
DOMNodeRemovedmutation events in Chrome 127.Possible Solution
No response
Additional Context
No response
Validations
silverstripe/installer(with any code examples you've provided)