mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
ICU-715 Change ExperimentalGroupUnreadChannels setting to allow for default on/off (#8211)
This commit is contained in:
committed by
Derrick Anderson
parent
1ec295f88c
commit
9a73f99885
@@ -57,7 +57,7 @@
|
||||
"CloseUnusedDirectMessages": false,
|
||||
"EnableTutorial": true,
|
||||
"ExperimentalEnableDefaultChannelLeaveJoinMessages": true,
|
||||
"ExperimentalGroupUnreadChannels": false,
|
||||
"ExperimentalGroupUnreadChannels": "disabled",
|
||||
"ImageProxyType": "",
|
||||
"ImageProxyOptions": "",
|
||||
"ImageProxyURL": ""
|
||||
|
||||
@@ -4758,6 +4758,10 @@
|
||||
"id": "model.config.is_valid.file_thumb_width.app_error",
|
||||
"translation": "Invalid thumbnail width for file settings. Must be a positive number."
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.group_unread_channels.app_error",
|
||||
"translation": "Invalid group unread channels for service settings. Must be 'disabled', 'default_on', or 'default_off'."
|
||||
},
|
||||
{
|
||||
"id": "model.config.is_valid.image_proxy_type.app_error",
|
||||
"translation": "Invalid image proxy type for service settings."
|
||||
|
||||
@@ -69,6 +69,10 @@ const (
|
||||
ALLOW_EDIT_POST_NEVER = "never"
|
||||
ALLOW_EDIT_POST_TIME_LIMIT = "time_limit"
|
||||
|
||||
GROUP_UNREAD_CHANNELS_DISABLED = "disabled"
|
||||
GROUP_UNREAD_CHANNELS_DEFAULT_ON = "default_on"
|
||||
GROUP_UNREAD_CHANNELS_DEFAULT_OFF = "default_off"
|
||||
|
||||
EMAIL_BATCHING_BUFFER_SIZE = 256
|
||||
EMAIL_BATCHING_INTERVAL = 30
|
||||
|
||||
@@ -214,7 +218,7 @@ type ServiceSettings struct {
|
||||
EnablePreviewFeatures *bool
|
||||
EnableTutorial *bool
|
||||
ExperimentalEnableDefaultChannelLeaveJoinMessages *bool
|
||||
ExperimentalGroupUnreadChannels *bool
|
||||
ExperimentalGroupUnreadChannels *string
|
||||
ImageProxyType *string
|
||||
ImageProxyURL *string
|
||||
ImageProxyOptions *string
|
||||
@@ -424,7 +428,11 @@ func (s *ServiceSettings) SetDefaults() {
|
||||
}
|
||||
|
||||
if s.ExperimentalGroupUnreadChannels == nil {
|
||||
s.ExperimentalGroupUnreadChannels = NewBool(false)
|
||||
s.ExperimentalGroupUnreadChannels = NewString(GROUP_UNREAD_CHANNELS_DISABLED)
|
||||
} else if *s.ExperimentalGroupUnreadChannels == "0" {
|
||||
s.ExperimentalGroupUnreadChannels = NewString(GROUP_UNREAD_CHANNELS_DISABLED)
|
||||
} else if *s.ExperimentalGroupUnreadChannels == "1" {
|
||||
s.ExperimentalGroupUnreadChannels = NewString(GROUP_UNREAD_CHANNELS_DEFAULT_ON)
|
||||
}
|
||||
|
||||
if s.ImageProxyType == nil {
|
||||
@@ -2070,6 +2078,12 @@ func (ss *ServiceSettings) isValid() *AppError {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.listen_address.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
if *ss.ExperimentalGroupUnreadChannels != GROUP_UNREAD_CHANNELS_DISABLED &&
|
||||
*ss.ExperimentalGroupUnreadChannels != GROUP_UNREAD_CHANNELS_DEFAULT_ON &&
|
||||
*ss.ExperimentalGroupUnreadChannels != GROUP_UNREAD_CHANNELS_DEFAULT_OFF {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.group_unread_channels.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
switch *ss.ImageProxyType {
|
||||
case "", "willnorris/imageproxy":
|
||||
case "atmos/camo":
|
||||
|
||||
@@ -36,6 +36,38 @@ func TestConfigDefaultFileSettingsS3SSE(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestConfigDefaultServiceSettingsExperimentalGroupUnreadChannels(t *testing.T) {
|
||||
c1 := Config{}
|
||||
c1.SetDefaults()
|
||||
|
||||
if *c1.ServiceSettings.ExperimentalGroupUnreadChannels != GROUP_UNREAD_CHANNELS_DISABLED {
|
||||
t.Fatal("ServiceSettings.ExperimentalGroupUnreadChannels should default to 'disabled'")
|
||||
}
|
||||
|
||||
// This setting was briefly a boolean, so ensure that those values still work as expected
|
||||
c1 = Config{
|
||||
ServiceSettings: ServiceSettings{
|
||||
ExperimentalGroupUnreadChannels: NewString("1"),
|
||||
},
|
||||
}
|
||||
c1.SetDefaults()
|
||||
|
||||
if *c1.ServiceSettings.ExperimentalGroupUnreadChannels != GROUP_UNREAD_CHANNELS_DEFAULT_ON {
|
||||
t.Fatal("ServiceSettings.ExperimentalGroupUnreadChannels should set true to 'default on'")
|
||||
}
|
||||
|
||||
c1 = Config{
|
||||
ServiceSettings: ServiceSettings{
|
||||
ExperimentalGroupUnreadChannels: NewString("0"),
|
||||
},
|
||||
}
|
||||
c1.SetDefaults()
|
||||
|
||||
if *c1.ServiceSettings.ExperimentalGroupUnreadChannels != GROUP_UNREAD_CHANNELS_DISABLED {
|
||||
t.Fatal("ServiceSettings.ExperimentalGroupUnreadChannels should set false to 'disabled'")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMessageExportSettingsIsValidEnableExportNotSet(t *testing.T) {
|
||||
fs := &FileSettings{}
|
||||
mes := &MessageExportSettings{}
|
||||
|
||||
@@ -397,7 +397,7 @@ func GenerateClientConfig(c *model.Config, diagnosticId string) map[string]strin
|
||||
props["EnablePreviewFeatures"] = strconv.FormatBool(*c.ServiceSettings.EnablePreviewFeatures)
|
||||
props["EnableTutorial"] = strconv.FormatBool(*c.ServiceSettings.EnableTutorial)
|
||||
props["ExperimentalEnableDefaultChannelLeaveJoinMessages"] = strconv.FormatBool(*c.ServiceSettings.ExperimentalEnableDefaultChannelLeaveJoinMessages)
|
||||
props["ExperimentalGroupUnreadChannels"] = strconv.FormatBool(*c.ServiceSettings.ExperimentalGroupUnreadChannels)
|
||||
props["ExperimentalGroupUnreadChannels"] = *c.ServiceSettings.ExperimentalGroupUnreadChannels
|
||||
|
||||
props["SendEmailNotifications"] = strconv.FormatBool(c.EmailSettings.SendEmailNotifications)
|
||||
props["SendPushNotifications"] = strconv.FormatBool(*c.EmailSettings.SendPushNotifications)
|
||||
|
||||
Reference in New Issue
Block a user