Watching the network tab of Chrome when I have a Lemmy instance open I can watch the websocket data coming in from the server. Even though I have “Subscribed” communities selected, the data stream seems to contain all post data (at first glance it looks like new posts and vote changes) from all communities federated to the instance.
It’s manageable for the moment but if the network grows a lot, that could end up being a huge amount of data that’s sent to users and probably not desirable if users are on slow metered connections. Is this by design?
Lemmys WebSockets are being phased out currently and thus all bugs regarding them (wrong vote counters, posts being pushed in at the top in the wrong categories, etc.) are gonna go away as soon as the transition is complete.
Oh, cool. What’s replacing them?
Just a “normal” http API as far as I know. There won’t be any live notifications/data on release but this can be added using polling at a later stage. It was mainly done because websockets just don’t scale well at all with thousands of users.
Yeah, that was my concern. Sounds good to me!
The live posts and notifications are definitely cool but I know it would be challenging to make it both useful and scalable.
Normal http requests for on-demand content, likely polling for live-updating content.
From what I understand the Lemmy backend doesn’t support user specific websocket updates. So your client can subscribe to updates about ALL new posts coming in, but it can’t get updates on only your subscribed communities.
To add to that. It would not surprise me if that is the most efficient way of doing things. Let the client handle all of the filtering. Sure it increases traffic, but it reduces server CPU load greatly.
Oh yes, it’ll decrease the server load with the sacrifice of network traffic and client load. It’s a hard balancing act to get right.