diff --git a/x-pack/plugins/security_solution/common/experimental_features.ts b/x-pack/plugins/security_solution/common/experimental_features.ts index a30b5cfe17ae69..90346011c23e57 100644 --- a/x-pack/plugins/security_solution/common/experimental_features.ts +++ b/x-pack/plugins/security_solution/common/experimental_features.ts @@ -103,12 +103,6 @@ export const allowedExperimentalValues = Object.freeze({ * Enables experimental Entity Analytics HTTP endpoints */ riskScoringRoutesEnabled: true, - /* - * - * Enables Discover embedded within timeline - * - * */ - discoverInTimeline: true, /** * disables ES|QL rules diff --git a/x-pack/plugins/security_solution/public/actions/discover_in_timeline/vis_apply_filter.ts b/x-pack/plugins/security_solution/public/actions/discover_in_timeline/vis_apply_filter.ts index 5b6d2f547c4919..8c3f9e0214a63a 100644 --- a/x-pack/plugins/security_solution/public/actions/discover_in_timeline/vis_apply_filter.ts +++ b/x-pack/plugins/security_solution/public/actions/discover_in_timeline/vis_apply_filter.ts @@ -9,7 +9,7 @@ import { createFilterAction } from '@kbn/unified-search-plugin/public'; import type { History } from 'history'; import type { SecurityAppStore } from '../../common/store'; import type { StartServices } from '../../types'; -import { DiscoverInTimelineTrigger, DiscoverInTimelineAction } from '../constants'; +import { EsqlInTimelineTrigger, EsqlInTimelineAction } from '../constants'; const createDiscoverHistogramCustomFilterAction = ( store: SecurityAppStore, @@ -20,8 +20,8 @@ const createDiscoverHistogramCustomFilterAction = ( services.customDataService.query.filterManager, services.customDataService.query.timefilter.timefilter, services.theme, - DiscoverInTimelineAction.VIS_FILTER_ACTION, - DiscoverInTimelineAction.VIS_FILTER_ACTION + EsqlInTimelineAction.VIS_FILTER_ACTION, + EsqlInTimelineAction.VIS_FILTER_ACTION ); services.uiActions.registerAction(histogramApplyFilter); @@ -34,7 +34,7 @@ const createDiscoverHistogramCustomTrigger = ( services: StartServices ) => { services.uiActions.registerTrigger({ - id: DiscoverInTimelineTrigger.HISTOGRAM_TRIGGER, + id: EsqlInTimelineTrigger.HISTOGRAM_TRIGGER, }); }; @@ -47,8 +47,5 @@ export const registerDiscoverHistogramActions = ( const histogramApplyFilter = createDiscoverHistogramCustomFilterAction(store, history, services); - services.uiActions.attachAction( - DiscoverInTimelineTrigger.HISTOGRAM_TRIGGER, - histogramApplyFilter.id - ); + services.uiActions.attachAction(EsqlInTimelineTrigger.HISTOGRAM_TRIGGER, histogramApplyFilter.id); }; diff --git a/x-pack/plugins/security_solution/public/actions/types.ts b/x-pack/plugins/security_solution/public/actions/types.ts index 582c63c4673604..3450f6796ce27a 100644 --- a/x-pack/plugins/security_solution/public/actions/types.ts +++ b/x-pack/plugins/security_solution/public/actions/types.ts @@ -7,7 +7,7 @@ import type { CellAction, CellActionExecutionContext, CellActionFactory } from '@kbn/cell-actions'; import type { QueryOperator } from '../../common/types'; -export { DiscoverInTimelineAction, DiscoverInTimelineTrigger } from './constants'; +export { EsqlInTimelineTrigger, EsqlInTimelineAction } from './constants'; export interface AndFilter { field: string; value: string | string[]; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/esql_tab_content/customizations/use_histogram_customizations.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/esql_tab_content/customizations/use_histogram_customizations.tsx index 9ff69adbf46550..65a7f1a977696e 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/esql_tab_content/customizations/use_histogram_customizations.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/esql_tab_content/customizations/use_histogram_customizations.tsx @@ -14,7 +14,7 @@ import type { CustomizationCallback } from '@kbn/discover-plugin/public'; import type { UnifiedHistogramContainerProps } from '@kbn/unified-histogram-plugin/public'; import { ACTION_GLOBAL_APPLY_FILTER } from '@kbn/unified-search-plugin/public'; import { useCallback } from 'react'; -import { DiscoverInTimelineTrigger } from '../../../../../actions/constants'; +import { EsqlInTimelineTrigger } from '../../../../../actions/constants'; import { useKibana } from '../../../../../common/lib/kibana'; export type WithPreventableEvent = T & { @@ -67,9 +67,7 @@ export const useHistogramCustomization = () => { } if (filters && filters.length > 0) { - const applyFilterTrigger = uiActions.getTrigger( - DiscoverInTimelineTrigger.HISTOGRAM_TRIGGER - ); + const applyFilterTrigger = uiActions.getTrigger(EsqlInTimelineTrigger.HISTOGRAM_TRIGGER); await applyFilterTrigger.exec({ filters, diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/esql_tab_content/customizations/use_search_bar_customizations.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/esql_tab_content/customizations/use_search_bar_customizations.tsx index c748357bb24b81..0e74125e5ada4e 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/esql_tab_content/customizations/use_search_bar_customizations.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/esql_tab_content/customizations/use_search_bar_customizations.tsx @@ -6,18 +6,16 @@ */ import type { CustomizationCallback } from '@kbn/discover-plugin/public'; -import { useIsExperimentalFeatureEnabled } from '../../../../../common/hooks/use_experimental_features'; import { useGetStatefulQueryBar } from '../use_get_stateful_query_bar'; export const useSearchBarCustomizations = () => { const { CustomStatefulTopNavKqlQueryBar } = useGetStatefulQueryBar(); - const isDiscoverInTimelineEnabled = useIsExperimentalFeatureEnabled('discoverInTimeline'); const setSearchBarCustomizations: CustomizationCallback = ({ customizations }) => { customizations.set({ id: 'search_bar', CustomSearchBar: CustomStatefulTopNavKqlQueryBar, - hideDataViewPicker: isDiscoverInTimelineEnabled, + hideDataViewPicker: true, }); }; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx index d82987aaa60036..36aa32ce38f1d3 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx @@ -15,6 +15,7 @@ import { useDispatch } from 'react-redux'; import styled from 'styled-components'; import { FormattedMessage } from '@kbn/i18n-react'; +import { useKibana } from '../../../../common/lib/kibana'; import { useAssistantTelemetry } from '../../../../assistant/use_assistant_telemetry'; import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features'; import { useConversationStore } from '../../../../assistant/use_conversation_store'; @@ -133,7 +134,7 @@ const ActiveTimelineTab = memo( setConversationId, showTimeline, }) => { - const isEsqlInTimelineEnabled = useIsExperimentalFeatureEnabled('discoverInTimeline'); + const isEsqlSettingEnabled = useKibana().services.configSettings.ESQLEnabled; const { hasAssistantPrivilege } = useAssistantAvailability(); const getTab = useCallback( (tab: TimelineTabs) => { @@ -181,7 +182,7 @@ const ActiveTimelineTab = memo( timelineId={timelineId} /> - {isEsqlInTimelineEnabled && ( + {isEsqlSettingEnabled && ( = ({ sessionViewConfig, timelineDescription, }) => { - const isEsqlInTimelineEnabled = useIsExperimentalFeatureEnabled('discoverInTimeline'); + const isEsqlSettingEnabled = useKibana().services.configSettings.ESQLEnabled; const { hasAssistantPrivilege } = useAssistantAvailability(); const dispatch = useDispatch(); const getActiveTab = useMemo(() => getActiveTabSelector(), []); @@ -399,7 +400,7 @@ const TabsContentComponent: React.FC = ({ {i18n.QUERY_TAB} {showTimeline && } - {isEsqlInTimelineEnabled && ( + {isEsqlSettingEnabled && ( { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_state.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_state.cy.ts index be3e9de9c6a10b..580091e832b74d 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_state.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_state.cy.ts @@ -32,7 +32,6 @@ const DEFAULT_ESQL_QUERY = describe( 'Discover State', { - env: { ftrConfig: { enableExperimental: ['discoverInTimeline'] } }, tags: ['@ess'], }, () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts index 76aa204c89b149..d1a446df25a5a1 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts @@ -63,7 +63,6 @@ const esqlQuery = 'from auditbeat-* | where ecs.version == "8.0.0"'; describe( 'Discover Timeline State Integration', { - env: { ftrConfig: { enableExperimental: ['discoverInTimeline'] } }, tags: ['@ess', '@brokenInServerless'], // ESQL and test involving STACK_MANAGEMENT_PAGE are broken in serverless }, diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/search_filter.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/search_filter.cy.ts index 8784dc53bd5f27..51054e9c9d550c 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/search_filter.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/search_filter.cy.ts @@ -36,7 +36,6 @@ const esqlQuery = 'from auditbeat-* | where ecs.version == "8.0.0"'; describe( 'Basic discover search and filter operations', { - env: { ftrConfig: { enableExperimental: ['discoverInTimeline'] } }, tags: ['@ess'], }, () => { diff --git a/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts b/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts index d08c4062317565..2c89a0a5877bd2 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts @@ -341,7 +341,7 @@ export const GET_TIMELINE_HEADER = (fieldName: string) => { return `[data-test-subj="timeline"] [data-test-subj="header-text-${fieldName}"]`; }; -export const ESQL_TAB = getDataTestSubjectSelector('timelineTabs-discover'); +export const ESQL_TAB = getDataTestSubjectSelector('timelineTabs-esql'); export const TIMELINE_DATE_PICKER_CONTAINER = getDataTestSubjectSelector( 'timeline-date-picker-container'