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:
Conrad Irwin 2024-03-18 16:59:51 -06:00 committed by GitHub
parent d8e32c3e3c
commit 0c82585ea2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 13 additions and 21 deletions

View file

@ -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()

View file

@ -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))
}
}

View file

@ -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 {

View file

@ -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},