|
|
|
@ -144,7 +144,7 @@ impl Globals { |
|
|
|
RoomVersionId::Version5, |
|
|
|
RoomVersionId::Version5, |
|
|
|
]; |
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
let s = Self { |
|
|
|
let mut s = Self { |
|
|
|
globals, |
|
|
|
globals, |
|
|
|
config, |
|
|
|
config, |
|
|
|
keypair: Arc::new(keypair), |
|
|
|
keypair: Arc::new(keypair), |
|
|
|
@ -169,6 +169,14 @@ impl Globals { |
|
|
|
|
|
|
|
|
|
|
|
fs::create_dir_all(s.get_media_folder())?; |
|
|
|
fs::create_dir_all(s.get_media_folder())?; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if !s |
|
|
|
|
|
|
|
.supported_room_versions() |
|
|
|
|
|
|
|
.contains(&s.config.default_room_version) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
error!("Room version in config isn't supported, falling back to Version 6"); |
|
|
|
|
|
|
|
s.config.default_room_version = RoomVersionId::Version6; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
Ok(s) |
|
|
|
Ok(s) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -233,15 +241,7 @@ impl Globals { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
pub fn default_room_version(&self) -> RoomVersionId { |
|
|
|
pub fn default_room_version(&self) -> RoomVersionId { |
|
|
|
if self |
|
|
|
self.config.default_room_version.clone() |
|
|
|
.supported_room_versions() |
|
|
|
|
|
|
|
.contains(&self.config.default_room_version.clone()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
self.config.default_room_version.clone() |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
error!("Room version in config isn't supported, falling back to Version 6"); |
|
|
|
|
|
|
|
RoomVersionId::Version6 |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
pub fn trusted_servers(&self) -> &[Box<ServerName>] { |
|
|
|
pub fn trusted_servers(&self) -> &[Box<ServerName>] { |
|
|
|
@ -278,13 +278,9 @@ impl Globals { |
|
|
|
|
|
|
|
|
|
|
|
pub fn supported_room_versions(&self) -> Vec<RoomVersionId> { |
|
|
|
pub fn supported_room_versions(&self) -> Vec<RoomVersionId> { |
|
|
|
let mut room_versions: Vec<RoomVersionId> = vec![]; |
|
|
|
let mut room_versions: Vec<RoomVersionId> = vec![]; |
|
|
|
self.stable_room_versions |
|
|
|
room_versions.extend(self.stable_room_versions.clone()); |
|
|
|
.iter() |
|
|
|
|
|
|
|
.for_each(|room_version| room_versions.push(room_version.clone())); |
|
|
|
|
|
|
|
if self.allow_unstable_room_versions() { |
|
|
|
if self.allow_unstable_room_versions() { |
|
|
|
self.unstable_room_versions |
|
|
|
room_versions.extend(self.unstable_room_versions.clone()); |
|
|
|
.iter() |
|
|
|
|
|
|
|
.for_each(|room_version| room_versions.push(room_version.clone())); |
|
|
|
|
|
|
|
}; |
|
|
|
}; |
|
|
|
room_versions |
|
|
|
room_versions |
|
|
|
} |
|
|
|
} |
|
|
|
|