graphql
graphql copied to clipboard
RFC-028: Surface executed cypher
This is still WIP!
Show the executed cypher and its params for each query.
⚠️ No Changeset found
Latest commit: 245db05da99691bd21aca12014415f877fb55fe5
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
Idea for this feature The GraphQL Toolbox in its current shape is a great tool for first time users to explore the library features, explore queries, debugging, but once people have gained a better understanding and confidence in using the library they might not need the Toolbox anymore. By adding a way to surface the cypher translation of their GraphQL queries we can retain more users who might be interested in understanding why some queries are slow, and by giving them additional information we can create a user journey where a developer uses the Toolbox to debug a problem or a slow query, then they reach out to us on Discord by sending a link to the Toolbox. This was we can make the Toolbox part of the developer experience of Neo4j GraphQL community.
This looks great to me, thanks @tbwiss !
One addition I suggest is to show a one-time pop-up to users who login after we've implemented the feature and haven't previously login, so we can educate them on the new changes.
The pop-up can say something along the lines of:
"You can see the cypher executed by enabling this new feature in Settings"
@helenesanche Having a thought about this one-time pop-up. We can leverage Canny (which we already have in place), or more precisely the Canny changelog widget, for that. The integration of that changelog widget with the Toolbox should not be challenging and since we already use Canny we can leverage it for one more task. Bloom, Browser and Desktop use it too btw. The content of the changelog widget can be drafted, published and removed via the Canny UI and without having to change any code in the Toolbox. Needless to say it also helps for future "releases" and "feature notifications". What do you think? EDIT: if we plan to add this Canny changelog widget, it should not be done as part of this task/RFC but rather as a separate task.
Closing this as we need to re-think the approach here. The new approach will be handled in a new RFC