MM-63387 Check Feature flag before custom field retrieval (#30574)
* check feature flag before attempting to retrieve fields * add property to test --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
f076e18eba
Коммит
1f0a180386
@@ -11,7 +11,7 @@ import type {Dispatch} from 'redux';
|
|||||||
import {getFirstAdminSetupComplete, getCustomProfileAttributeFields} from 'mattermost-redux/actions/general';
|
import {getFirstAdminSetupComplete, getCustomProfileAttributeFields} from 'mattermost-redux/actions/general';
|
||||||
import {getProfiles} from 'mattermost-redux/actions/users';
|
import {getProfiles} from 'mattermost-redux/actions/users';
|
||||||
import {isCurrentLicenseCloud} from 'mattermost-redux/selectors/entities/cloud';
|
import {isCurrentLicenseCloud} from 'mattermost-redux/selectors/entities/cloud';
|
||||||
import {getConfig} from 'mattermost-redux/selectors/entities/general';
|
import {getConfig, getFeatureFlagValue} from 'mattermost-redux/selectors/entities/general';
|
||||||
import {getTheme} from 'mattermost-redux/selectors/entities/preferences';
|
import {getTheme} from 'mattermost-redux/selectors/entities/preferences';
|
||||||
import {getTeam} from 'mattermost-redux/selectors/entities/teams';
|
import {getTeam} from 'mattermost-redux/selectors/entities/teams';
|
||||||
import {shouldShowTermsOfService, getCurrentUserId} from 'mattermost-redux/selectors/entities/users';
|
import {shouldShowTermsOfService, getCurrentUserId} from 'mattermost-redux/selectors/entities/users';
|
||||||
@@ -74,6 +74,7 @@ function mapStateToProps(state: GlobalState) {
|
|||||||
shouldShowAppBar: shouldShowAppBar(state),
|
shouldShowAppBar: shouldShowAppBar(state),
|
||||||
isCloud: isCurrentLicenseCloud(state),
|
isCloud: isCurrentLicenseCloud(state),
|
||||||
isDevModeEnabled: isDevModeEnabled(state),
|
isDevModeEnabled: isDevModeEnabled(state),
|
||||||
|
customProfileAttributesEnabled: getFeatureFlagValue(state, 'CustomProfileAttributes') === 'true',
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ describe('components/Root', () => {
|
|||||||
shouldShowAppBar: false,
|
shouldShowAppBar: false,
|
||||||
isCloud: false,
|
isCloud: false,
|
||||||
enableDesktopLandingPage: true,
|
enableDesktopLandingPage: true,
|
||||||
|
customProfileAttributesEnabled: false,
|
||||||
actions: {
|
actions: {
|
||||||
loadConfigAndMe: jest.fn().mockImplementation(() => {
|
loadConfigAndMe: jest.fn().mockImplementation(() => {
|
||||||
return Promise.resolve({
|
return Promise.resolve({
|
||||||
|
|||||||
@@ -84,7 +84,9 @@ const Pluggable = makeAsyncPluggableComponent();
|
|||||||
|
|
||||||
const noop = () => {};
|
const noop = () => {};
|
||||||
|
|
||||||
export type Props = PropsFromRedux & RouteComponentProps;
|
export type Props = PropsFromRedux & RouteComponentProps & {
|
||||||
|
customProfileAttributesEnabled?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
interface State {
|
interface State {
|
||||||
shouldMountAppRoutes?: boolean;
|
shouldMountAppRoutes?: boolean;
|
||||||
@@ -185,8 +187,6 @@ export default class Root extends React.PureComponent<Props, State> {
|
|||||||
|
|
||||||
this.props.actions.migrateRecentEmojis();
|
this.props.actions.migrateRecentEmojis();
|
||||||
this.props.actions.loadRecentlyUsedCustomEmojis();
|
this.props.actions.loadRecentlyUsedCustomEmojis();
|
||||||
this.props.actions.getCustomProfileAttributeFields();
|
|
||||||
|
|
||||||
this.showLandingPageIfNecessary();
|
this.showLandingPageIfNecessary();
|
||||||
|
|
||||||
this.applyTheme();
|
this.applyTheme();
|
||||||
@@ -286,6 +286,9 @@ export default class Root extends React.PureComponent<Props, State> {
|
|||||||
|
|
||||||
if (!prevProps.isConfigLoaded && this.props.isConfigLoaded) {
|
if (!prevProps.isConfigLoaded && this.props.isConfigLoaded) {
|
||||||
this.setRudderConfig();
|
this.setRudderConfig();
|
||||||
|
if (this.props.customProfileAttributesEnabled) {
|
||||||
|
this.props.actions.getCustomProfileAttributeFields();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (prevState.shouldMountAppRoutes === false && this.state.shouldMountAppRoutes === true) {
|
if (prevState.shouldMountAppRoutes === false && this.state.shouldMountAppRoutes === true) {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user