[MM-44056] Make Calls plugin's state on Cloud controllable by feature flag (#20161)

* Make Calls plugin's state on Cloud controllable by feature flag

* Prepackage Calls v0.4.9 (#20148)

* Update app/plugin.go

Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>

* Update app/plugin_install.go

Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>

* Bump Calls version to latest

Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Claudio Costa
2022-05-10 19:29:48 +02:00
коммит произвёл GitHub
родитель a4ad6eda5d
Коммит aee68c7ae4
9 изменённых файлов: 155 добавлений и 6 удалений

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

@@ -98,11 +98,8 @@ func (ch *Channels) syncPluginsActiveState() {
pluginEnabled = state.Enable
}
// Tie Apps proxy disabled status to the feature flag.
if pluginID == "com.mattermost.apps" {
if !ch.cfgSvc.Config().FeatureFlags.AppsEnabled {
pluginEnabled = false
}
if hasOverride, value := ch.getPluginStateOverride(pluginID); hasOverride {
pluginEnabled = value
}
if pluginEnabled {
@@ -1064,3 +1061,19 @@ func getIcon(iconPath string) (string, error) {
return fmt.Sprintf("data:image/svg+xml;base64,%s", base64.StdEncoding.EncodeToString(icon)), nil
}
func (ch *Channels) getPluginStateOverride(pluginID string) (bool, bool) {
switch pluginID {
case "com.mattermost.apps":
// Tie Apps proxy disabled status to the feature flag.
if !ch.cfgSvc.Config().FeatureFlags.AppsEnabled {
return true, false
}
case "com.mattermost.calls":
if model.IsCloud() {
return true, ch.cfgSvc.Config().FeatureFlags.CallsEnabled
}
}
return false, false
}