

- #Slack desktop app not connecting update
- #Slack desktop app not connecting software
- #Slack desktop app not connecting series
Doing Less Up Front: “Stopping Fetch From Happening” Even when scale is considered up front, changes in usage patterns can impact the performance of your app on both backend and frontend - sometimes in interesting, and unexpected, ways.

The client receives new messages over the WebSocket as they are sent, and it can also fetch older messages via the Slack API. The Slack desktop client builds and maintains an array of messages for each channel that you are a member of. While it can be convenient to have the world at your fingertips, at some point the client cannot - and should not - know about, or need to render, absolutely everything right away. With most teams having less than 100 people, there were still a relatively small number of channels, message traffic was somewhat low, and client load time was quite fast.Īs the size of the average Slack team increased, hotspots impacting performance in various areas became more evident. Originally, Slack’s browser-based web app could effectively load the entire model up front without any notable performance issues.
#Slack desktop app not connecting update
The WebSocket connection is the transport layer for receiving real-time messages - whether messages sent from other users on the team, or model update messages that the client needs to update state(e.g., a user joins/leaves a channel, updates their profile, uploads or shares a file, and so on.) Early Days: Loading The Whole World (Or Almost All Of It) Up Front On startup, the client makes some initial API calls and connects to a Message Server via WebSocket. The client starts with an empty model, which gets populated by a combination of local cache (as applicable) and API calls.


* The Slack real-time messaging app works in web browsers, and our installable desktop app also uses a web-based view of the same hence, “Desktop” is an interchangeable term for both.
#Slack desktop app not connecting series
This two-part series is about our work refactoring part of the Slack desktop client for performance. Whether doing magic with cards or a browser, it doesn’t hurt to have an ace up your sleeve. ♠️
#Slack desktop app not connecting software
Software performance is like a series of card tricks:
