lilo icon indicating copy to clipboard operation
lilo copied to clipboard

Subscription Support

Open firatkucuk opened this issue 2 years ago • 12 comments

Supporting end to end graphql subscription.

firatkucuk avatar Jul 04 '23 10:07 firatkucuk

When will this be published?

rollinglaughter avatar Aug 02 '23 02:08 rollinglaughter

I am also looking for a stitching library that supports subscriptions, has any new progress been made on this front?

Survival1sm avatar Aug 18 '23 19:08 Survival1sm

Sorry people, This took so much time than I anticipated. I am still working on it. Please subscribe to the issue for further notifications.

firatkucuk avatar Aug 19 '23 13:08 firatkucuk

Good news, MVP is completed. I am working on polishing and some stability issues. I am expecting it will be released really soon.

firatkucuk avatar Aug 25 '23 06:08 firatkucuk

Good news, MVP is completed. I am working on polishing and some stability issues. I am expecting it will be released really soon.

Looking forward to this release, any updates on when you expect it may happen?

Survival1sm avatar Oct 30 '23 12:10 Survival1sm

@Survival1sm I have no excuses :see_no_evil: I was procrastinating. I have more time nowadays. I will work on it. PR is almost complete, I was working on a better API design and stability. It seems the configuration will be a little bit complex maybe I need to create a spring library for that one. Also, I want to hear from your tech stack. So I can come up with better solutions.

firatkucuk avatar Oct 31 '23 07:10 firatkucuk

@firatkucuk We are on spring cloud gateway with a mixture of rest/websocket and graphql/subscription microservices. Consul is used as our service discovery mechanism. I plan to replace graphql-orchestrator in favor of lilo in my project (https://github.com/Survival1sm/spring-cloud-gateway-graphql-lace), which leverages consul to automatically configure and expose the stitched endpoint for registered graphql services.

Survival1sm avatar Nov 01 '23 11:11 Survival1sm

Hello people, A long-awaited subscription feature has been added. 319 files changed. Subscription configuration is a little bit complex because of the framework-agnostic nature of Lilo. That's why I have created a new library lilo-spring to make it easy to use. If you want to use it on Quarkus or other web frameworks, we need to create libraries for them. Eventually, we will create but for now, the main focus is Spring.

Please try to use it. I won't close this issue until all questions related to this issue have been resolved.

firatkucuk avatar Nov 20 '23 12:11 firatkucuk

Could you explain the purpose of the websocketwrapper class? Can we not pass the native session directly?

rollinglaughter avatar Nov 29 '23 07:11 rollinglaughter

@rollinglaughter, WebSocketSessionWrapper class is basically a WebSocket Session but Lilo should be framework agnostic. That's why we need an adapter class or a wrapper for framework-specific sessions. If you're using spring I strongly suggest you use the new lilo-spring library. If you are using another framework I can work on an example of your framework.

firatkucuk avatar Nov 29 '23 07:11 firatkucuk

I am closing this issue since we haven't got any negative feedback so far. Feel free to open it again.

firatkucuk avatar Jul 26 '24 15:07 firatkucuk