-
Notifications
You must be signed in to change notification settings - Fork 351
Description
Is your feature request related to a problem? Please describe.
The current live query implementation relies on a list of mutations to trigger an update to a live query subscriber. While this is the most efficient way to handle live queries, it makes it very difficult in complex systems to know and track all possible mutations that should trigger a refresh. Furthermore, GraphQL Mesh does not have any visibility into updates happening within first or third party services or external APIs that have been introspected which technically should trigger an update to the subscriber client UX.
Describe the solution you'd like
The request is to add a polling interval based refresh to the live query to update the subscribers. This could work in conjunction with the existing mutation based invalidation, meaning both could be enabled and either mechanism could trigger an update for the subscribers and would be backwards compatible.
As an optimization, we could consider caching the previous result of the live query using the cache feature, run the query per the polling interval and only if the result differs from the previously cached result then we update the cache and push the new payload to the subscribers. This way we can get the benefits and simplicity of polling based refresh while making sure updates are only be sent to the subscribers when there is a change.
Describe alternatives you've considered
Client side polling - very poor performance at scale
Additional context
This request is based on the Google Meet conversation with @Urigo in August 2025.