I'm a (very satisfied) hasura user and trying to figure out which realtime interface to pick for a chat component. Can you explain the difference between the two and how/when to pick the right one?
You would benefit from using a streaming subscription. If you use a live query, you have to manually maintain a "cursor" (ie last message you fetched) and update your graphql subscription accordingly every time a new message is received or sent. If you don't you'll be refetching the same messages repeatedly, and they'll just grow as more messages are added.
With a streaming subscription this is all taken care of, you simply do something like this:
1) Load the last 50 messages (or whatever number of existing messages suits you)
2) Run your streaming subscription using the most recent of the messages from above as you cursor
3) When you send a message, do nothing and let the subscription handle getting the message you just sent