mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-27 12:54:42 +00:00
Bump collab min version (#9521)
We made a change last week to allow creating files with names. This means some files have null saved_mtime, which old versions of zed panic on. A fix is available in 0.126.3 and above Release Notes: - N/A
This commit is contained in:
parent
d8e32c3e3c
commit
0c82585ea2
4 changed files with 13 additions and 21 deletions
|
@ -909,7 +909,7 @@ pub async fn handle_websocket_request(
|
|||
.into_response();
|
||||
};
|
||||
|
||||
if !version.is_supported() {
|
||||
if !version.can_collaborate() {
|
||||
return (
|
||||
StatusCode::UPGRADE_REQUIRED,
|
||||
"client must be upgraded".to_string(),
|
||||
|
@ -1347,19 +1347,6 @@ async fn set_room_participant_role(
|
|||
let user_id = UserId::from_proto(request.user_id);
|
||||
let role = ChannelRole::from(request.role());
|
||||
|
||||
if role == ChannelRole::Talker {
|
||||
let pool = session.connection_pool().await;
|
||||
|
||||
for connection in pool.user_connections(user_id) {
|
||||
if !connection.zed_version.supports_talker_role() {
|
||||
Err(anyhow!(
|
||||
"This user is on zed {} which does not support unmute",
|
||||
connection.zed_version
|
||||
))?;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let (live_kit_room, can_publish) = {
|
||||
let room = session
|
||||
.db()
|
||||
|
|
|
@ -4,7 +4,7 @@ use collections::{BTreeMap, HashMap, HashSet};
|
|||
use rpc::ConnectionId;
|
||||
use serde::Serialize;
|
||||
use tracing::instrument;
|
||||
use util::SemanticVersion;
|
||||
use util::{semver, SemanticVersion};
|
||||
|
||||
#[derive(Default, Serialize)]
|
||||
pub struct ConnectionPool {
|
||||
|
@ -29,11 +29,8 @@ impl fmt::Display for ZedVersion {
|
|||
}
|
||||
|
||||
impl ZedVersion {
|
||||
pub fn is_supported(&self) -> bool {
|
||||
self.0 != SemanticVersion::new(0, 123, 0)
|
||||
}
|
||||
pub fn supports_talker_role(&self) -> bool {
|
||||
self.0 >= SemanticVersion::new(0, 125, 0)
|
||||
pub fn can_collaborate(&self) -> bool {
|
||||
self.0 >= semver(0, 127, 3) || (self.0 >= semver(0, 126, 3) && self.0 < semver(0, 127, 0))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,14 @@ pub struct SemanticVersion {
|
|||
pub patch: usize,
|
||||
}
|
||||
|
||||
pub fn semver(major: usize, minor: usize, patch: usize) -> SemanticVersion {
|
||||
SemanticVersion {
|
||||
major,
|
||||
minor,
|
||||
patch,
|
||||
}
|
||||
}
|
||||
|
||||
impl SemanticVersion {
|
||||
pub fn new(major: usize, minor: usize, patch: usize) -> Self {
|
||||
Self {
|
||||
|
|
|
@ -10,7 +10,7 @@ pub mod test;
|
|||
use futures::Future;
|
||||
use lazy_static::lazy_static;
|
||||
use rand::{seq::SliceRandom, Rng};
|
||||
pub use semantic_version::SemanticVersion;
|
||||
pub use semantic_version::*;
|
||||
use std::{
|
||||
borrow::Cow,
|
||||
cmp::{self, Ordering},
|
||||
|
|
Loading…
Reference in a new issue