MM-49658: Correctly disable plugin in product mode (#22071)

Automatic Merge
Этот коммит содержится в:
Agniva De Sarker
2023-01-13 18:03:49 +05:30
коммит произвёл GitHub
родитель b79cb7e7d7
Коммит 0e6dc9389d

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

@@ -130,23 +130,6 @@ func (ch *Channels) syncPluginsActiveState() {
}
if pluginEnabled {
// Disable focalboard in product mode.
if pluginID == model.PluginIdFocalboard && ch.cfgSvc.Config().FeatureFlags.BoardsProduct {
msg := "Plugin cannot run in product mode. Disabling."
mlog.Warn(msg, mlog.String("plugin_id", model.PluginIdFocalboard))
// This is a mini-version of ch.disablePlugin.
// We don't call that directly, because that will recursively call
// this method.
ch.cfgSvc.UpdateConfig(func(cfg *model.Config) {
cfg.PluginSettings.PluginStates[pluginID] = &model.PluginState{Enable: false}
})
pluginsEnvironment.SetPluginError(pluginID, msg)
ch.unregisterPluginCommands(pluginID)
disabledPlugins = append(disabledPlugins, plugin)
continue
}
enabledPlugins = append(enabledPlugins, plugin)
} else {
disabledPlugins = append(disabledPlugins, plugin)
@@ -322,6 +305,16 @@ func (ch *Channels) syncPlugins() *model.AppError {
var wg sync.WaitGroup
for _, plugin := range availablePlugins {
// Disable focalboard in product mode.
if plugin.Manifest.Id == model.PluginIdFocalboard && ch.cfgSvc.Config().FeatureFlags.BoardsProduct {
mlog.Info("Plugin cannot run in product mode, disabling.", mlog.String("plugin_id", model.PluginIdFocalboard))
appErr := ch.disablePlugin(model.PluginIdFocalboard)
if appErr != nil {
mlog.Error("Error disabling plugin", mlog.Err(err))
}
continue
}
wg.Add(1)
go func(pluginID string) {
defer wg.Done()