A posting on the Instance-specific issues/observations about the upgrade: https://lemmy.ml/post/1444409
KNOWN BUGS
- Searching site-wide for “0.18” generates an error. This was working fine in 0.17.4 before Lemmy.ml upgraded: https://lemmy.ml/search?q=0.18&type=All&listingType=All&page=1&sort=TopAll
Can anyone explain why lemmy decided to remove websockets, what they decided to adopt instead of websockets, and to what extent websockets are being removed? I still feel like I don’t understand this move (but I’m sure there’s a good reason)
The primary reason I suspect is that it was buggy code. You would be reading a post and the votes and even the title and body of a post would just change in front of you to the wrong post. The server wasn’t keeping the index of clients correct or something. It was a very uncommon way to build a webapp
Websockets really don’t integrate well with the entire rest of the HTTP stack, instead just repurposing the socket as a free-standing two-way communication pipe.
You can definitely use websockets for requests like regular HTTP, but you have to reimplement things like cookies/session handling, request resumption/retry, duplicated request detection, request timeouts, authentication, etc yourself if you want to use it that way.
I personally much prefer regular HTTP requests for queries/RPC, and HTTP SSE for notification streams, since those are well developed technologies in the web space - and work much better if there’s a middleware in between.