this post was submitted on 22 Jun 2023
156 points (99.4% liked)

Lemmy

2172 readers
9 users here now

Everything about Lemmy; bugs, gripes, praises, and advocacy.

For discussion about the lemmy.ml instance, go to [email protected].

founded 4 years ago
MODERATORS
 

A posting on the Instance-specific issues/observations about the upgrade: https://lemmy.ml/post/1444409

KNOWN BUGS

  1. 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
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago (1 children)

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)

[–] [email protected] 4 points 1 year ago (1 children)

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

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

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.