Implement settings schema filtering

* Filter settings that have a registered schema so that only keys matching the schema get saved
  * Allow settings that do not have a registered schema (manually added devices, device-specific, plugins, client)
  * Update schema registration to allow marking a settings group as local only, which means it modifies the local instance's settings, not the remote
  * Deny setting local only settings when the update comes from the network server
This commit is contained in:
Adam Honse committed 2026-08-15 17:41:29 -05:00
1 parent 5c1a2c4d13
commit f9897ef99a
6 files changed
+223 -43

No files matched your search

+2 -2
View File
@@ -2560,7 +2560,7 @@ NetPacketStatus NetworkServer::ProcessRequest_SettingsManager_ModifySettings(Net
settings_json_str.assign((char*)data_ptr, data_size);
settings_json_str = StringUtils::remove_null_terminating_chars(settings_json_str);
settings_manager->ModifySettingsFromJsonString(settings_json_str);
settings_manager->ModifySettingsFromJsonString(settings_json_str, true);
return(NET_PACKET_STATUS_OK);
}
@@ -2592,7 +2592,7 @@ NetPacketStatus NetworkServer::ProcessRequest_SettingsManager_SetSettings(Networ
settings_json_str.assign((char*)data_ptr, data_size);
settings_json_str = StringUtils::remove_null_terminating_chars(settings_json_str);
settings_manager->SetSettingsFromJsonString(settings_json_str);
settings_manager->SetSettingsFromJsonString(settings_json_str, true);
return(NET_PACKET_STATUS_OK);
}