Swydo / blaze-apollo

Blaze integration for the Apollo Client
MIT License
54 stars 6 forks source link

Does this work with graphql subscriptions? #3

Closed elie222 closed 7 years ago

elie222 commented 7 years ago

Does this do everything the latest version of Apollo does just with Blaze?

So would this package work with it? https://www.npmjs.com/package/graphql-subscriptions

jamiter commented 7 years ago

Hi! Well it doesn't have any mapping to ApolloClient.subscribe yet, so that needs to be added. In the context of Blaze you would expect an automatic unsubscribe when a Template is removed from the DOM.

Something like:

// In template
this.gqlSubscribe({
  query: SUBSCRIPTION_QUERY,
  variables: {},
}).subscribe({
    next(data) {},
    error(err) { console.error(err); }
});

The .subscribe part could also be done automatically and it could return a reactive var to listen to. The big difference between Meteor subscribe and GraphQL subscribe is that is that the last one doesn't automatically update any store, does it? So you would always need to manually put the update data somewhere... So that would also mean a manual .subscribe call, right?

So short answer: This package doesn't prevent you from using the mentioned package, but at the moment it won't add any features to Blaze either.

jamiter commented 7 years ago

@elie222, I just pushed an update that should make subscriptions possible! Let me know if you run into any issues.

The cool thing is that using gqlSubscribe will automatically unsubscribe when a template is removed.

elie222 commented 7 years ago

Awesome! Thanks!