mirror of
https://github.com/zed-industries/zed.git
synced 2025-02-06 02:37:21 +00:00
parent
e73e93f333
commit
e9b95fde68
1 changed files with 14 additions and 1 deletions
|
@ -864,7 +864,7 @@ pub fn routes(server: Arc<Server>) -> Router<Body> {
|
||||||
|
|
||||||
pub async fn handle_websocket_request(
|
pub async fn handle_websocket_request(
|
||||||
TypedHeader(ProtocolVersion(protocol_version)): TypedHeader<ProtocolVersion>,
|
TypedHeader(ProtocolVersion(protocol_version)): TypedHeader<ProtocolVersion>,
|
||||||
_app_version_header: Option<TypedHeader<AppVersionHeader>>,
|
app_version_header: Option<TypedHeader<AppVersionHeader>>,
|
||||||
ConnectInfo(socket_address): ConnectInfo<SocketAddr>,
|
ConnectInfo(socket_address): ConnectInfo<SocketAddr>,
|
||||||
Extension(server): Extension<Arc<Server>>,
|
Extension(server): Extension<Arc<Server>>,
|
||||||
Extension(user): Extension<User>,
|
Extension(user): Extension<User>,
|
||||||
|
@ -879,6 +879,19 @@ pub async fn handle_websocket_request(
|
||||||
.into_response();
|
.into_response();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// the first version of zed that sent this header was 0.121.x
|
||||||
|
if let Some(version) = app_version_header.map(|header| header.0 .0) {
|
||||||
|
// 0.123.0 was a nightly version with incompatible collab changes
|
||||||
|
// that were reverted.
|
||||||
|
if version == "0.123.0".parse().unwrap() {
|
||||||
|
return (
|
||||||
|
StatusCode::UPGRADE_REQUIRED,
|
||||||
|
"client must be upgraded".to_string(),
|
||||||
|
)
|
||||||
|
.into_response();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let socket_address = socket_address.to_string();
|
let socket_address = socket_address.to_string();
|
||||||
ws.on_upgrade(move |socket| {
|
ws.on_upgrade(move |socket| {
|
||||||
use util::ResultExt;
|
use util::ResultExt;
|
||||||
|
|
Loading…
Reference in a new issue