[MM-63513] Turn Cross team search feature flag into a setting option (#30518)

* feat: Add EnableCrossTeamSearch configuration option to ServiceSettings

* feat: Add EnableCrossTeamSearch configuration option to ServiceSettings

* feat: Enable cross-team search by default

* include old FF in client config
Этот коммит содержится в:
Julien Tant
2025-03-26 10:37:12 -07:00
коммит произвёл GitHub
родитель 65256843f9
Коммит c440a3223e
12 изменённых файлов: 29 добавлений и 15 удалений

Просмотреть файл

@@ -101,6 +101,10 @@ func GenerateClientConfig(c *model.Config, telemetryID string, license *model.Li
props["DisableWakeUpReconnectHandler"] = strconv.FormatBool(*c.ExperimentalSettings.DisableWakeUpReconnectHandler)
props["UsersStatusAndProfileFetchingPollIntervalMilliseconds"] = strconv.FormatInt(*c.ExperimentalSettings.UsersStatusAndProfileFetchingPollIntervalMilliseconds, 10)
// Here we set the new option, but we also send the old FeatureFlag property for backwards compatibility on mobile < 2.27
props["EnableCrossTeamSearch"] = strconv.FormatBool(*c.ServiceSettings.EnableCrossTeamSearch)
props["FeatureFlagExperimentalCrossTeamSearch"] = strconv.FormatBool(*c.ServiceSettings.EnableCrossTeamSearch)
// Set default values for all options that require a license.
props["ExperimentalEnableAuthenticationTransfer"] = "true"
props["LdapNicknameAttributeSet"] = "false"

Просмотреть файл

@@ -526,6 +526,7 @@ func (ts *TelemetryService) trackConfig() {
"enable_channel_viewed_messages": *cfg.ServiceSettings.EnableChannelViewedMessages,
"time_between_user_typing_updates_milliseconds": *cfg.ServiceSettings.TimeBetweenUserTypingUpdatesMilliseconds,
"cluster_log_timeout_milliseconds": *cfg.ServiceSettings.ClusterLogTimeoutMilliseconds,
"enable_cross_team_search": *cfg.ServiceSettings.EnableCrossTeamSearch,
"enable_post_search": *cfg.ServiceSettings.EnablePostSearch,
"minimum_hashtag_length": *cfg.ServiceSettings.MinimumHashtagLength,
"enable_user_statuses": *cfg.ServiceSettings.EnableUserStatuses,

Просмотреть файл

@@ -392,6 +392,7 @@ type ServiceSettings struct {
EnableEmojiPicker *bool `access:"site_emoji"`
PostEditTimeLimit *int `access:"user_management_permissions"`
TimeBetweenUserTypingUpdatesMilliseconds *int64 `access:"experimental_features,write_restrictable,cloud_restrictable"`
EnableCrossTeamSearch *bool `access:"write_restrictable,cloud_restrictable"`
EnablePostSearch *bool `access:"write_restrictable,cloud_restrictable"`
EnableFileSearch *bool `access:"write_restrictable"`
MinimumHashtagLength *int `access:"environment_database,write_restrictable,cloud_restrictable"`
@@ -620,6 +621,10 @@ func (s *ServiceSettings) SetDefaults(isUpdate bool) {
s.TimeBetweenUserTypingUpdatesMilliseconds = NewPointer(int64(5000))
}
if s.EnableCrossTeamSearch == nil {
s.EnableCrossTeamSearch = NewPointer(true)
}
if s.EnablePostSearch == nil {
s.EnablePostSearch = NewPointer(true)
}
@@ -3645,9 +3650,11 @@ func (s *ExportSettings) SetDefaults() {
type ConfigFunc func() *Config
const ConfigAccessTagType = "access"
const ConfigAccessTagWriteRestrictable = "write_restrictable"
const ConfigAccessTagCloudRestrictable = "cloud_restrictable"
const (
ConfigAccessTagType = "access"
ConfigAccessTagWriteRestrictable = "write_restrictable"
ConfigAccessTagCloudRestrictable = "cloud_restrictable"
)
// Allows read access if any PermissionSysconsoleRead* is allowed
const ConfigAccessTagAnySysConsoleRead = "*_read"

Просмотреть файл

@@ -56,8 +56,6 @@ type FeatureFlags struct {
ExperimentalAuditSettingsSystemConsoleUI bool
ExperimentalCrossTeamSearch bool
CustomProfileAttributes bool
}
@@ -82,7 +80,6 @@ func (f *FeatureFlags) SetDefaults() {
f.WebSocketEventScope = true
f.NotificationMonitoring = true
f.ExperimentalAuditSettingsSystemConsoleUI = false
f.ExperimentalCrossTeamSearch = true
f.CustomProfileAttributes = false
}

Просмотреть файл

@@ -47,6 +47,7 @@
"EnableEmojiPicker": true,
"PostEditTimeLimit": -1,
"TimeBetweenUserTypingUpdatesMilliseconds": 5000,
"EnableCrossTeamSearch": true,
"EnablePostSearch": true,
"MinimumHashtagLength": 3,
"EnableUserTypingMessages": true,