feature: Add support for graphql-ws websocket protocol
Describe the Feature Request
As per #13, the currently supported websocket protocol of DGS is subscriptions-transport-ws. Apollo is phasing this out since it's no longer maintained, in favour of graphql-ws.
They've shipped a new "Link" implementation in the latest version of their client, 3.5.10, to support graphql-ws and it seems like all their documentation has been updated to recommend this as the preferred approach going forward (and, in fact, some of the documentation doesn't even note that there is any alternative).
Describe Preferred Solution
To replace the protocol completely would be backwards incompatible, so some configuration to switch between these two protocols would probably be best, defaulting to the current subscriptions-transport-ws.
Describe Alternatives
Continue using subscriptions-transport-ws and accept that it's no longer maintained.
Thanks for bringing this up. We actually do have an open PR for adding this implementation. We hadn't merged it yet due to lack of proper clients to test with. Now that apollo-client has built in the support, we should be able to unblock this effort. https://github.com/Netflix/dgs-framework/pull/686
That's great. Feel free this issue as a dupe if it makes sense to do so, in that case.
@srinivasankavitha Is there any update or info you can provide on this effort?
My team likes the DGS framework, but this feature is a blocker for us in choosing a framework.
I'm looking for any info you can provide about timeline, priority, blockers, remaining work, or anything we could help with.
Hi @brandonbyskov - thanks for your patience. We haven't been able to get to this due to conflicting internal priorities (we don't use this implementation internally). We will try to get to this in the next few weeks. I'll keep you posted on the testing/validation efforts since we want to ensure that it is backwards compatible.
This feature is now merged. We will be releasing early this week.: https://github.com/Netflix/dgs-framework/pull/1200