dgs-framework icon indicating copy to clipboard operation
dgs-framework copied to clipboard

feature: Add support for graphql-ws websocket protocol

Open michaelboyles opened this issue 4 years ago • 4 comments

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.

michaelboyles avatar Mar 13 '22 22:03 michaelboyles

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

srinivasankavitha avatar Mar 13 '22 23:03 srinivasankavitha

That's great. Feel free this issue as a dupe if it makes sense to do so, in that case.

michaelboyles avatar Mar 13 '22 23:03 michaelboyles

@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.

brandonbyskov avatar Jun 23 '22 18:06 brandonbyskov

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.

srinivasankavitha avatar Jun 23 '22 23:06 srinivasankavitha

This feature is now merged. We will be releasing early this week.: https://github.com/Netflix/dgs-framework/pull/1200

srinivasankavitha avatar Aug 29 '22 17:08 srinivasankavitha