this post was submitted on 22 Jun 2023
138 points (99.3% liked)
Lemmy
12557 readers
2 users here now
Everything about Lemmy; bugs, gripes, praises, and advocacy.
For discussion about the lemmy.ml instance, go to !meta@lemmy.ml.
founded 4 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.