Closed sudeepjd closed 1 week ago
Latest commit: 0dc7c76efc780ea55ffac6f345ec78bcf9949b93
The changes in this PR will be included in the next version bump.
Not sure what this means? Click here to learn what changesets are.
Click here if you're a maintainer who wants to add another changeset to this PR
Looks like there is a build issue with respect to the pnpm-lock.yaml file on the new example data-provider-graphql that I have added in. But in the repo there is no pnpm-lock.yaml file. I have the following 2 options
Please let me know how to proceed on this.
Thanks.
Closing this pull request.. Will open individual ones for the update of @refinedev/graphql and the data-provider-graqhql example separately, so that already the bug fix on the errors goes through.
Looks like there is a build issue with respect to the pnpm-lock.yaml file on the new example data-provider-graphql that I have added in. But in the repo there is no pnpm-lock.yaml file. I have the following 2 options
- If someone can help me how to solve this issue, it would be good.
- I can separate out the @refinedev/graphql changes as well as the new example/data-provider-graphql into a separate PRs so atleast the fix to the Error issue that this resolves will go through and the new example/data-provider-graphql example can be figured out separately.
Please let me know how to proceed on this.
Thanks.
@sudeepjd your example is actually correct. You just need to run pnpm install
in the root directory. Since this is a monorepo, we only have lockfile in the root. Once you run it, it will add your example and their dependencies to the pnpm-lock.yaml
in the root folder.
PR Checklist
Please check if your PR fulfills the following requirements:
Bugs / Features
What is the current behavior?
Refine's GraphQL package is loosely based on nestjs-query. However, uses urql under the hood. urql uses 2 different types of error handling mechanisms, an errorExchange in exchanges or response.error on the result. The way refine is built using Tanstack query it is expecting an exception new Error to be thrown in order to be caught and treated as an error. But urql does not do this out of the box, and so refine always treats any error as a success, which impact the notifications provider.
What is the new behavior?
Once the error is received by client from the query or mutation, it passes the response.error to an error handler function that parses the error and throws it as Tanstack Query is expecting so that it is treated as an error and not as a success.
fixes (#6493): [BUG] @refinedev/graphql Error Handling does not work as it should
Notes for reviewers