Does RedwoodJS v1 support GraphQL Subscriptions or Live Queries?

Not yet - but RedwoodJS is well positioned for it thanks to using GraphQL Yoga 2.0 to power its GraphQL Server.

We plan to explore subscriptions or live queries in close collaboration with The Guild after v1 launch. The key consideration is how redwoodJS can support subscriptions for both serverless and serverful deploys – since subscriptions often rely on a persistent connection to the client.

More info on live queries from Laurin Quast and the Guild

If your needs are more “near real time” rather than immediate; you can consider using the polling feature in many GraphQL clients, such as: Queries - Apollo GraphQL Docs

Other options in the meantime include: Supabase Real-Time.

Please share in the Help channel what features you’d lie to see and some example how you might use subscriptions: maps, shopping carts, game … more?

2 Likes

Please share in the Help channel what features you’d lie to see and some example how you might use subscriptions: maps, shopping carts, game … more?

Collaborative realtime content editors (of various types)

My 2 cents is subscriptions would really put Redwood on the map as the go-to framework for “next-gen” realtime, multi-user apps

Is there any update on subscriptions?

I guess that’s an update :wink: :

We are now talking with many frameworks/solutions in the ecosystem to provide an easy #GraphQL live queries support out of the box (@RedwoodJS for example)

— Urigo (@UriGoldshtein) August 22, 2022 on Twitter
2 Likes

Cool! Gonna be huge

Dunno if I agree that this would elevate RW as the goto for realtime. There are a lot of dedicated vendors and frameworks out there which do real time as a default. Supabase has a fairly well baked system out of the box for handling this stuff. I was looking at another integration for realtime communication from pubnub that could be used for real time communication. Lotta stuff out there.

I have to imagine a common use case, looking at the web biz engagement strategies today, would be those friendly on page chat bots that link into support systems. The service providers of those things always want a mountain of money and the features aren’t really novel. I was writing real time chat clients in javascript on web pages 25 years ago. Things are better now.

Another use case would be realtime analytics dashboards where live data is piped to a subscriber and all other data is batched and sent to a warehouse downstream so data science can crunch numbers on daily, weekly, monthly, yearly aggregates.

Because RW isn’t really a mobile first framework right now, I don’t think there’s a big mobile gaming need and the dedicated frameworks for game building have their own ways of handling p2p and client/server sync, so that’s not as big of an opportunity, i think.

Another use case I just thought of is upload handling for large files and reporting back the upload status. I could see that being useful. Something like that where there is a long running process that potentially needs to be backgrounded and updates could be pushed to the as client async notifications.

Did have an after thought for gaming and streaming. Those JackBox Games, like you dont know jack, are probably using streams if i had to guess. I wrote a clone of one a few years back, but i just ended up doing the easiest thing at the time, which was web sockets and storing everything in app memory as opposed to a db. The debatably good app wasn’t my finest work, but i guess i can see a use for like simple web games like this.

There are a lot of dedicated vendors and frameworks out there which do real time as a default. Supabase has a fairly well baked system out of the box for handling this stuff. I was looking at another integration for realtime communication from pubnub that could be used for real time communication. Lotta stuff out there.

Sure, there are. But hacking together some 3rd party solution is not inline with Redwood’s mission: “Focus on building your startup, not fighting your framework.” And I think subscriptions are common enough these days to be included as a default.

1 Like