I have a liveview page and it is listing things. I want to sort those things using a database query. This works great unless I am listing the things using a stream. When I use a stream, I try and reset the stream and insert the elements in a different sort order but it seems as if the page doesn’t recognize any changes to the stream since the elements are all the same, just in a different sort order. I am on Phoenix 1.7.9, LiveView 0.20.1. Here is the psudeo-code of my call.
stream(socket, :things, Stuff.list_things(sort, dir), reset: true)
Hope someone can off some help or ideas on what I’m doing wrong or how I can do this differently. Thanks.
It’s a known regression that’s been addressed, but there hasn’t been a tagged release since the fix yet so you’ll probably want to hop onto the main branch.
phoenix_live_view version explicitly declared in
package.json. After setting the version in assets to match mix version and running
npm install the stream sorting issue was resolved. I am not sure if there is a way to remove it from assets so it is synced up to whatever is in mix.
TLDR: make sure you update the liveview version in
package.json as well if it is explicitly declared there.