MM-55403: fix remote marketplace visibility (#25426)

This commit is contained in:
Caleb Roseland 2023-11-15 10:08:16 -06:00 committed by GitHub
parent 864046f782
commit 22190c13dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 43 deletions

View File

@ -15,7 +15,6 @@ import {
disablePlugin, disablePlugin,
} from 'mattermost-redux/actions/admin'; } from 'mattermost-redux/actions/admin';
import {appsFeatureFlagEnabled} from 'mattermost-redux/selectors/entities/apps'; import {appsFeatureFlagEnabled} from 'mattermost-redux/selectors/entities/apps';
import {streamlinedMarketplaceEnabled} from 'mattermost-redux/selectors/entities/preferences';
import type {GenericAction} from 'mattermost-redux/types/actions'; import type {GenericAction} from 'mattermost-redux/types/actions';
import PluginManagement from './plugin_management'; import PluginManagement from './plugin_management';
@ -25,7 +24,6 @@ function mapStateToProps(state: any) {
plugins: state.entities.admin.plugins, plugins: state.entities.admin.plugins,
pluginStatuses: state.entities.admin.pluginStatuses, pluginStatuses: state.entities.admin.pluginStatuses,
appsFeatureFlagEnabled: appsFeatureFlagEnabled(state), appsFeatureFlagEnabled: appsFeatureFlagEnabled(state),
streamlinedMarketplaceFlagEnabled: streamlinedMarketplaceEnabled(state),
}; };
} }

View File

@ -91,7 +91,6 @@ describe('components/PluginManagement', () => {
}, },
}, },
appsFeatureFlagEnabled: false, appsFeatureFlagEnabled: false,
streamlinedMarketplaceFlagEnabled: false,
actions: { actions: {
uploadPlugin: jest.fn(), uploadPlugin: jest.fn(),
installPluginFromUrl: jest.fn(), installPluginFromUrl: jest.fn(),
@ -235,7 +234,6 @@ describe('components/PluginManagement', () => {
pluginStatuses: {}, pluginStatuses: {},
plugins: {}, plugins: {},
appsFeatureFlagEnabled: false, appsFeatureFlagEnabled: false,
streamlinedMarketplaceFlagEnabled: false,
actions: { actions: {
uploadPlugin: jest.fn(), uploadPlugin: jest.fn(),
installPluginFromUrl: jest.fn(), installPluginFromUrl: jest.fn(),
@ -326,7 +324,6 @@ describe('components/PluginManagement', () => {
}, },
}, },
appsFeatureFlagEnabled: false, appsFeatureFlagEnabled: false,
streamlinedMarketplaceFlagEnabled: false,
actions: { actions: {
uploadPlugin: jest.fn(), uploadPlugin: jest.fn(),
installPluginFromUrl: jest.fn(), installPluginFromUrl: jest.fn(),
@ -384,7 +381,6 @@ describe('components/PluginManagement', () => {
}, },
}, },
appsFeatureFlagEnabled: false, appsFeatureFlagEnabled: false,
streamlinedMarketplaceFlagEnabled: false,
actions: { actions: {
uploadPlugin: jest.fn(), uploadPlugin: jest.fn(),
installPluginFromUrl: jest.fn(), installPluginFromUrl: jest.fn(),
@ -502,7 +498,6 @@ describe('components/PluginManagement', () => {
}, },
}, },
appsFeatureFlagEnabled: false, appsFeatureFlagEnabled: false,
streamlinedMarketplaceFlagEnabled: false,
actions: { actions: {
uploadPlugin: jest.fn(), uploadPlugin: jest.fn(),
installPluginFromUrl: jest.fn(), installPluginFromUrl: jest.fn(),

View File

@ -420,7 +420,6 @@ type Props = BaseProps & {
pluginStatuses: Record<string, PluginStatus>; pluginStatuses: Record<string, PluginStatus>;
plugins: any; plugins: any;
appsFeatureFlagEnabled: boolean; appsFeatureFlagEnabled: boolean;
streamlinedMarketplaceFlagEnabled: boolean;
actions: { actions: {
uploadPlugin: (fileData: File, force: boolean) => any; uploadPlugin: (fileData: File, force: boolean) => any;
removePlugin: (pluginId: string) => any; removePlugin: (pluginId: string) => any;
@ -1220,43 +1219,39 @@ export default class PluginManagement extends AdminSettings<Props, State> {
onChange={this.handleChange} onChange={this.handleChange}
setByEnv={this.isSetByEnv('PluginSettings.EnableMarketplace')} setByEnv={this.isSetByEnv('PluginSettings.EnableMarketplace')}
/> />
{!this.props.streamlinedMarketplaceFlagEnabled && ( <BooleanSetting
<> id='enableRemoteMarketplace'
<BooleanSetting label={
id='enableRemoteMarketplace' <FormattedMessage
label={ id='admin.plugins.settings.enableRemoteMarketplace'
<FormattedMessage defaultMessage='Enable Remote Marketplace:'
id='admin.plugins.settings.enableRemoteMarketplace'
defaultMessage='Enable Remote Marketplace:'
/>
}
helpText={
<FormattedMarkdownMessage
id='admin.plugins.settings.enableRemoteMarketplaceDesc'
defaultMessage='When true, marketplace fetches latest plugins from the configured Marketplace URL.'
/>
}
value={this.state.enableRemoteMarketplace}
disabled={this.props.isDisabled || !this.state.enable || !this.state.enableUploads || !this.state.enableMarketplace}
onChange={this.handleChange}
setByEnv={this.isSetByEnv('PluginSettings.EnableRemoteMarketplace')}
/> />
<TextSetting }
id={'marketplaceUrl'} helpText={
label={ <FormattedMarkdownMessage
<FormattedMessage id='admin.plugins.settings.enableRemoteMarketplaceDesc'
id='admin.plugins.settings.marketplaceUrl' defaultMessage='When true, marketplace fetches latest plugins from the configured Marketplace URL.'
defaultMessage='Marketplace URL:'
/>
}
helpText={this.getMarketplaceURLHelpText(this.state.marketplaceUrl, this.state.enableUploads)}
value={this.state.marketplaceUrl}
disabled={this.props.isDisabled || !this.state.enable || !this.state.enableUploads || !this.state.enableMarketplace || !this.state.enableRemoteMarketplace}
onChange={this.handleChange}
setByEnv={this.isSetByEnv('PluginSettings.MarketplaceURL')}
/> />
</> }
)} value={this.state.enableRemoteMarketplace}
disabled={this.props.isDisabled || !this.state.enable || !this.state.enableUploads || !this.state.enableMarketplace}
onChange={this.handleChange}
setByEnv={this.isSetByEnv('PluginSettings.EnableRemoteMarketplace')}
/>
<TextSetting
id={'marketplaceUrl'}
label={
<FormattedMessage
id='admin.plugins.settings.marketplaceUrl'
defaultMessage='Marketplace URL:'
/>
}
helpText={this.getMarketplaceURLHelpText(this.state.marketplaceUrl, this.state.enableUploads)}
value={this.state.marketplaceUrl}
disabled={this.props.isDisabled || !this.state.enable || !this.state.enableUploads || !this.state.enableMarketplace || !this.state.enableRemoteMarketplace}
onChange={this.handleChange}
setByEnv={this.isSetByEnv('PluginSettings.MarketplaceURL')}
/>
</> </>
)} )}
{pluginsContainer} {pluginsContainer}