I’m working on a live “feed” feature. Right now, when a user creates a new post, the event handler just assigns new state of [new_item | feed_items]. My thought was to broadcast the new post, and just ignore it if you’re the author.
Would there be any advantage or disadvantage to relying 100% on PubSub? This way would have me broadcasting the new feed item to everyone, including myself, and updating page state accordingly.
If a user has two windows open and post in window 1 then window 2 wouldnt get the item in the feed. But if you use pubsub for the users own items too both windows would get updated.
In addition to the “two windows” scenario, there’s also ordering to consider. The Liveview that just created new_item may have PubSub messages waiting in its mailbox; putting the new record on the page before them will result in messages out of order.
One big takeaway from adventures in the various JS frameworks: you’ll have a better experience if you avoid mutating the same state through two different paths, in this case the “direct” path and the PubSub path.