Update default behavior of ignore_hidden_services in SyncbackRules

- Changed the default value of the `ignore_hidden_services` option from `false` to `true` to ensure that only visible services are synced back by default.
- Updated related documentation and comments to reflect the new default behavior and clarify the filtering logic in the syncback loop.
This commit is contained in:
Joe 2026-01-30 10:18:45 -06:00
parent 9b412d28ae
commit 38cbc582f4

View file

@ -111,12 +111,12 @@ pub fn syncback_loop(
strip_unknown_root_children(&mut new_tree, old_tree); strip_unknown_root_children(&mut new_tree, old_tree);
} }
// If ignoreHiddenServices is enabled, filter to only visible services // If ignoreHiddenServices is enabled (default: true), filter to only visible services
if project if project
.syncback_rules .syncback_rules
.as_ref() .as_ref()
.map(|rules| rules.ignore_hidden_services()) .map(|rules| rules.ignore_hidden_services())
.unwrap_or(false) .unwrap_or(true)
{ {
log::debug!("Filtering hidden services"); log::debug!("Filtering hidden services");
strip_hidden_services(&mut new_tree); strip_hidden_services(&mut new_tree);
@ -442,7 +442,7 @@ pub struct SyncbackRules {
/// When enabled, only "visible" services will be synced back. This includes /// When enabled, only "visible" services will be synced back. This includes
/// commonly used services like Workspace, ReplicatedStorage, ServerScriptService, /// commonly used services like Workspace, ReplicatedStorage, ServerScriptService,
/// etc., while ignoring internal/hidden services like Chat, HttpService, etc. /// etc., while ignoring internal/hidden services like Chat, HttpService, etc.
/// Defaults to `false`. /// Defaults to `true`.
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
ignore_hidden_services: Option<bool>, ignore_hidden_services: Option<bool>,
} }
@ -493,10 +493,10 @@ impl SyncbackRules {
/// Returns whether hidden/internal services should be ignored during /// Returns whether hidden/internal services should be ignored during
/// syncback. When `true`, only visible services like Workspace, /// syncback. When `true`, only visible services like Workspace,
/// ReplicatedStorage, etc. will be synced. Defaults to `false`. /// ReplicatedStorage, etc. will be synced. Defaults to `true`.
#[inline] #[inline]
pub fn ignore_hidden_services(&self) -> bool { pub fn ignore_hidden_services(&self) -> bool {
self.ignore_hidden_services.unwrap_or(false) self.ignore_hidden_services.unwrap_or(true)
} }
} }