This prevents deadlocks when e.g., client A performs a request to client B and client B performs a request to client A. If both clients stop processing further messages until their respective request completes, they won't have a chance to respond to the other client's request and cause a deadlock. This arrangement ensures we will attempt to process earlier messages first, but fall back to processing messages arrived later in the spirit of making progress.
Zed Server
This crate is what we run at https://collab.zed.dev.
It contains our back-end logic for collaboration, to which we connect from the Zed client via a websocket after authenticating via https://zed.dev, which is a separate repo running on Vercel.