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:
Conrad Irwin
2025-09-19 10:38:39 -06:00
committed by GitHub
parent b9188e0fd3
commit 30a29ab34e
7 changed files with 13 additions and 60 deletions
-7
View File
@@ -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 {
+3 -41
View File
@@ -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(())