Enable Subscription Resolver to return websocket error message #2506
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Solve issue #1118
Currently there is no way of returning an error to client, after subscription resolver returns channel.
This is inconvenient because some clients have build-in retry on error message, and that is not going to work with gqlgen servers.
Ideally the subscriotion resolver should return an error channel as well, but this is going to be a breaking change.
Instead we can propagate error with context similar to
graphql.AddError
. This way the change would have no impact to existing users, and users can choose to opt into this behavior.Tested on my local with resolver code: