Fix server settings (#38477)
In the settings refactor I'd assumed server settings were like project settings. This is not the case, they are in fact the normal user settings; but just read from the server. Release Notes: - N/A
This commit is contained in:
@@ -166,13 +166,6 @@ impl SettingsContent {
|
||||
}
|
||||
}
|
||||
|
||||
#[skip_serializing_none]
|
||||
#[derive(Debug, Default, Serialize, Deserialize, JsonSchema, MergeFrom)]
|
||||
pub struct ServerSettingsContent {
|
||||
#[serde(flatten)]
|
||||
pub project: ProjectSettingsContent,
|
||||
}
|
||||
|
||||
#[skip_serializing_none]
|
||||
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize, JsonSchema, MergeFrom)]
|
||||
pub struct UserSettingsContent {
|
||||
|
||||
@@ -36,8 +36,7 @@ use crate::{
|
||||
merge_from::MergeFrom,
|
||||
parse_json_with_comments, replace_value_in_json_text,
|
||||
settings_content::{
|
||||
ExtensionsSettingsContent, ProjectSettingsContent, ServerSettingsContent, SettingsContent,
|
||||
UserSettingsContent,
|
||||
ExtensionsSettingsContent, ProjectSettingsContent, SettingsContent, UserSettingsContent,
|
||||
},
|
||||
update_value_in_json_text,
|
||||
};
|
||||
@@ -327,33 +326,6 @@ impl SettingsStore {
|
||||
self.user_settings.as_ref()
|
||||
}
|
||||
|
||||
/// Replaces current settings with the values from the given JSON.
|
||||
pub fn set_raw_user_settings(
|
||||
&mut self,
|
||||
new_settings: UserSettingsContent,
|
||||
cx: &mut App,
|
||||
) -> Result<()> {
|
||||
self.user_settings = Some(new_settings);
|
||||
self.recompute_values(None, cx)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Replaces current settings with the values from the given JSON.
|
||||
pub fn set_raw_server_settings(
|
||||
&mut self,
|
||||
new_settings: Option<Value>,
|
||||
cx: &mut App,
|
||||
) -> Result<()> {
|
||||
// Rewrite the server settings into a content type
|
||||
self.server_settings = new_settings
|
||||
.map(|settings| settings.to_string())
|
||||
.and_then(|str| parse_json_with_comments::<SettingsContent>(&str).ok())
|
||||
.map(Box::new);
|
||||
|
||||
self.recompute_values(None, cx)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Get the configured settings profile names.
|
||||
pub fn configured_settings_profiles(&self) -> impl Iterator<Item = &str> {
|
||||
self.user_settings
|
||||
@@ -361,11 +333,6 @@ impl SettingsStore {
|
||||
.flat_map(|settings| settings.profiles.keys().map(|k| k.as_str()))
|
||||
}
|
||||
|
||||
/// Access the raw JSON value of the default settings.
|
||||
pub fn raw_default_settings(&self) -> &SettingsContent {
|
||||
&self.default_settings
|
||||
}
|
||||
|
||||
#[cfg(any(test, feature = "test-support"))]
|
||||
pub fn test(cx: &mut App) -> Self {
|
||||
Self::new(cx, &crate::test_settings())
|
||||
@@ -621,19 +588,14 @@ impl SettingsStore {
|
||||
server_settings_content: &str,
|
||||
cx: &mut App,
|
||||
) -> Result<()> {
|
||||
let settings: Option<ServerSettingsContent> = if server_settings_content.is_empty() {
|
||||
let settings: Option<SettingsContent> = if server_settings_content.is_empty() {
|
||||
None
|
||||
} else {
|
||||
parse_json_with_comments(server_settings_content)?
|
||||
};
|
||||
|
||||
// Rewrite the server settings into a content type
|
||||
self.server_settings = settings.map(|settings| {
|
||||
Box::new(SettingsContent {
|
||||
project: settings.project,
|
||||
..Default::default()
|
||||
})
|
||||
});
|
||||
self.server_settings = settings.map(|settings| Box::new(settings));
|
||||
|
||||
self.recompute_values(None, cx)?;
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user