[MM-63513] Turn Cross team search feature flag into a setting option (#30518)
* feat: Add EnableCrossTeamSearch configuration option to ServiceSettings * feat: Add EnableCrossTeamSearch configuration option to ServiceSettings * feat: Enable cross-team search by default * include old FF in client config
Этот коммит содержится в:
@@ -8,7 +8,7 @@ import styled from 'styled-components';
|
||||
|
||||
import {TrackCrossTeamSearchFeature, TrackCrossTeamSearchAllTeamsEvent, TrackCrossTeamSearchCurrentTeamEvent, TrackCrossTeamSearchDifferentTeamEvent} from 'mattermost-redux/constants/telemetry';
|
||||
import {getCurrentChannelNameForSearchShortcut} from 'mattermost-redux/selectors/entities/channels';
|
||||
import {getFeatureFlagValue} from 'mattermost-redux/selectors/entities/general';
|
||||
import {getIsCrossTeamSearchEnabled} from 'mattermost-redux/selectors/entities/general';
|
||||
import {getCurrentTeamId} from 'mattermost-redux/selectors/entities/teams';
|
||||
|
||||
import {trackFeatureEvent} from 'actions/telemetry_actions';
|
||||
@@ -25,8 +25,6 @@ import * as Keyboard from 'utils/keyboard';
|
||||
import {isServerVersionGreaterThanOrEqualTo} from 'utils/server_version';
|
||||
import {isDesktopApp, getDesktopVersion, isMacApp} from 'utils/user_agent';
|
||||
|
||||
import type {GlobalState} from 'types/store';
|
||||
|
||||
import SearchBox from './search_box';
|
||||
|
||||
const PopoverStyled = styled(Popover)`
|
||||
@@ -115,7 +113,7 @@ const NewSearch = (): JSX.Element => {
|
||||
const searchTeam = useSelector(getSearchTeam);
|
||||
const pluginSearch = useSelector(getSearchButtons);
|
||||
const currentTeamId = useSelector(getCurrentTeamId);
|
||||
const crossTeamSearchEnabled = useSelector((state: GlobalState) => getFeatureFlagValue(state, 'ExperimentalCrossTeamSearch')) === 'true';
|
||||
const crossTeamSearchEnabled = useSelector(getIsCrossTeamSearchEnabled);
|
||||
|
||||
const dispatch = useDispatch();
|
||||
const [focused, setFocused] = useState<boolean>(false);
|
||||
|
||||
@@ -10,7 +10,7 @@ import type {ServerError} from '@mattermost/types/errors';
|
||||
|
||||
import {getMorePostsForSearch, getMoreFilesForSearch} from 'mattermost-redux/actions/search';
|
||||
import {getCurrentChannel} from 'mattermost-redux/selectors/entities/channels';
|
||||
import {getFeatureFlagValue} from 'mattermost-redux/selectors/entities/general';
|
||||
import {getIsCrossTeamSearchEnabled} from 'mattermost-redux/selectors/entities/general';
|
||||
|
||||
import {autocompleteChannelsForSearch} from 'actions/channel_actions';
|
||||
import {autocompleteUsersInCurrentTeam} from 'actions/user_actions';
|
||||
@@ -43,6 +43,7 @@ function mapStateToProps(state: GlobalState) {
|
||||
const currentChannel = getCurrentChannel(state);
|
||||
const isMobileView = getIsMobileView(state);
|
||||
const isRhsOpen = getIsRhsOpen(state);
|
||||
const crossTeamSearchEnabled = getIsCrossTeamSearchEnabled(state);
|
||||
|
||||
return {
|
||||
currentChannel,
|
||||
@@ -64,7 +65,7 @@ function mapStateToProps(state: GlobalState) {
|
||||
isPinnedPosts: rhsState === RHSStates.PIN,
|
||||
isChannelFiles: rhsState === RHSStates.CHANNEL_FILES,
|
||||
isMobileView,
|
||||
crossTeamSearchEnabled: getFeatureFlagValue(state, 'ExperimentalCrossTeamSearch') === 'true',
|
||||
crossTeamSearchEnabled,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -159,3 +159,7 @@ export const getCustomProfileAttributes: (state: GlobalState) => UserPropertyFie
|
||||
return Object.values(fields).sort((a, b) => (a.attrs?.sort_order ?? 0) - (b.attrs?.sort_order ?? 0));
|
||||
},
|
||||
);
|
||||
|
||||
export function getIsCrossTeamSearchEnabled(state: GlobalState): boolean {
|
||||
return state.entities.general.config.EnableCrossTeamSearch === 'true';
|
||||
}
|
||||
|
||||
@@ -62,6 +62,7 @@ export type ClientConfig = {
|
||||
EnableUserStatuses: string;
|
||||
EnableLastActiveTime: string;
|
||||
EnableTimedDND: string;
|
||||
EnableCrossTeamSearch: 'true' | 'false';
|
||||
EnableCustomTermsOfService: string;
|
||||
EnableDeveloper: string;
|
||||
EnableDiagnostics: string;
|
||||
@@ -353,6 +354,7 @@ export type ServiceSettings = {
|
||||
GiphySdkKey: string;
|
||||
PostEditTimeLimit: number;
|
||||
TimeBetweenUserTypingUpdatesMilliseconds: number;
|
||||
EnableCrossTeamSearch: boolean;
|
||||
EnablePostSearch: boolean;
|
||||
EnableFileSearch: boolean;
|
||||
MinimumHashtagLength: number;
|
||||
|
||||
Ссылка в новой задаче
Block a user