From 34f8f62d4a807ed1c21ee399046e6a061f40aa10 Mon Sep 17 00:00:00 2001 From: Tim Roes Date: Wed, 17 Mar 2021 14:44:55 +0100 Subject: [PATCH 01/50] Cleanup advanced settings (#93437) * Cleanup advanced settings * Fix translations/telemetry settings * Fix telemetry settings * Fix discover api docs Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- api_docs/discover.json | 35 ++++++------------- docs/management/advanced-options.asciidoc | 4 --- src/plugins/discover/common/index.ts | 1 - src/plugins/discover/server/ui_settings.ts | 15 -------- .../server/collectors/management/schema.ts | 4 --- .../server/collectors/management/types.ts | 1 - src/plugins/telemetry/schema/oss_plugins.json | 6 ---- src/plugins/visualize/common/constants.ts | 1 - x-pack/plugins/rollup/server/plugin.ts | 4 +-- .../translations/translations/ja-JP.json | 3 -- .../translations/translations/zh-CN.json | 3 -- 11 files changed, 12 insertions(+), 65 deletions(-) diff --git a/api_docs/discover.json b/api_docs/discover.json index adcecddfcc444..267669692051f 100644 --- a/api_docs/discover.json +++ b/api_docs/discover.json @@ -911,21 +911,6 @@ "interfaces": [], "enums": [], "misc": [ - { - "tags": [], - "id": "def-common.AGGS_TERMS_SIZE_SETTING", - "type": "string", - "label": "AGGS_TERMS_SIZE_SETTING", - "description": [], - "source": { - "path": "src/plugins/discover/common/index.ts", - "lineNumber": 11 - }, - "signature": [ - "\"discover:aggs:terms:size\"" - ], - "initialIsOpen": false - }, { "tags": [], "id": "def-common.CONTEXT_DEFAULT_SIZE_SETTING", @@ -934,7 +919,7 @@ "description": [], "source": { "path": "src/plugins/discover/common/index.ts", - "lineNumber": 16 + "lineNumber": 15 }, "signature": [ "\"context:defaultSize\"" @@ -949,7 +934,7 @@ "description": [], "source": { "path": "src/plugins/discover/common/index.ts", - "lineNumber": 17 + "lineNumber": 16 }, "signature": [ "\"context:step\"" @@ -964,7 +949,7 @@ "description": [], "source": { "path": "src/plugins/discover/common/index.ts", - "lineNumber": 18 + "lineNumber": 17 }, "signature": [ "\"context:tieBreakerFields\"" @@ -994,7 +979,7 @@ "description": [], "source": { "path": "src/plugins/discover/common/index.ts", - "lineNumber": 14 + "lineNumber": 13 }, "signature": [ "\"doc_table:hideTimeColumn\"" @@ -1009,7 +994,7 @@ "description": [], "source": { "path": "src/plugins/discover/common/index.ts", - "lineNumber": 19 + "lineNumber": 18 }, "signature": [ "\"doc_table:legacy\"" @@ -1024,7 +1009,7 @@ "description": [], "source": { "path": "src/plugins/discover/common/index.ts", - "lineNumber": 15 + "lineNumber": 14 }, "signature": [ "\"fields:popularLimit\"" @@ -1039,7 +1024,7 @@ "description": [], "source": { "path": "src/plugins/discover/common/index.ts", - "lineNumber": 20 + "lineNumber": 19 }, "signature": [ "\"discover:modifyColumnsOnSwitch\"" @@ -1069,7 +1054,7 @@ "description": [], "source": { "path": "src/plugins/discover/common/index.ts", - "lineNumber": 21 + "lineNumber": 20 }, "signature": [ "\"discover:searchFieldsFromSource\"" @@ -1084,7 +1069,7 @@ "description": [], "source": { "path": "src/plugins/discover/common/index.ts", - "lineNumber": 13 + "lineNumber": 12 }, "signature": [ "\"discover:searchOnPageLoad\"" @@ -1099,7 +1084,7 @@ "description": [], "source": { "path": "src/plugins/discover/common/index.ts", - "lineNumber": 12 + "lineNumber": 11 }, "signature": [ "\"discover:sort:defaultOrder\"" diff --git a/docs/management/advanced-options.asciidoc b/docs/management/advanced-options.asciidoc index 3ee7a0471eec1..5c27a7bdacdee 100644 --- a/docs/management/advanced-options.asciidoc +++ b/docs/management/advanced-options.asciidoc @@ -240,10 +240,6 @@ in the current index pattern is used. The columns that appear by default on the *Discover* page. The default is `_source`. -[[discover-aggs-terms-size]]`discover:aggs:terms:size`:: -The number terms that are visualized when clicking the *Visualize* button in the -field drop down. The default is `20`. - [[discover-samplesize]]`discover:sampleSize`:: The number of rows to show in the *Discover* table. diff --git a/src/plugins/discover/common/index.ts b/src/plugins/discover/common/index.ts index 5daab29348b9f..45cc95ee40804 100644 --- a/src/plugins/discover/common/index.ts +++ b/src/plugins/discover/common/index.ts @@ -8,7 +8,6 @@ export const DEFAULT_COLUMNS_SETTING = 'defaultColumns'; export const SAMPLE_SIZE_SETTING = 'discover:sampleSize'; -export const AGGS_TERMS_SIZE_SETTING = 'discover:aggs:terms:size'; export const SORT_DEFAULT_ORDER_SETTING = 'discover:sort:defaultOrder'; export const SEARCH_ON_PAGE_LOAD_SETTING = 'discover:searchOnPageLoad'; export const DOC_HIDE_TIME_COLUMN_SETTING = 'doc_table:hideTimeColumn'; diff --git a/src/plugins/discover/server/ui_settings.ts b/src/plugins/discover/server/ui_settings.ts index e528e9708bf0d..cedc713b44f63 100644 --- a/src/plugins/discover/server/ui_settings.ts +++ b/src/plugins/discover/server/ui_settings.ts @@ -14,7 +14,6 @@ import { METRIC_TYPE } from '@kbn/analytics'; import { DEFAULT_COLUMNS_SETTING, SAMPLE_SIZE_SETTING, - AGGS_TERMS_SIZE_SETTING, SORT_DEFAULT_ORDER_SETTING, SEARCH_ON_PAGE_LOAD_SETTING, DOC_HIDE_TIME_COLUMN_SETTING, @@ -50,20 +49,6 @@ export const uiSettings: Record = { category: ['discover'], schema: schema.number(), }, - [AGGS_TERMS_SIZE_SETTING]: { - name: i18n.translate('discover.advancedSettings.aggsTermsSizeTitle', { - defaultMessage: 'Number of terms', - }), - value: 20, - type: 'number', - description: i18n.translate('discover.advancedSettings.aggsTermsSizeText', { - defaultMessage: - 'Determines how many terms will be visualized when clicking the "visualize" ' + - 'button, in the field drop downs, in the discover sidebar.', - }), - category: ['discover'], - schema: schema.number(), - }, [SORT_DEFAULT_ORDER_SETTING]: { name: i18n.translate('discover.advancedSettings.sortDefaultOrderTitle', { defaultMessage: 'Default sort direction', diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts index f166e4fcebfa3..b8100c048d512 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts @@ -196,10 +196,6 @@ export const stackManagementSchema: MakeSchemaFrom = { type: 'long', _meta: { description: 'Non-default value of setting.' }, }, - 'discover:aggs:terms:size': { - type: 'long', - _meta: { description: 'Non-default value of setting.' }, - }, 'context:tieBreakerFields': { type: 'array', items: { diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts index 8bbc14e0678d3..15d78e3e79b0e 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts @@ -68,7 +68,6 @@ export interface UsageStats { 'discover:sampleSize': number; defaultColumns: string[]; 'context:defaultSize': number; - 'discover:aggs:terms:size': number; 'context:tieBreakerFields': string[]; 'discover:sort:defaultOrder': string; 'context:step': number; diff --git a/src/plugins/telemetry/schema/oss_plugins.json b/src/plugins/telemetry/schema/oss_plugins.json index f7795dbf9b2f8..cadec303d6e6e 100644 --- a/src/plugins/telemetry/schema/oss_plugins.json +++ b/src/plugins/telemetry/schema/oss_plugins.json @@ -7703,12 +7703,6 @@ "description": "Non-default value of setting." } }, - "discover:aggs:terms:size": { - "type": "long", - "_meta": { - "description": "Non-default value of setting." - } - }, "context:tieBreakerFields": { "type": "array", "items": { diff --git a/src/plugins/visualize/common/constants.ts b/src/plugins/visualize/common/constants.ts index fcdc7c1cbc9a2..5fe8ed7e095a2 100644 --- a/src/plugins/visualize/common/constants.ts +++ b/src/plugins/visualize/common/constants.ts @@ -6,6 +6,5 @@ * Side Public License, v 1. */ -export const AGGS_TERMS_SIZE_SETTING = 'discover:aggs:terms:size'; export const STATE_STORAGE_KEY = '_a'; export const GLOBAL_STATE_STORAGE_KEY = '_g'; diff --git a/x-pack/plugins/rollup/server/plugin.ts b/x-pack/plugins/rollup/server/plugin.ts index 5622b8b4ed320..1b982ab45205d 100644 --- a/x-pack/plugins/rollup/server/plugin.ts +++ b/x-pack/plugins/rollup/server/plugin.ts @@ -113,11 +113,11 @@ export class RollupPlugin implements Plugin { value: true, description: i18n.translate('xpack.rollupJobs.rollupIndexPatternsDescription', { defaultMessage: `Enable the creation of index patterns which capture rollup indices, - which in turn enable visualizations based on rollup data. Refresh - the page to apply the changes.`, + which in turn enable visualizations based on rollup data.`, }), category: ['rollups'], schema: schema.boolean(), + requiresPageReload: true, }, }); diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index ab146b0127c5d..43bbc7d935720 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -1448,8 +1448,6 @@ "devTools.devToolsTitle": "開発ツール", "devTools.k7BreadcrumbsDevToolsLabel": "開発ツール", "devTools.pageTitle": "開発ツール", - "discover.advancedSettings.aggsTermsSizeText": "「可視化」ボタンをクリックした際に、フィールドドロップダウンや Discover サイドバーに可視化される用語の数を設定します。", - "discover.advancedSettings.aggsTermsSizeTitle": "用語数", "discover.advancedSettings.context.defaultSizeText": "コンテキストビューに表示される周りのエントリーの数", "discover.advancedSettings.context.defaultSizeTitle": "コンテキストサイズ", "discover.advancedSettings.context.sizeStepText": "コンテキストサイズを増減させる際の最低単位です", @@ -17315,7 +17313,6 @@ "xpack.rollupJobs.listBreadcrumbTitle": "ロールアップジョブ", "xpack.rollupJobs.loadAction.errorTitle": "ロールアップジョブを読み込み中にエラーが発生", "xpack.rollupJobs.refreshAction.errorTitle": "ロールアップジョブの更新中にエラーが発生", - "xpack.rollupJobs.rollupIndexPatternsDescription": "ロールアップインデックスを捕捉するインデックスパターンの作成を有効にします。\n それによりロールアップデータに基づくビジュアライゼーションが可能になります。更新\n 変更を適用するにはページ。", "xpack.rollupJobs.rollupIndexPatternsTitle": "ロールアップインデックスパターンを有効にする", "xpack.rollupJobs.startJobsAction.errorTitle": "ロールアップジョブの開始中にエラーが発生", "xpack.rollupJobs.stopJobsAction.errorTitle": "ロールアップジョブの停止中にエラーが発生", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 0c24975c9ecd5..5d290f4443c8c 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -1456,8 +1456,6 @@ "devTools.devToolsTitle": "开发工具", "devTools.k7BreadcrumbsDevToolsLabel": "开发工具", "devTools.pageTitle": "开发工具", - "discover.advancedSettings.aggsTermsSizeText": "确定在单击“可视化”按钮时将在发现侧边栏的字段下拉列表中可视化多少个词。", - "discover.advancedSettings.aggsTermsSizeTitle": "词数目", "discover.advancedSettings.context.defaultSizeText": "要在上下文视图中显示的周围条目数目", "discover.advancedSettings.context.defaultSizeTitle": "上下文大小", "discover.advancedSettings.context.sizeStepText": "递增或递减上下文大小的步进大小", @@ -17545,7 +17543,6 @@ "xpack.rollupJobs.listBreadcrumbTitle": "汇总/打包作业", "xpack.rollupJobs.loadAction.errorTitle": "加载汇总/打包作业时出错", "xpack.rollupJobs.refreshAction.errorTitle": "刷新汇总/打包作业时出错", - "xpack.rollupJobs.rollupIndexPatternsDescription": "启用用于捕获汇总/打包索引的索引模式的创建,\n 汇总/打包索引反过来基于汇总/打包数据启用可视化。刷新\n 页面以应用更改。", "xpack.rollupJobs.rollupIndexPatternsTitle": "启用汇总索引模式", "xpack.rollupJobs.startJobsAction.errorTitle": "启动汇总/打包作业时出错", "xpack.rollupJobs.stopJobsAction.errorTitle": "停止汇总/打包作业时出错", From 4ed09420ce3f36374b94af2fac7e128a192c114b Mon Sep 17 00:00:00 2001 From: Anton Dosov Date: Wed, 17 Mar 2021 15:02:37 +0100 Subject: [PATCH 02/50] [QueryBar] a11y improvements, focus glitches fixes, unskip tests (#94148) --- .../ui/query_string_input/_query_bar.scss | 6 +- .../query_string_input/language_switcher.tsx | 2 + .../query_string_input.test.tsx | 111 +++++++++++++++--- .../query_string_input/query_string_input.tsx | 60 +++++++--- .../saved_query_management_component.tsx | 1 + test/functional/services/query_bar.ts | 3 +- 6 files changed, 147 insertions(+), 36 deletions(-) diff --git a/src/plugins/data/public/ui/query_string_input/_query_bar.scss b/src/plugins/data/public/ui/query_string_input/_query_bar.scss index 6f088fe641c51..c758ace75bd60 100644 --- a/src/plugins/data/public/ui/query_string_input/_query_bar.scss +++ b/src/plugins/data/public/ui/query_string_input/_query_bar.scss @@ -26,18 +26,18 @@ padding-top: $euiSizeS + 3px; box-shadow: 0 0 0 1px $euiFormBorderColor; - &:not(:focus):not(:invalid) { + &:not(.kbnQueryBar__textarea--autoHeight):not(:invalid) { @include euiYScrollWithShadows; } - &:not(:focus) { + &:not(.kbnQueryBar__textarea--autoHeight) { white-space: nowrap; overflow-y: hidden; overflow-x: hidden; } // When focused, let it scroll - &:focus { + &.kbnQueryBar__textarea--autoHeight { overflow-x: auto; overflow-y: auto; white-space: normal; diff --git a/src/plugins/data/public/ui/query_string_input/language_switcher.tsx b/src/plugins/data/public/ui/query_string_input/language_switcher.tsx index 053ca6f78e910..65e84612bc508 100644 --- a/src/plugins/data/public/ui/query_string_input/language_switcher.tsx +++ b/src/plugins/data/public/ui/query_string_input/language_switcher.tsx @@ -86,6 +86,8 @@ export function QueryLanguageSwitcher({ isOpen={isPopoverOpen} closePopover={() => setIsPopoverOpen(false)} repositionOnScroll + ownFocus={true} + initialFocus={'[role="switch"]'} > ({ clear: jest.fn(), }); -function wrapQueryStringInputInContext(testProps: any, storage?: any) { - const defaultOptions = { - screenTitle: 'Another Screen', - intl: null as any, - }; +const QueryStringInput = withKibana(QueryStringInputUI); +function wrapQueryStringInputInContext(testProps: any, storage?: any) { const services = { ...startMock, data: dataPluginMock.createStartContract(), @@ -75,6 +73,11 @@ function wrapQueryStringInputInContext(testProps: any, storage?: any) { storage: storage || createMockStorage(), }; + const defaultOptions = { + screenTitle: 'Another Screen', + intl: null as any, + }; + return ( @@ -84,15 +87,12 @@ function wrapQueryStringInputInContext(testProps: any, storage?: any) { ); } -// FAILING: https://github.com/elastic/kibana/issues/85715 -// FAILING: https://github.com/elastic/kibana/issues/89603 -// FAILING: https://github.com/elastic/kibana/issues/89641 -describe.skip('QueryStringInput', () => { +describe('QueryStringInput', () => { beforeEach(() => { jest.clearAllMocks(); }); - it.skip('Should render the given query', async () => { + it('Should render the given query', async () => { const { getByText } = render( wrapQueryStringInputInContext({ query: kqlQuery, @@ -228,7 +228,7 @@ describe.skip('QueryStringInput', () => { expect(mockCallback).toHaveBeenCalledWith(); }); - it('Should fire onChangeQueryInputFocus callback on input blur', () => { + it('Should fire onChangeQueryInputFocus after a delay', () => { const mockCallback = jest.fn(); const component = mount( @@ -243,10 +243,93 @@ describe.skip('QueryStringInput', () => { const inputWrapper = component.find(EuiTextArea).find('textarea'); inputWrapper.simulate('blur'); + jest.advanceTimersByTime(10); + + expect(mockCallback).toHaveBeenCalledTimes(0); + + jest.advanceTimersByTime(100); + expect(mockCallback).toHaveBeenCalledTimes(1); expect(mockCallback).toHaveBeenCalledWith(false); }); + it('Should not fire onChangeQueryInputFocus if input is focused back', () => { + const mockCallback = jest.fn(); + + const component = mount( + wrapQueryStringInputInContext({ + query: kqlQuery, + onChangeQueryInputFocus: mockCallback, + indexPatterns: [stubIndexPatternWithFields], + disableAutoFocus: true, + }) + ); + + const inputWrapper = component.find(EuiTextArea).find('textarea'); + inputWrapper.simulate('blur'); + + jest.advanceTimersByTime(5); + expect(mockCallback).toHaveBeenCalledTimes(0); + + inputWrapper.simulate('focus'); + + expect(mockCallback).toHaveBeenCalledTimes(1); + expect(mockCallback).toHaveBeenCalledWith(true); + + jest.advanceTimersByTime(100); + expect(mockCallback).toHaveBeenCalledTimes(1); + }); + + it('Should call onSubmit after a delay when submitOnBlur is on and blurs input', () => { + const mockCallback = jest.fn(); + + const component = mount( + wrapQueryStringInputInContext({ + query: kqlQuery, + onSubmit: mockCallback, + indexPatterns: [stubIndexPatternWithFields], + disableAutoFocus: true, + submitOnBlur: true, + }) + ); + + const inputWrapper = component.find(EuiTextArea).find('textarea'); + inputWrapper.simulate('blur'); + + jest.advanceTimersByTime(10); + + expect(mockCallback).toHaveBeenCalledTimes(0); + + jest.advanceTimersByTime(100); + + expect(mockCallback).toHaveBeenCalledTimes(1); + expect(mockCallback).toHaveBeenCalledWith(kqlQuery); + }); + + it("Shouldn't call onSubmit on blur by default", () => { + const mockCallback = jest.fn(); + + const component = mount( + wrapQueryStringInputInContext({ + query: kqlQuery, + onSubmit: mockCallback, + indexPatterns: [stubIndexPatternWithFields], + disableAutoFocus: true, + }) + ); + + const inputWrapper = component.find(EuiTextArea).find('textarea'); + inputWrapper.simulate('blur'); + + jest.advanceTimersByTime(10); + + expect(mockCallback).toHaveBeenCalledTimes(0); + + jest.advanceTimersByTime(100); + + expect(mockCallback).toHaveBeenCalledTimes(0); + }); + it('Should use PersistedLog for recent search suggestions', async () => { const component = mount( wrapQueryStringInputInContext({ diff --git a/src/plugins/data/public/ui/query_string_input/query_string_input.tsx b/src/plugins/data/public/ui/query_string_input/query_string_input.tsx index 65f7e4f3964cd..5e34c401c7615 100644 --- a/src/plugins/data/public/ui/query_string_input/query_string_input.tsx +++ b/src/plugins/data/public/ui/query_string_input/query_string_input.tsx @@ -123,6 +123,12 @@ export default class QueryStringInputUI extends Component { private componentIsUnmounting = false; private queryBarInputDivRefInstance: RefObject = createRef(); + /** + * If any element within the container is currently focused + * @private + */ + private isFocusWithin = false; + private getQueryString = () => { return toUser(this.props.query.query); }; @@ -492,30 +498,37 @@ export default class QueryStringInputUI extends Component { private onOutsideClick = () => { if (this.state.isSuggestionsVisible) { this.setState({ isSuggestionsVisible: false, index: null }); - } - this.handleBlurHeight(); - if (this.props.onChangeQueryInputFocus) { - this.props.onChangeQueryInputFocus(false); + this.scheduleOnInputBlur(); } }; + private blurTimeoutHandle: number | undefined; + /** + * Notify parent about input's blur after a delay only + * if the focus didn't get back inside the input container + * and if suggestions were closed + * https://github.com/elastic/kibana/issues/92040 + */ + private scheduleOnInputBlur = () => { + clearTimeout(this.blurTimeoutHandle); + this.blurTimeoutHandle = window.setTimeout(() => { + if (!this.isFocusWithin && !this.state.isSuggestionsVisible && !this.componentIsUnmounting) { + this.handleBlurHeight(); + if (this.props.onChangeQueryInputFocus) { + this.props.onChangeQueryInputFocus(false); + } + + if (this.props.submitOnBlur) { + this.onSubmit(this.props.query); + } + } + }, 50); + }; + private onInputBlur = () => { - this.handleBlurHeight(); - if (this.props.onChangeQueryInputFocus) { - this.props.onChangeQueryInputFocus(false); - } if (isFunction(this.props.onBlur)) { this.props.onBlur(); } - if (this.props.submitOnBlur) { - // Input blur triggers when the user selects something from autocomplete, so wait a bit to ensure that - // the entire QueryStringInput component has actually blurred (e.g. from user clicking or tabbing away) - setTimeout(() => { - if (document.activeElement !== this.inputRef) { - this.onSubmit(this.props.query); - } - }, 200); - } }; private onClickSuggestion = (suggestion: QuerySuggestion, index: number) => { @@ -604,6 +617,7 @@ export default class QueryStringInputUI extends Component { handleAutoHeight = () => { if (this.inputRef !== null && document.activeElement === this.inputRef) { + this.inputRef.classList.add('kbnQueryBar__textarea--autoHeight'); this.inputRef.style.setProperty('height', `${this.inputRef.scrollHeight}px`, 'important'); } this.handleListUpdate(); @@ -612,6 +626,7 @@ export default class QueryStringInputUI extends Component { handleRemoveHeight = () => { if (this.inputRef !== null) { this.inputRef.style.removeProperty('height'); + this.inputRef.classList.remove('kbnQueryBar__textarea--autoHeight'); } }; @@ -648,7 +663,16 @@ export default class QueryStringInputUI extends Component { ); return ( -
+
{ + this.isFocusWithin = true; + }} + onBlur={(e) => { + this.isFocusWithin = false; + this.scheduleOnInputBlur(); + }} + > {this.props.prepend}
{ await this.setQuery(''); - await PageObjects.common.pressTabKey(); + await PageObjects.common.pressTabKey(); // move outside of input into language switcher + await PageObjects.common.pressTabKey(); // move outside of language switcher so time picker appears } public async submitQuery(): Promise { From 7cc9f01843ee2fceaf53012072f89d97fe47727c Mon Sep 17 00:00:00 2001 From: James Rodewig <40268737+jrodewig@users.noreply.github.com> Date: Wed, 17 Mar 2021 10:14:42 -0400 Subject: [PATCH 03/50] Update doc links for ingest pipelines app (#94742) --- ...a-plugin-core-public.doclinksstart.links.md | 1 + .../kibana-plugin-core-public.doclinksstart.md | 2 +- src/core/public/doc_links/doc_links_service.ts | 6 ++++++ src/core/public/public.api.md | 1 + .../components/on_failure_processors_title.tsx | 4 +--- .../components/processors_empty_prompt.tsx | 6 +----- .../components/processors_header.tsx | 6 +----- .../application/services/documentation.ts | 18 +++++++++++++----- 8 files changed, 25 insertions(+), 19 deletions(-) diff --git a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md index 026032a7b0740..c95ba01981cfe 100644 --- a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md +++ b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md @@ -163,5 +163,6 @@ readonly links: { readonly ccs: Record; readonly plugins: Record; readonly snapshotRestore: Record; + readonly ingest: Record; }; ``` diff --git a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md index d653623d5fe22..971e02cc2c195 100644 --- a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md +++ b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md @@ -17,5 +17,5 @@ export interface DocLinksStart | --- | --- | --- | | [DOC\_LINK\_VERSION](./kibana-plugin-core-public.doclinksstart.doc_link_version.md) | string | | | [ELASTIC\_WEBSITE\_URL](./kibana-plugin-core-public.doclinksstart.elastic_website_url.md) | string | | -| [links](./kibana-plugin-core-public.doclinksstart.links.md) | {
readonly dashboard: {
readonly guide: string;
readonly drilldowns: string;
readonly drilldownsTriggerPicker: string;
readonly urlDrilldownTemplateSyntax: string;
readonly urlDrilldownVariables: string;
};
readonly discover: Record<string, string>;
readonly filebeat: {
readonly base: string;
readonly installation: string;
readonly configuration: string;
readonly elasticsearchOutput: string;
readonly elasticsearchModule: string;
readonly startup: string;
readonly exportedFields: string;
};
readonly auditbeat: {
readonly base: string;
};
readonly metricbeat: {
readonly base: string;
readonly configure: string;
readonly httpEndpoint: string;
readonly install: string;
readonly start: string;
};
readonly enterpriseSearch: {
readonly base: string;
readonly appSearchBase: string;
readonly workplaceSearchBase: string;
};
readonly heartbeat: {
readonly base: string;
};
readonly logstash: {
readonly base: string;
};
readonly functionbeat: {
readonly base: string;
};
readonly winlogbeat: {
readonly base: string;
};
readonly aggs: {
readonly composite: string;
readonly composite_missing_bucket: string;
readonly date_histogram: string;
readonly date_range: string;
readonly date_format_pattern: string;
readonly filter: string;
readonly filters: string;
readonly geohash_grid: string;
readonly histogram: string;
readonly ip_range: string;
readonly range: string;
readonly significant_terms: string;
readonly terms: string;
readonly avg: string;
readonly avg_bucket: string;
readonly max_bucket: string;
readonly min_bucket: string;
readonly sum_bucket: string;
readonly cardinality: string;
readonly count: string;
readonly cumulative_sum: string;
readonly derivative: string;
readonly geo_bounds: string;
readonly geo_centroid: string;
readonly max: string;
readonly median: string;
readonly min: string;
readonly moving_avg: string;
readonly percentile_ranks: string;
readonly serial_diff: string;
readonly std_dev: string;
readonly sum: string;
readonly top_hits: string;
};
readonly runtimeFields: string;
readonly scriptedFields: {
readonly scriptFields: string;
readonly scriptAggs: string;
readonly painless: string;
readonly painlessApi: string;
readonly painlessLangSpec: string;
readonly painlessSyntax: string;
readonly painlessWalkthrough: string;
readonly luceneExpressions: string;
};
readonly indexPatterns: {
readonly loadingData: string;
readonly introduction: string;
};
readonly addData: string;
readonly kibana: string;
readonly elasticsearch: Record<string, string>;
readonly siem: {
readonly guide: string;
readonly gettingStarted: string;
};
readonly query: {
readonly eql: string;
readonly luceneQuerySyntax: string;
readonly queryDsl: string;
readonly kueryQuerySyntax: string;
};
readonly date: {
readonly dateMath: string;
readonly dateMathIndexNames: string;
};
readonly management: Record<string, string>;
readonly ml: Record<string, string>;
readonly transforms: Record<string, string>;
readonly visualize: Record<string, string>;
readonly apis: Readonly<{
createIndex: string;
createSnapshotLifecyclePolicy: string;
createRoleMapping: string;
createRoleMappingTemplates: string;
createApiKey: string;
createPipeline: string;
createTransformRequest: string;
cronExpressions: string;
executeWatchActionModes: string;
indexExists: string;
openIndex: string;
putComponentTemplate: string;
painlessExecute: string;
painlessExecuteAPIContexts: string;
putComponentTemplateMetadata: string;
putSnapshotLifecyclePolicy: string;
putWatch: string;
updateTransform: string;
}>;
readonly observability: Record<string, string>;
readonly alerting: Record<string, string>;
readonly maps: Record<string, string>;
readonly monitoring: Record<string, string>;
readonly security: Readonly<{
apiKeyServiceSettings: string;
clusterPrivileges: string;
elasticsearchSettings: string;
elasticsearchEnableSecurity: string;
indicesPrivileges: string;
kibanaTLS: string;
kibanaPrivileges: string;
mappingRoles: string;
mappingRolesFieldRules: string;
runAsPrivilege: string;
}>;
readonly watcher: Record<string, string>;
readonly ccs: Record<string, string>;
readonly plugins: Record<string, string>;
readonly snapshotRestore: Record<string, string>;
} | | +| [links](./kibana-plugin-core-public.doclinksstart.links.md) | {
readonly dashboard: {
readonly guide: string;
readonly drilldowns: string;
readonly drilldownsTriggerPicker: string;
readonly urlDrilldownTemplateSyntax: string;
readonly urlDrilldownVariables: string;
};
readonly discover: Record<string, string>;
readonly filebeat: {
readonly base: string;
readonly installation: string;
readonly configuration: string;
readonly elasticsearchOutput: string;
readonly elasticsearchModule: string;
readonly startup: string;
readonly exportedFields: string;
};
readonly auditbeat: {
readonly base: string;
};
readonly metricbeat: {
readonly base: string;
readonly configure: string;
readonly httpEndpoint: string;
readonly install: string;
readonly start: string;
};
readonly enterpriseSearch: {
readonly base: string;
readonly appSearchBase: string;
readonly workplaceSearchBase: string;
};
readonly heartbeat: {
readonly base: string;
};
readonly logstash: {
readonly base: string;
};
readonly functionbeat: {
readonly base: string;
};
readonly winlogbeat: {
readonly base: string;
};
readonly aggs: {
readonly composite: string;
readonly composite_missing_bucket: string;
readonly date_histogram: string;
readonly date_range: string;
readonly date_format_pattern: string;
readonly filter: string;
readonly filters: string;
readonly geohash_grid: string;
readonly histogram: string;
readonly ip_range: string;
readonly range: string;
readonly significant_terms: string;
readonly terms: string;
readonly avg: string;
readonly avg_bucket: string;
readonly max_bucket: string;
readonly min_bucket: string;
readonly sum_bucket: string;
readonly cardinality: string;
readonly count: string;
readonly cumulative_sum: string;
readonly derivative: string;
readonly geo_bounds: string;
readonly geo_centroid: string;
readonly max: string;
readonly median: string;
readonly min: string;
readonly moving_avg: string;
readonly percentile_ranks: string;
readonly serial_diff: string;
readonly std_dev: string;
readonly sum: string;
readonly top_hits: string;
};
readonly runtimeFields: string;
readonly scriptedFields: {
readonly scriptFields: string;
readonly scriptAggs: string;
readonly painless: string;
readonly painlessApi: string;
readonly painlessLangSpec: string;
readonly painlessSyntax: string;
readonly painlessWalkthrough: string;
readonly luceneExpressions: string;
};
readonly indexPatterns: {
readonly loadingData: string;
readonly introduction: string;
};
readonly addData: string;
readonly kibana: string;
readonly elasticsearch: Record<string, string>;
readonly siem: {
readonly guide: string;
readonly gettingStarted: string;
};
readonly query: {
readonly eql: string;
readonly luceneQuerySyntax: string;
readonly queryDsl: string;
readonly kueryQuerySyntax: string;
};
readonly date: {
readonly dateMath: string;
readonly dateMathIndexNames: string;
};
readonly management: Record<string, string>;
readonly ml: Record<string, string>;
readonly transforms: Record<string, string>;
readonly visualize: Record<string, string>;
readonly apis: Readonly<{
createIndex: string;
createSnapshotLifecyclePolicy: string;
createRoleMapping: string;
createRoleMappingTemplates: string;
createApiKey: string;
createPipeline: string;
createTransformRequest: string;
cronExpressions: string;
executeWatchActionModes: string;
indexExists: string;
openIndex: string;
putComponentTemplate: string;
painlessExecute: string;
painlessExecuteAPIContexts: string;
putComponentTemplateMetadata: string;
putSnapshotLifecyclePolicy: string;
putWatch: string;
updateTransform: string;
}>;
readonly observability: Record<string, string>;
readonly alerting: Record<string, string>;
readonly maps: Record<string, string>;
readonly monitoring: Record<string, string>;
readonly security: Readonly<{
apiKeyServiceSettings: string;
clusterPrivileges: string;
elasticsearchSettings: string;
elasticsearchEnableSecurity: string;
indicesPrivileges: string;
kibanaTLS: string;
kibanaPrivileges: string;
mappingRoles: string;
mappingRolesFieldRules: string;
runAsPrivilege: string;
}>;
readonly watcher: Record<string, string>;
readonly ccs: Record<string, string>;
readonly plugins: Record<string, string>;
readonly snapshotRestore: Record<string, string>;
readonly ingest: Record<string, string>;
} | | diff --git a/src/core/public/doc_links/doc_links_service.ts b/src/core/public/doc_links/doc_links_service.ts index 759253aec80e5..6c715c681e6e8 100644 --- a/src/core/public/doc_links/doc_links_service.ts +++ b/src/core/public/doc_links/doc_links_service.ts @@ -284,6 +284,11 @@ export class DocLinksService { registerUrl: `${ELASTICSEARCH_DOCS}snapshots-register-repository.html#snapshots-read-only-repository`, restoreSnapshot: `${ELASTICSEARCH_DOCS}snapshots-restore-snapshot.html`, }, + ingest: { + pipelines: `${ELASTICSEARCH_DOCS}ingest.html`, + pipelineFailure: `${ELASTICSEARCH_DOCS}ingest.html#handling-pipeline-failures`, + processors: `${ELASTICSEARCH_DOCS}processors.html`, + }, }, }); } @@ -449,5 +454,6 @@ export interface DocLinksStart { readonly ccs: Record; readonly plugins: Record; readonly snapshotRestore: Record; + readonly ingest: Record; }; } diff --git a/src/core/public/public.api.md b/src/core/public/public.api.md index d79cba5346a73..4bab4ea54993b 100644 --- a/src/core/public/public.api.md +++ b/src/core/public/public.api.md @@ -634,6 +634,7 @@ export interface DocLinksStart { readonly ccs: Record; readonly plugins: Record; readonly snapshotRestore: Record; + readonly ingest: Record; }; } diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/on_failure_processors_title.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/on_failure_processors_title.tsx index ec143ac31438c..658ffe08607d8 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/on_failure_processors_title.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/on_failure_processors_title.tsx @@ -32,9 +32,7 @@ export const OnFailureProcessorsTitle: FunctionComponent = () => { values={{ learnMoreLink: ( diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processors_empty_prompt.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processors_empty_prompt.tsx index 47b6374be4678..87684929e0c68 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processors_empty_prompt.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processors_empty_prompt.tsx @@ -39,11 +39,7 @@ export const ProcessorsEmptyPrompt: FunctionComponent = ({ onLoadJson }) defaultMessage="Use processors to transform data before indexing. {learnMoreLink}" values={{ learnMoreLink: ( - + {i18n.translate( 'xpack.ingestPipelines.pipelineEditor.processorsDocumentationLink', { diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processors_header.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processors_header.tsx index 9e3e297cb967b..c1e412dd755fa 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processors_header.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processors_header.tsx @@ -59,11 +59,7 @@ export const ProcessorsHeader: FunctionComponent = ({ onLoadJson, hasProc defaultMessage="Use processors to transform data before indexing. {learnMoreLink}" values={{ learnMoreLink: ( - + {i18n.translate( 'xpack.ingestPipelines.pipelineEditor.processorsDocumentationLink', { diff --git a/x-pack/plugins/ingest_pipelines/public/application/services/documentation.ts b/x-pack/plugins/ingest_pipelines/public/application/services/documentation.ts index 5be400980f228..8aa165cc502a8 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/services/documentation.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/services/documentation.ts @@ -9,12 +9,20 @@ import { DocLinksStart } from 'src/core/public'; export class DocumentationService { private esDocBasePath: string = ''; + private ingestNodeUrl: string = ''; + private processorsUrl: string = ''; + private handlingFailureUrl: string = ''; + private putPipelineApiUrl: string = ''; public setup(docLinks: DocLinksStart): void { - const { DOC_LINK_VERSION, ELASTIC_WEBSITE_URL } = docLinks; + const { DOC_LINK_VERSION, ELASTIC_WEBSITE_URL, links } = docLinks; const docsBase = `${ELASTIC_WEBSITE_URL}guide/en`; this.esDocBasePath = `${docsBase}/elasticsearch/reference/${DOC_LINK_VERSION}`; + this.ingestNodeUrl = `${links.ingest.pipelines}`; + this.processorsUrl = `${links.ingest.processors}`; + this.handlingFailureUrl = `${links.ingest.pipelineFailure}`; + this.putPipelineApiUrl = `${links.apis.createPipeline}`; } public getEsDocsBasePath() { @@ -22,19 +30,19 @@ export class DocumentationService { } public getIngestNodeUrl() { - return `${this.esDocBasePath}/ingest.html`; + return this.ingestNodeUrl; } public getProcessorsUrl() { - return `${this.esDocBasePath}/ingest-processors.html`; + return this.processorsUrl; } public getHandlingFailureUrl() { - return `${this.esDocBasePath}/handling-failure-in-pipelines.html`; + return this.handlingFailureUrl; } public getPutPipelineApiUrl() { - return `${this.esDocBasePath}/put-pipeline-api.html`; + return this.putPipelineApiUrl; } } From f62a3153cd93d90562954e7aa0004fb965c92e42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= Date: Wed, 17 Mar 2021 15:54:12 +0100 Subject: [PATCH 04/50] Define schema for monitoring-sourced telemetry (#94434) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../__fixture__/all_extracted_collectors.ts | 6 +- .../parsed_imported_interface_from_export.ts | 35 +++ .../__fixture__/parsed_stats_collector.ts | 35 +++ .../src/tools/extract_collectors.test.ts | 2 +- .../src/tools/serializer.ts | 2 +- .../src/tools/ts_parser.test.ts | 14 + .../src/tools/ts_parser.ts | 40 ++- .../kbn-telemetry-tools/src/tools/utils.ts | 4 +- .../imported_interface_from_export/index.ts | 31 +++ .../imported_interface_from_export/types.ts | 9 + .../usage_type.ts | 11 + .../telemetry_collectors/stats_collector.ts | 49 ++++ .../utils/schema_to_config_schema.test.js | 18 ++ .../utils/schema_to_config_schema.ts | 14 +- x-pack/.telemetryrc.json | 19 +- .../collectors/get_settings_collector.ts | 2 +- .../telemetry_collection/get_beats_stats.ts | 10 +- ...egister_monitoring_telemetry_collection.ts | 144 ++++++++-- .../schema/README.md | 1 + .../schema/xpack_monitoring.json | 250 ++++++++++++++++++ .../schema/xpack_plugins.json | 11 + .../schema/xpack_root.json | 3 + .../telemetry_collection/get_license.ts | 4 +- .../get_stats_with_xpack.test.ts | 6 +- .../get_stats_with_xpack.ts | 2 +- .../apis/telemetry/{index.js => index.ts} | 4 +- .../telemetry/{telemetry.js => telemetry.ts} | 63 ++++- 27 files changed, 734 insertions(+), 55 deletions(-) create mode 100644 packages/kbn-telemetry-tools/src/tools/__fixture__/parsed_imported_interface_from_export.ts create mode 100644 packages/kbn-telemetry-tools/src/tools/__fixture__/parsed_stats_collector.ts create mode 100644 src/fixtures/telemetry_collectors/imported_interface_from_export/index.ts create mode 100644 src/fixtures/telemetry_collectors/imported_interface_from_export/types.ts create mode 100644 src/fixtures/telemetry_collectors/imported_interface_from_export/usage_type.ts create mode 100644 src/fixtures/telemetry_collectors/stats_collector.ts create mode 100644 x-pack/plugins/telemetry_collection_xpack/schema/xpack_monitoring.json rename x-pack/test/api_integration/apis/telemetry/{index.js => index.ts} (79%) rename x-pack/test/api_integration/apis/telemetry/{telemetry.js => telemetry.ts} (59%) diff --git a/packages/kbn-telemetry-tools/src/tools/__fixture__/all_extracted_collectors.ts b/packages/kbn-telemetry-tools/src/tools/__fixture__/all_extracted_collectors.ts index 37bdd327f945b..1f74a2a02eb1e 100644 --- a/packages/kbn-telemetry-tools/src/tools/__fixture__/all_extracted_collectors.ts +++ b/packages/kbn-telemetry-tools/src/tools/__fixture__/all_extracted_collectors.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import type { ParsedUsageCollection } from '../ts_parser'; import { parsedExternallyDefinedCollector } from './parsed_externally_defined_collector'; import { parsedImportedSchemaCollector } from './parsed_imported_schema'; import { parsedImportedUsageInterface } from './parsed_imported_usage_interface'; @@ -14,15 +15,18 @@ import { parsedNestedCollector } from './parsed_nested_collector'; import { parsedSchemaDefinedWithSpreadsCollector } from './parsed_schema_defined_with_spreads_collector'; import { parsedWorkingCollector } from './parsed_working_collector'; import { parsedCollectorWithDescription } from './parsed_working_collector_with_description'; -import { ParsedUsageCollection } from '../ts_parser'; +import { parsedStatsCollector } from './parsed_stats_collector'; +import { parsedImportedInterfaceFromExport } from './parsed_imported_interface_from_export'; export const allExtractedCollectors: ParsedUsageCollection[] = [ ...parsedExternallyDefinedCollector, + ...parsedImportedInterfaceFromExport, ...parsedImportedSchemaCollector, ...parsedImportedUsageInterface, parsedIndexedInterfaceWithNoMatchingSchema, parsedNestedCollector, parsedSchemaDefinedWithSpreadsCollector, + ...parsedStatsCollector, parsedCollectorWithDescription, parsedWorkingCollector, ]; diff --git a/packages/kbn-telemetry-tools/src/tools/__fixture__/parsed_imported_interface_from_export.ts b/packages/kbn-telemetry-tools/src/tools/__fixture__/parsed_imported_interface_from_export.ts new file mode 100644 index 0000000000000..42f958d1e33c5 --- /dev/null +++ b/packages/kbn-telemetry-tools/src/tools/__fixture__/parsed_imported_interface_from_export.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { SyntaxKind } from 'typescript'; +import { ParsedUsageCollection } from '../ts_parser'; + +export const parsedImportedInterfaceFromExport: ParsedUsageCollection[] = [ + [ + 'src/fixtures/telemetry_collectors/imported_interface_from_export/index.ts', + { + collectorName: 'importing_from_export_collector', + schema: { + value: { + some_field: { + type: 'keyword', + }, + }, + }, + fetch: { + typeName: 'Usage', + typeDescriptor: { + some_field: { + kind: SyntaxKind.StringKeyword, + type: 'StringKeyword', + }, + }, + }, + }, + ], +]; diff --git a/packages/kbn-telemetry-tools/src/tools/__fixture__/parsed_stats_collector.ts b/packages/kbn-telemetry-tools/src/tools/__fixture__/parsed_stats_collector.ts new file mode 100644 index 0000000000000..828372bf0b7d9 --- /dev/null +++ b/packages/kbn-telemetry-tools/src/tools/__fixture__/parsed_stats_collector.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { SyntaxKind } from 'typescript'; +import { ParsedUsageCollection } from '../ts_parser'; + +export const parsedStatsCollector: ParsedUsageCollection[] = [ + [ + 'src/fixtures/telemetry_collectors/stats_collector.ts', + { + collectorName: 'my_stats_collector_with_schema', + schema: { + value: { + some_field: { + type: 'keyword', + }, + }, + }, + fetch: { + typeName: 'Usage', + typeDescriptor: { + some_field: { + kind: SyntaxKind.StringKeyword, + type: 'StringKeyword', + }, + }, + }, + }, + ], +]; diff --git a/packages/kbn-telemetry-tools/src/tools/extract_collectors.test.ts b/packages/kbn-telemetry-tools/src/tools/extract_collectors.test.ts index 5106ac7855fc6..5eee06a5182ee 100644 --- a/packages/kbn-telemetry-tools/src/tools/extract_collectors.test.ts +++ b/packages/kbn-telemetry-tools/src/tools/extract_collectors.test.ts @@ -24,7 +24,7 @@ describe('extractCollectors', () => { const programPaths = await getProgramPaths(configs[0]); const results = [...extractCollectors(programPaths, tsConfig)]; - expect(results).toHaveLength(9); + expect(results).toHaveLength(11); expect(results).toStrictEqual(allExtractedCollectors); }); }); diff --git a/packages/kbn-telemetry-tools/src/tools/serializer.ts b/packages/kbn-telemetry-tools/src/tools/serializer.ts index b3111af5eec94..9bde3cb839364 100644 --- a/packages/kbn-telemetry-tools/src/tools/serializer.ts +++ b/packages/kbn-telemetry-tools/src/tools/serializer.ts @@ -202,7 +202,7 @@ export function getDescriptor(node: ts.Node, program: ts.Program): Descriptor | return getDescriptor(node.typeName, program); } - if (ts.isImportSpecifier(node)) { + if (ts.isImportSpecifier(node) || ts.isExportSpecifier(node)) { const source = node.getSourceFile(); const importedModuleName = getModuleSpecifier(node); diff --git a/packages/kbn-telemetry-tools/src/tools/ts_parser.test.ts b/packages/kbn-telemetry-tools/src/tools/ts_parser.test.ts index 761645b9887da..4a58e3fc1101b 100644 --- a/packages/kbn-telemetry-tools/src/tools/ts_parser.test.ts +++ b/packages/kbn-telemetry-tools/src/tools/ts_parser.test.ts @@ -15,6 +15,8 @@ import { parsedExternallyDefinedCollector } from './__fixture__/parsed_externall import { parsedImportedUsageInterface } from './__fixture__/parsed_imported_usage_interface'; import { parsedImportedSchemaCollector } from './__fixture__/parsed_imported_schema'; import { parsedSchemaDefinedWithSpreadsCollector } from './__fixture__/parsed_schema_defined_with_spreads_collector'; +import { parsedStatsCollector } from './__fixture__/parsed_stats_collector'; +import { parsedImportedInterfaceFromExport } from './__fixture__/parsed_imported_interface_from_export'; export function loadFixtureProgram(fixtureName: string) { const fixturePath = path.resolve( @@ -89,6 +91,18 @@ describe('parseUsageCollection', () => { expect(result).toEqual(parsedImportedUsageInterface); }); + it('parses stats collectors, discarding those without schemas', () => { + const { program, sourceFile } = loadFixtureProgram('stats_collector.ts'); + const result = [...parseUsageCollection(sourceFile, program)]; + expect(result).toEqual(parsedStatsCollector); + }); + + it('follows `export { Usage } from "./path"` expressions', () => { + const { program, sourceFile } = loadFixtureProgram('imported_interface_from_export/index.ts'); + const result = [...parseUsageCollection(sourceFile, program)]; + expect(result).toEqual(parsedImportedInterfaceFromExport); + }); + it('skips files that do not define a collector', () => { const { program, sourceFile } = loadFixtureProgram('file_with_no_collector.ts'); const result = [...parseUsageCollection(sourceFile, program)]; diff --git a/packages/kbn-telemetry-tools/src/tools/ts_parser.ts b/packages/kbn-telemetry-tools/src/tools/ts_parser.ts index 1e2bb0a0dbed0..9431e7e053684 100644 --- a/packages/kbn-telemetry-tools/src/tools/ts_parser.ts +++ b/packages/kbn-telemetry-tools/src/tools/ts_parser.ts @@ -41,6 +41,24 @@ export function isMakeUsageCollectorFunction( return false; } +export function isMakeStatsCollectorFunctionWithSchema( + node: ts.Node, + sourceFile: ts.SourceFile +): node is ts.CallExpression { + if (ts.isCallExpression(node)) { + const isMakeStatsCollector = /makeStatsCollector$/.test(node.expression.getText(sourceFile)); + if (isMakeStatsCollector) { + const collectorConfig = getCollectionConfigNode(node, sourceFile); + const schemaProperty = getProperty(collectorConfig, 'schema'); + if (schemaProperty) { + return true; + } + } + } + + return false; +} + export interface CollectorDetails { collectorName: string; fetch: { typeName: string; typeDescriptor: Descriptor }; @@ -140,6 +158,7 @@ function extractCollectorDetails( throw Error(`usageCollector.schema must be be an object.`); } + // TODO: Try to infer the output type from fetch instead of being explicit const collectorNodeType = collectorNode.typeArguments; if (!collectorNodeType || collectorNodeType?.length === 0) { throw Error(`makeUsageCollector requires a Usage type makeUsageCollector({ ... }).`); @@ -172,7 +191,19 @@ export function sourceHasUsageCollector(sourceFile: ts.SourceFile) { } return false; - return true; +} + +export function sourceHasStatsCollector(sourceFile: ts.SourceFile) { + if (sourceFile.isDeclarationFile === true || (sourceFile as any).identifierCount === 0) { + return false; + } + + const identifiers = (sourceFile as any).identifiers; + if (identifiers.get('makeStatsCollector')) { + return true; + } + + return false; } export type ParsedUsageCollection = [string, CollectorDetails]; @@ -182,9 +213,12 @@ export function* parseUsageCollection( program: ts.Program ): Generator { const relativePath = path.relative(process.cwd(), sourceFile.fileName); - if (sourceHasUsageCollector(sourceFile)) { + if (sourceHasUsageCollector(sourceFile) || sourceHasStatsCollector(sourceFile)) { for (const node of traverseNodes(sourceFile)) { - if (isMakeUsageCollectorFunction(node, sourceFile)) { + if ( + isMakeUsageCollectorFunction(node, sourceFile) || + isMakeStatsCollectorFunctionWithSchema(node, sourceFile) + ) { try { const collectorDetails = extractCollectorDetails(node, program, sourceFile); yield [relativePath, collectorDetails]; diff --git a/packages/kbn-telemetry-tools/src/tools/utils.ts b/packages/kbn-telemetry-tools/src/tools/utils.ts index 52362668c2f53..c9526fe7d0403 100644 --- a/packages/kbn-telemetry-tools/src/tools/utils.ts +++ b/packages/kbn-telemetry-tools/src/tools/utils.ts @@ -65,7 +65,9 @@ export function getIdentifierDeclarationFromSource(node: ts.Node, source: ts.Sou } const identifierName = node.getText(); - const identifierDefinition: ts.Node = (source as any).locals.get(identifierName); + const identifierDefinition: ts.Node = + (source as any).locals.get(identifierName) || + (source as any).symbol.exports.get(identifierName); if (!identifierDefinition) { throw new Error(`Unable to find identifier in source ${identifierName}`); } diff --git a/src/fixtures/telemetry_collectors/imported_interface_from_export/index.ts b/src/fixtures/telemetry_collectors/imported_interface_from_export/index.ts new file mode 100644 index 0000000000000..095ee9e8f6091 --- /dev/null +++ b/src/fixtures/telemetry_collectors/imported_interface_from_export/index.ts @@ -0,0 +1,31 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { CollectorSet } from '../../../plugins/usage_collection/server/collector'; +import { loggerMock } from '../../../core/server/logging/logger.mock'; +import type { Usage } from './types'; + +const { makeUsageCollector } = new CollectorSet({ + logger: loggerMock.create(), + maximumWaitTimeForAllCollectorsInS: 0, +}); + +export const myCollector = makeUsageCollector({ + type: 'importing_from_export_collector', + isReady: () => true, + fetch() { + return { + some_field: 'abc', + }; + }, + schema: { + some_field: { + type: 'keyword', + }, + }, +}); diff --git a/src/fixtures/telemetry_collectors/imported_interface_from_export/types.ts b/src/fixtures/telemetry_collectors/imported_interface_from_export/types.ts new file mode 100644 index 0000000000000..c8dd38f414406 --- /dev/null +++ b/src/fixtures/telemetry_collectors/imported_interface_from_export/types.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export type { Usage } from './usage_type'; diff --git a/src/fixtures/telemetry_collectors/imported_interface_from_export/usage_type.ts b/src/fixtures/telemetry_collectors/imported_interface_from_export/usage_type.ts new file mode 100644 index 0000000000000..765b8901a83e1 --- /dev/null +++ b/src/fixtures/telemetry_collectors/imported_interface_from_export/usage_type.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export interface Usage { + some_field: string; +} diff --git a/src/fixtures/telemetry_collectors/stats_collector.ts b/src/fixtures/telemetry_collectors/stats_collector.ts new file mode 100644 index 0000000000000..55d447751d4b6 --- /dev/null +++ b/src/fixtures/telemetry_collectors/stats_collector.ts @@ -0,0 +1,49 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { CollectorSet } from '../../plugins/usage_collection/server/collector'; +import { loggerMock } from '../../core/server/logging/logger.mock'; + +const { makeStatsCollector } = new CollectorSet({ + logger: loggerMock.create(), + maximumWaitTimeForAllCollectorsInS: 0, +}); + +interface Usage { + some_field: string; +} + +/** + * Stats Collectors are allowed with schema and without them. + * We should collect them when the schema is defined. + */ + +export const myCollectorWithSchema = makeStatsCollector({ + type: 'my_stats_collector_with_schema', + isReady: () => true, + fetch() { + return { + some_field: 'abc', + }; + }, + schema: { + some_field: { + type: 'keyword', + }, + }, +}); + +export const myCollectorWithoutSchema = makeStatsCollector({ + type: 'my_stats_collector_without_schema', + isReady: () => true, + fetch() { + return { + some_field: 'abc', + }; + }, +}); diff --git a/test/api_integration/apis/telemetry/utils/schema_to_config_schema.test.js b/test/api_integration/apis/telemetry/utils/schema_to_config_schema.test.js index f568a4338ebe5..2ae4e1723cc25 100644 --- a/test/api_integration/apis/telemetry/utils/schema_to_config_schema.test.js +++ b/test/api_integration/apis/telemetry/utils/schema_to_config_schema.test.js @@ -151,5 +151,23 @@ describe(`assertTelemetryPayload`, () => { { im_only_passing_through_data: [{ docs: { field: 1 } }] } ) ).not.toThrow(); + + // Even when properties exist + expect(() => + assertTelemetryPayload( + { + root: { + properties: { + im_only_passing_through_data: { + type: 'pass_through', + properties: {}, + }, + }, + }, + plugins: { properties: {} }, + }, + { im_only_passing_through_data: [{ docs: { field: 1 } }] } + ) + ).not.toThrow(); }); }); diff --git a/test/api_integration/apis/telemetry/utils/schema_to_config_schema.ts b/test/api_integration/apis/telemetry/utils/schema_to_config_schema.ts index d5b18eb4bd202..b45930682e3aa 100644 --- a/test/api_integration/apis/telemetry/utils/schema_to_config_schema.ts +++ b/test/api_integration/apis/telemetry/utils/schema_to_config_schema.ts @@ -6,7 +6,8 @@ * Side Public License, v 1. */ -import { schema, ObjectType, Type } from '@kbn/config-schema'; +import type { ObjectType, Type } from '@kbn/config-schema'; +import { schema } from '@kbn/config-schema'; import { get } from 'lodash'; import { set } from '@elastic/safer-lodash-set'; import type { AllowedSchemaTypes } from 'src/plugins/usage_collection/server'; @@ -38,6 +39,11 @@ function isOneOfCandidate( * @param value */ function valueSchemaToConfigSchema(value: TelemetrySchemaValue): Type { + // We need to check the pass_through type on top of everything + if ((value as { type: 'pass_through' }).type === 'pass_through') { + return schema.any(); + } + if ('properties' in value) { const { DYNAMIC_KEY, ...properties } = value.properties; const schemas: Array> = [objectSchemaToConfigSchema({ properties })]; @@ -48,8 +54,6 @@ function valueSchemaToConfigSchema(value: TelemetrySchemaValue): Type { } else { const valueType = value.type; // Copied in here because of TS reasons, it's not available in the `default` case switch (value.type) { - case 'pass_through': - return schema.any(); case 'boolean': return schema.boolean(); case 'keyword': @@ -77,9 +81,11 @@ function valueSchemaToConfigSchema(value: TelemetrySchemaValue): Type { } function objectSchemaToConfigSchema(objectSchema: TelemetrySchemaObject): ObjectType { + const objectEntries = Object.entries(objectSchema.properties); + return schema.object( Object.fromEntries( - Object.entries(objectSchema.properties).map(([key, value]) => { + objectEntries.map(([key, value]) => { try { return [key, schema.maybe(valueSchemaToConfigSchema(value))]; } catch (err) { diff --git a/x-pack/.telemetryrc.json b/x-pack/.telemetryrc.json index ae85efcda32d5..b0a8b45c02de9 100644 --- a/x-pack/.telemetryrc.json +++ b/x-pack/.telemetryrc.json @@ -1,5 +1,14 @@ -{ - "output": "plugins/telemetry_collection_xpack/schema/xpack_plugins.json", - "root": "plugins/", - "exclude": [] -} +[ + { + "output": "plugins/telemetry_collection_xpack/schema/xpack_plugins.json", + "root": "plugins/", + "exclude": [ + "plugins/monitoring/server/telemetry_collection/" + ] + }, + { + "output": "plugins/telemetry_collection_xpack/schema/xpack_monitoring.json", + "root": "plugins/monitoring/server/telemetry_collection/", + "exclude": [] + } +] diff --git a/x-pack/plugins/monitoring/server/kibana_monitoring/collectors/get_settings_collector.ts b/x-pack/plugins/monitoring/server/kibana_monitoring/collectors/get_settings_collector.ts index 4080367d0e75d..7096647854c15 100644 --- a/x-pack/plugins/monitoring/server/kibana_monitoring/collectors/get_settings_collector.ts +++ b/x-pack/plugins/monitoring/server/kibana_monitoring/collectors/get_settings_collector.ts @@ -93,7 +93,7 @@ export function getSettingsCollector( false, KibanaSettingsCollectorExtraOptions >({ - type: KIBANA_SETTINGS_TYPE, + type: 'kibana_settings', isReady: () => true, schema: { xpack: { diff --git a/x-pack/plugins/monitoring/server/telemetry_collection/get_beats_stats.ts b/x-pack/plugins/monitoring/server/telemetry_collection/get_beats_stats.ts index 1723fe46e50f7..ba83584e34654 100644 --- a/x-pack/plugins/monitoring/server/telemetry_collection/get_beats_stats.ts +++ b/x-pack/plugins/monitoring/server/telemetry_collection/get_beats_stats.ts @@ -77,7 +77,7 @@ export interface BeatsStats { queue?: { name?: string; }; - heartbeat?: HeartbeatBase; + heartbeat?: Heartbeat; functionbeat?: { functions?: { count?: number; @@ -91,11 +91,11 @@ export interface BeatsStats { }; } +type Heartbeat = HeartbeatBase & { [key: string]: HeartbeatBase | undefined }; + interface HeartbeatBase { monitors: number; endpoints: number; - // I have to add the '| number' bit because otherwise TS complains about 'monitors' and 'endpoints' not being of type HeartbeatBase - [key: string]: HeartbeatBase | number | undefined; } export interface BeatsBaseStats { @@ -122,7 +122,7 @@ export interface BeatsBaseStats { count: number; architectures: BeatsArchitecture[]; }; - heartbeat?: HeartbeatBase; + heartbeat?: Heartbeat; functionbeat?: { functions: { count: number; @@ -237,7 +237,7 @@ export function processResults( clusters[clusterUuid].heartbeat = { monitors: 0, endpoints: 0, - }; + } as Heartbeat; // Needed because TS complains about the additional index signature } const clusterHb = clusters[clusterUuid].heartbeat!; diff --git a/x-pack/plugins/monitoring/server/telemetry_collection/register_monitoring_telemetry_collection.ts b/x-pack/plugins/monitoring/server/telemetry_collection/register_monitoring_telemetry_collection.ts index 158b869b9264f..23c6139389917 100644 --- a/x-pack/plugins/monitoring/server/telemetry_collection/register_monitoring_telemetry_collection.ts +++ b/x-pack/plugins/monitoring/server/telemetry_collection/register_monitoring_telemetry_collection.ts @@ -5,16 +5,28 @@ * 2.0. */ -import { ILegacyClusterClient } from 'kibana/server'; -import { UsageStatsPayload } from 'src/plugins/telemetry_collection_manager/server'; -import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; +import type { ILegacyClusterClient } from 'kibana/server'; +import type { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; +import type { UsageStatsPayload } from '../../../../../src/plugins/telemetry_collection_manager/server'; +import type { LogstashBaseStats } from './get_logstash_stats'; +import type { BeatsBaseStats } from './get_beats_stats'; import { getAllStats } from './get_all_stats'; import { getClusterUuids } from './get_cluster_uuids'; import { getLicenses } from './get_licenses'; -// TODO: To be removed in https://github.com/elastic/kibana/pull/83546 -interface MonitoringCollectorOptions { - ignoreForInternalUploader: boolean; // Allow the additional property required by bulk_uploader to be filtered out +interface MonitoringStats extends UsageStatsPayload { + stack_stats: { + logstash?: LogstashBaseStats; + beats?: BeatsBaseStats; + // Intentionally not declaring "kibana" to avoid repetition with "local" telemetry, + // and since it should only report it for old versions reporting "too much" monitoring data + // [KIBANA_SYSTEM_ID]?: KibanaClusterStat; + }; +} + +// We need to nest it under a property because fetch must return an object (the schema mandates that) +interface MonitoringTelemetryUsage { + stats: MonitoringStats[]; } export function registerMonitoringTelemetryCollection( @@ -23,14 +35,108 @@ export function registerMonitoringTelemetryCollection( maxBucketSize: number ) { const monitoringStatsCollector = usageCollection.makeStatsCollector< - UsageStatsPayload[], - true, - MonitoringCollectorOptions + MonitoringTelemetryUsage, + true >({ type: 'monitoringTelemetry', isReady: () => true, - ignoreForInternalUploader: true, // Used only by monitoring's bulk_uploader to filter out unwanted collectors extendFetchContext: { kibanaRequest: true }, + schema: { + stats: { + type: 'array', + items: { + timestamp: { type: 'date' }, + cluster_uuid: { type: 'keyword' }, + cluster_name: { type: 'keyword' }, + version: { type: 'keyword' }, + cluster_stats: {}, + stack_stats: { + logstash: { + versions: { + type: 'array', + items: { + version: { type: 'keyword' }, + count: { type: 'long' }, + }, + }, + count: { type: 'long' }, + cluster_stats: { + collection_types: { + DYNAMIC_KEY: { type: 'long' }, + }, + queues: { + DYNAMIC_KEY: { type: 'long' }, + }, + plugins: { + type: 'array', + items: { + name: { type: 'keyword' }, + count: { type: 'long' }, + }, + }, + pipelines: { + count: { type: 'long' }, + batch_size_max: { type: 'long' }, + batch_size_avg: { type: 'long' }, + batch_size_min: { type: 'long' }, + batch_size_total: { type: 'long' }, + workers_max: { type: 'long' }, + workers_avg: { type: 'long' }, + workers_min: { type: 'long' }, + workers_total: { type: 'long' }, + sources: { + DYNAMIC_KEY: { type: 'boolean' }, + }, + }, + }, + }, + beats: { + versions: { DYNAMIC_KEY: { type: 'long' } }, + types: { DYNAMIC_KEY: { type: 'long' } }, + outputs: { DYNAMIC_KEY: { type: 'long' } }, + queue: { DYNAMIC_KEY: { type: 'long' } }, + count: { type: 'long' }, + eventsPublished: { type: 'long' }, + hosts: { type: 'long' }, + input: { + count: { type: 'long' }, + names: { type: 'array', items: { type: 'keyword' } }, + }, + module: { + count: { type: 'long' }, + names: { type: 'array', items: { type: 'keyword' } }, + }, + architecture: { + count: { type: 'long' }, + architectures: { + type: 'array', + items: { + name: { type: 'keyword' }, + architecture: { type: 'keyword' }, + count: { type: 'long' }, + }, + }, + }, + heartbeat: { + monitors: { type: 'long' }, + endpoints: { type: 'long' }, + DYNAMIC_KEY: { + monitors: { type: 'long' }, + endpoints: { type: 'long' }, + }, + }, + functionbeat: { + functions: { + count: { type: 'long' }, + }, + }, + }, + }, + collection: { type: 'keyword' }, + collectionSource: { type: 'keyword' }, + }, + }, + }, fetch: async ({ kibanaRequest }) => { const timestamp = Date.now(); // Collect the telemetry from the monitoring indices for this moment. // NOTE: Usually, the monitoring indices index stats for each product every 10s (by default). @@ -45,14 +151,16 @@ export function registerMonitoringTelemetryCollection( getLicenses(clusterDetails, callCluster, maxBucketSize), getAllStats(clusterDetails, callCluster, timestamp, maxBucketSize), ]); - return stats.map((stat) => { - const license = licenses[stat.cluster_uuid]; - return { - ...(license ? { license } : {}), - ...stat, - collectionSource: 'monitoring', - }; - }); + return { + stats: stats.map((stat) => { + const license = licenses[stat.cluster_uuid]; + return { + ...(license ? { license } : {}), + ...stat, + collectionSource: 'monitoring', + }; + }), + }; }, }); usageCollection.registerCollector(monitoringStatsCollector); diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/README.md b/x-pack/plugins/telemetry_collection_xpack/schema/README.md index e6145b751e7d8..097cc6c57d88a 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/README.md +++ b/x-pack/plugins/telemetry_collection_xpack/schema/README.md @@ -9,6 +9,7 @@ There are currently 2 files: - `xpack_plugins.json`: The X-Pack related schema for the content that will be nested in `stack_stats.kibana.plugins`. It is automatically generated by `@kbn/telemetry-tools` based on the `schema` property provided by all the registered Usage Collectors via the `usageCollection.makeUsageCollector` API. More details in the [Schema field](../../usage_collection/README.md#schema-field) chapter in the UsageCollection's docs. +- `xpack_monitoring.json`: It declares the payload sent by the monitoring-sourced telemetry. The actual schema for the payload is declared under `properties.monitoringTelemetry.properties.stats.items`, but due to the general behaviour in the `@kbn/telemetry-tools`, it gets nested down in that path. NOTE: Despite its similarities to ES mappings, the intention of these files is not to define any index mappings. They should be considered as a tool to understand the format of the payload that will be sent when reporting telemetry to the Remote Service. diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_monitoring.json b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_monitoring.json new file mode 100644 index 0000000000000..0e3571f3c4b1a --- /dev/null +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_monitoring.json @@ -0,0 +1,250 @@ +{ + "properties": { + "monitoringTelemetry": { + "properties": { + "stats": { + "type": "array", + "items": { + "properties": { + "timestamp": { + "type": "date" + }, + "cluster_uuid": { + "type": "keyword" + }, + "cluster_name": { + "type": "keyword" + }, + "version": { + "type": "keyword" + }, + "cluster_stats": { + "properties": {} + }, + "stack_stats": { + "properties": { + "logstash": { + "properties": { + "versions": { + "type": "array", + "items": { + "properties": { + "version": { + "type": "keyword" + }, + "count": { + "type": "long" + } + } + } + }, + "count": { + "type": "long" + }, + "cluster_stats": { + "properties": { + "collection_types": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + } + } + }, + "queues": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + } + } + }, + "plugins": { + "type": "array", + "items": { + "properties": { + "name": { + "type": "keyword" + }, + "count": { + "type": "long" + } + } + } + }, + "pipelines": { + "properties": { + "count": { + "type": "long" + }, + "batch_size_max": { + "type": "long" + }, + "batch_size_avg": { + "type": "long" + }, + "batch_size_min": { + "type": "long" + }, + "batch_size_total": { + "type": "long" + }, + "workers_max": { + "type": "long" + }, + "workers_avg": { + "type": "long" + }, + "workers_min": { + "type": "long" + }, + "workers_total": { + "type": "long" + }, + "sources": { + "properties": { + "DYNAMIC_KEY": { + "type": "boolean" + } + } + } + } + } + } + } + } + }, + "beats": { + "properties": { + "versions": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + } + } + }, + "types": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + } + } + }, + "outputs": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + } + } + }, + "queue": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + } + } + }, + "count": { + "type": "long" + }, + "eventsPublished": { + "type": "long" + }, + "hosts": { + "type": "long" + }, + "input": { + "properties": { + "count": { + "type": "long" + }, + "names": { + "type": "array", + "items": { + "type": "keyword" + } + } + } + }, + "module": { + "properties": { + "count": { + "type": "long" + }, + "names": { + "type": "array", + "items": { + "type": "keyword" + } + } + } + }, + "architecture": { + "properties": { + "count": { + "type": "long" + }, + "architectures": { + "type": "array", + "items": { + "properties": { + "name": { + "type": "keyword" + }, + "architecture": { + "type": "keyword" + }, + "count": { + "type": "long" + } + } + } + } + } + }, + "heartbeat": { + "properties": { + "monitors": { + "type": "long" + }, + "endpoints": { + "type": "long" + }, + "DYNAMIC_KEY": { + "properties": { + "monitors": { + "type": "long" + }, + "endpoints": { + "type": "long" + } + } + } + } + }, + "functionbeat": { + "properties": { + "functions": { + "properties": { + "count": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "collection": { + "type": "keyword" + }, + "collectionSource": { + "type": "keyword" + } + } + } + } + } + } + } +} diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json index 8367fcb6deef2..bb9356014e7a3 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json @@ -2336,6 +2336,17 @@ } } }, + "kibana_settings": { + "properties": { + "xpack": { + "properties": { + "default_admin_email": { + "type": "text" + } + } + } + } + }, "monitoring": { "properties": { "hasMonitoringData": { diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_root.json b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_root.json index afadfc1ec9e92..12e5f400e3b37 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_root.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_root.json @@ -5,6 +5,9 @@ "uid": { "type": "keyword" }, + "hkey": { + "type": "long" + }, "issue_date": { "type": "date" }, diff --git a/x-pack/plugins/telemetry_collection_xpack/server/telemetry_collection/get_license.ts b/x-pack/plugins/telemetry_collection_xpack/server/telemetry_collection/get_license.ts index 90fdbfe6a894f..64d9aee7b0ac7 100644 --- a/x-pack/plugins/telemetry_collection_xpack/server/telemetry_collection/get_license.ts +++ b/x-pack/plugins/telemetry_collection_xpack/server/telemetry_collection/get_license.ts @@ -11,15 +11,17 @@ import { ElasticsearchClient } from 'src/core/server'; export interface ESLicense { status: string; uid: string; + hkey: string; type: string; issue_date: string; issue_date_in_millis: number; expiry_date: string; - expirty_date_in_millis: number; + expiry_date_in_millis: number; max_nodes: number; issued_to: string; issuer: string; start_date_in_millis: number; + max_resource_units: number; } let cachedLicense: ESLicense | undefined; diff --git a/x-pack/plugins/telemetry_collection_xpack/server/telemetry_collection/get_stats_with_xpack.test.ts b/x-pack/plugins/telemetry_collection_xpack/server/telemetry_collection/get_stats_with_xpack.test.ts index fed18bcb461e3..12f2f24502ce0 100644 --- a/x-pack/plugins/telemetry_collection_xpack/server/telemetry_collection/get_stats_with_xpack.test.ts +++ b/x-pack/plugins/telemetry_collection_xpack/server/telemetry_collection/get_stats_with_xpack.test.ts @@ -139,9 +139,9 @@ describe('Telemetry Collection: Get Aggregated Stats', () => { const esClient = mockEsClient(); const usageCollection = mockUsageCollection({ ...kibana, - monitoringTelemetry: [ - { collectionSource: 'monitoring', timestamp: new Date().toISOString() }, - ], + monitoringTelemetry: { + stats: [{ collectionSource: 'monitoring', timestamp: new Date().toISOString() }], + }, }); const context = getContext(); diff --git a/x-pack/plugins/telemetry_collection_xpack/server/telemetry_collection/get_stats_with_xpack.ts b/x-pack/plugins/telemetry_collection_xpack/server/telemetry_collection/get_stats_with_xpack.ts index 2b81c31ff90e4..32e59e01b123d 100644 --- a/x-pack/plugins/telemetry_collection_xpack/server/telemetry_collection/get_stats_with_xpack.ts +++ b/x-pack/plugins/telemetry_collection_xpack/server/telemetry_collection/get_stats_with_xpack.ts @@ -44,7 +44,7 @@ export const getStatsWithXpack: StatsGetter = async fu }) .reduce((acc, stats) => { // Concatenate the telemetry reported via monitoring as additional payloads instead of reporting it inside of stack_stats.kibana.plugins.monitoringTelemetry - const monitoringTelemetry = stats.stack_stats.kibana?.plugins?.monitoringTelemetry; + const monitoringTelemetry = stats.stack_stats.kibana?.plugins?.monitoringTelemetry?.stats; if (monitoringTelemetry) { delete stats.stack_stats.kibana!.plugins.monitoringTelemetry; } diff --git a/x-pack/test/api_integration/apis/telemetry/index.js b/x-pack/test/api_integration/apis/telemetry/index.ts similarity index 79% rename from x-pack/test/api_integration/apis/telemetry/index.js rename to x-pack/test/api_integration/apis/telemetry/index.ts index 5fa88fa761a0e..9fc67a35e6b19 100644 --- a/x-pack/test/api_integration/apis/telemetry/index.js +++ b/x-pack/test/api_integration/apis/telemetry/index.ts @@ -5,7 +5,9 @@ * 2.0. */ -export default function ({ loadTestFile }) { +import type { FtrProviderContext } from '../../ftr_provider_context'; + +export default function ({ loadTestFile }: FtrProviderContext) { describe('Telemetry', () => { loadTestFile(require.resolve('./telemetry')); loadTestFile(require.resolve('./telemetry_local')); diff --git a/x-pack/test/api_integration/apis/telemetry/telemetry.js b/x-pack/test/api_integration/apis/telemetry/telemetry.ts similarity index 59% rename from x-pack/test/api_integration/apis/telemetry/telemetry.js rename to x-pack/test/api_integration/apis/telemetry/telemetry.ts index 39d18fdaa3387..fdf55fd6f4670 100644 --- a/x-pack/test/api_integration/apis/telemetry/telemetry.js +++ b/x-pack/test/api_integration/apis/telemetry/telemetry.ts @@ -7,8 +7,19 @@ import expect from '@kbn/expect'; import moment from 'moment'; -import multiClusterFixture from './fixtures/multicluster'; -import basicClusterFixture from './fixtures/basiccluster'; +import type { SuperTest } from 'supertest'; +import type supertestAsPromised from 'supertest-as-promised'; +import deepmerge from 'deepmerge'; +import type { FtrProviderContext } from '../../ftr_provider_context'; + +import multiClusterFixture from './fixtures/multicluster.json'; +import basicClusterFixture from './fixtures/basiccluster.json'; +import ossRootTelemetrySchema from '../../../../../src/plugins/telemetry/schema/oss_root.json'; +import xpackRootTelemetrySchema from '../../../../plugins/telemetry_collection_xpack/schema/xpack_root.json'; +import monitoringRootTelemetrySchema from '../../../../plugins/telemetry_collection_xpack/schema/xpack_monitoring.json'; +import ossPluginsTelemetrySchema from '../../../../../src/plugins/telemetry/schema/oss_plugins.json'; +import xpackPluginsTelemetrySchema from '../../../../plugins/telemetry_collection_xpack/schema/xpack_plugins.json'; +import { assertTelemetryPayload } from '../../../../../test/api_integration/apis/telemetry/utils'; /** * Update the .monitoring-* documents loaded via the archiver to the recent `timestamp` @@ -17,7 +28,12 @@ import basicClusterFixture from './fixtures/basiccluster'; * @param toTimestamp The upper timestamp limit to query the documents from * @param timestamp The new timestamp to be set */ -function updateMonitoringDates(esSupertest, fromTimestamp, toTimestamp, timestamp) { +function updateMonitoringDates( + esSupertest: SuperTest, + fromTimestamp: string, + toTimestamp: string, + timestamp: string +) { return Promise.all([ esSupertest .post('/.monitoring-es-*/_update_by_query?refresh=true') @@ -58,7 +74,7 @@ function updateMonitoringDates(esSupertest, fromTimestamp, toTimestamp, timestam ]); } -export default function ({ getService }) { +export default function ({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); const esSupertest = getService('esSupertest'); @@ -66,23 +82,52 @@ export default function ({ getService }) { describe('/api/telemetry/v2/clusters/_stats', () => { const timestamp = new Date().toISOString(); describe('monitoring/multicluster', () => { + let localXPack: Record; + let monitoring: Array>; + const archive = 'monitoring/multicluster'; const fromTimestamp = '2017-08-15T21:00:00.000Z'; const toTimestamp = '2017-08-16T00:00:00.000Z'; + before(async () => { await esArchiver.load(archive); await updateMonitoringDates(esSupertest, fromTimestamp, toTimestamp, timestamp); - }); - after(() => esArchiver.unload(archive)); - it('should load multiple trial-license clusters', async () => { + const { body } = await supertest .post('/api/telemetry/v2/clusters/_stats') .set('kbn-xsrf', 'xxx') .send({ unencrypted: true }) .expect(200); - expect(body).length(4); - const [localXPack, ...monitoring] = body; + expect(body.length).to.be.greaterThan(1); + localXPack = body.shift(); + monitoring = body; + }); + after(() => esArchiver.unload(archive)); + + it('should pass the schema validations', () => { + const root = deepmerge(ossRootTelemetrySchema, xpackRootTelemetrySchema); + + // Merging root to monitoring because `kibana` may be passed in some cases for old collection methods reporting to a newer monitoring cluster + const monitoringRoot = deepmerge( + root, + // It's nested because of the way it's collected and declared + monitoringRootTelemetrySchema.properties.monitoringTelemetry.properties.stats.items + ); + const plugins = deepmerge(ossPluginsTelemetrySchema, xpackPluginsTelemetrySchema); + try { + assertTelemetryPayload({ root, plugins }, localXPack); + monitoring.forEach((stats) => { + assertTelemetryPayload({ root: monitoringRoot, plugins }, stats); + }); + } catch (err) { + err.message = `The telemetry schemas in 'x-pack/plugins/telemetry_collection_xpack/schema/' are out-of-date, please update it as required: ${err.message}`; + throw err; + } + }); + + it('should load multiple trial-license clusters', async () => { + expect(monitoring).length(3); expect(localXPack.collectionSource).to.eql('local_xpack'); expect(monitoring).to.eql(multiClusterFixture.map((item) => ({ ...item, timestamp }))); }); From 78ac6f97134ed8e3d0b3c0ac0ee09f424e91b326 Mon Sep 17 00:00:00 2001 From: Christos Nasikas Date: Wed, 17 Mar 2021 17:01:43 +0200 Subject: [PATCH 05/50] [Cases] Add SIR connector in case connector schema (#94786) --- .../server/connectors/case/index.test.ts | 66 ++++++++++++++++++- .../cases/server/connectors/case/schema.ts | 16 ++++- 2 files changed, 79 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/cases/server/connectors/case/index.test.ts b/x-pack/plugins/cases/server/connectors/case/index.test.ts index e1a322c4b1c94..b8c80a101f4c4 100644 --- a/x-pack/plugins/cases/server/connectors/case/index.test.ts +++ b/x-pack/plugins/cases/server/connectors/case/index.test.ts @@ -171,6 +171,34 @@ describe('case connector', () => { }, }, }, + { + test: 'servicenow-sir', + params: { + subAction: 'create', + subActionParams: { + title: 'Case from case connector!!', + tags: ['case', 'connector'], + description: 'Yo fields!!', + connector: { + id: 'servicenow-sir', + name: 'Servicenow SIR', + type: '.servicenow-sir', + fields: { + destIp: true, + sourceIp: true, + malwareHash: true, + malwareUrl: true, + category: 'ddos', + subcategory: '15', + priority: '1', + }, + }, + settings: { + syncAlerts: true, + }, + }, + }, + }, { test: 'none', params: { @@ -474,7 +502,7 @@ describe('case connector', () => { }); }); - it('succeeds when servicenow fields are valid', () => { + it('succeeds when servicenow ITMSM fields are valid', () => { const params: Record = { subAction: 'update', subActionParams: { @@ -508,6 +536,42 @@ describe('case connector', () => { }); }); + it('succeeds when servicenow SIR fields are valid', () => { + const params: Record = { + subAction: 'update', + subActionParams: { + id: 'case-id', + version: '123', + connector: { + id: 'servicenow-sir', + name: 'Servicenow SIR', + type: '.servicenow-sir', + fields: { + destIp: true, + sourceIp: true, + malwareHash: true, + malwareUrl: true, + category: 'ddos', + subcategory: '15', + priority: '1', + }, + }, + }, + }; + + expect(validateParams(caseActionType, params)).toEqual({ + ...params, + subActionParams: { + description: null, + tags: null, + title: null, + status: null, + settings: null, + ...(params.subActionParams as Record), + }, + }); + }); + it('set fields to null if they are missing', () => { const params: Record = { subAction: 'update', diff --git a/x-pack/plugins/cases/server/connectors/case/schema.ts b/x-pack/plugins/cases/server/connectors/case/schema.ts index dce18119d1704..803b01cbbdc57 100644 --- a/x-pack/plugins/cases/server/connectors/case/schema.ts +++ b/x-pack/plugins/cases/server/connectors/case/schema.ts @@ -56,7 +56,7 @@ const ResilientFieldsSchema = schema.object({ severityCode: schema.nullable(schema.string()), }); -const ServiceNowFieldsSchema = schema.object({ +const ServiceNowITSMFieldsSchema = schema.object({ impact: schema.nullable(schema.string()), severity: schema.nullable(schema.string()), urgency: schema.nullable(schema.string()), @@ -64,11 +64,22 @@ const ServiceNowFieldsSchema = schema.object({ subcategory: schema.nullable(schema.string()), }); +const ServiceNowSIRFieldsSchema = schema.object({ + destIp: schema.nullable(schema.boolean()), + sourceIp: schema.nullable(schema.boolean()), + malwareHash: schema.nullable(schema.boolean()), + malwareUrl: schema.nullable(schema.boolean()), + priority: schema.nullable(schema.string()), + category: schema.nullable(schema.string()), + subcategory: schema.nullable(schema.string()), +}); + const NoneFieldsSchema = schema.nullable(schema.object({})); const ReducedConnectorFieldsSchema: { [x: string]: any } = { '.jira': JiraFieldsSchema, '.resilient': ResilientFieldsSchema, + '.servicenow-sir': ServiceNowSIRFieldsSchema, }; export const ConnectorProps = { @@ -78,6 +89,7 @@ export const ConnectorProps = { schema.literal('.servicenow'), schema.literal('.jira'), schema.literal('.resilient'), + schema.literal('.servicenow-sir'), schema.literal('.none'), ]), // Chain of conditional schemes @@ -92,7 +104,7 @@ export const ConnectorProps = { schema.conditional( schema.siblingRef('type'), '.servicenow', - ServiceNowFieldsSchema, + ServiceNowITSMFieldsSchema, NoneFieldsSchema ) ), From e2f77240ba8efd78fe16e849c66345ec0d57c7e6 Mon Sep 17 00:00:00 2001 From: Liza Katz Date: Wed, 17 Mar 2021 17:02:21 +0200 Subject: [PATCH 06/50] Fix 89878 (#94793) --- .../es_query/es_query/filter_matches_index.test.ts | 14 ++++++++++++++ .../es_query/es_query/filter_matches_index.ts | 7 +++++++ 2 files changed, 21 insertions(+) diff --git a/src/plugins/data/common/es_query/es_query/filter_matches_index.test.ts b/src/plugins/data/common/es_query/es_query/filter_matches_index.test.ts index a8c9b9144707d..ad4d7ff8d78e2 100644 --- a/src/plugins/data/common/es_query/es_query/filter_matches_index.test.ts +++ b/src/plugins/data/common/es_query/es_query/filter_matches_index.test.ts @@ -31,6 +31,20 @@ describe('filterMatchesIndex', () => { expect(filterMatchesIndex(filter, indexPattern)).toBe(true); }); + it('should return true if custom filter for the same index is passed', () => { + const filter = { meta: { index: 'foo', key: 'bar', type: 'custom' } } as Filter; + const indexPattern = { id: 'foo', fields: [{ name: 'bara' }] } as IIndexPattern; + + expect(filterMatchesIndex(filter, indexPattern)).toBe(true); + }); + + it('should return false if custom filter for a different index is passed', () => { + const filter = { meta: { index: 'foo', key: 'bar', type: 'custom' } } as Filter; + const indexPattern = { id: 'food', fields: [{ name: 'bara' }] } as IIndexPattern; + + expect(filterMatchesIndex(filter, indexPattern)).toBe(false); + }); + it('should return false if the filter key does not match a field name', () => { const filter = { meta: { index: 'foo', key: 'baz' } } as Filter; const indexPattern = { id: 'foo', fields: [{ name: 'bar' }] } as IIndexPattern; diff --git a/src/plugins/data/common/es_query/es_query/filter_matches_index.ts b/src/plugins/data/common/es_query/es_query/filter_matches_index.ts index 9fd8567b76e2b..478263d5ce601 100644 --- a/src/plugins/data/common/es_query/es_query/filter_matches_index.ts +++ b/src/plugins/data/common/es_query/es_query/filter_matches_index.ts @@ -18,5 +18,12 @@ export function filterMatchesIndex(filter: Filter, indexPattern?: IIndexPattern if (!filter.meta?.key || !indexPattern) { return true; } + + // Fixes https://github.com/elastic/kibana/issues/89878 + // Custom filters may refer multiple fields. Validate the index id only. + if (filter.meta?.type === 'custom') { + return filter.meta.index === indexPattern.id; + } + return indexPattern.fields.some((field: IFieldType) => field.name === filter.meta.key); } From ff165507a7f03b160e8f81e9fa0e6e90f6d77bdf Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Wed, 17 Mar 2021 08:14:42 -0700 Subject: [PATCH 07/50] [DOCS] Re-add glossary links (#94748) --- docs/glossary.asciidoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/glossary.asciidoc b/docs/glossary.asciidoc index 02751ec57a1cf..e6b81d624b02e 100644 --- a/docs/glossary.asciidoc +++ b/docs/glossary.asciidoc @@ -13,9 +13,8 @@ + -- // tag::action-def[] -The rule-specific response that occurs when an alerting rule fires. -A rule can have multiple actions. -See +The rule-specific response that occurs when an alerting <> +fires. A rule can have multiple actions. See {kibana-ref}/action-types.html[Connectors and actions]. // end::action-def[] -- @@ -99,7 +98,8 @@ The cluster location is the weighted centroid for all documents in the grid cell [[glossary-condition]] condition :: // tag::condition-def[] -Specifies the circumstances that must be met to trigger an alerting rule. +Specifies the circumstances that must be met to trigger an alerting +<>. // end::condition-def[] [[glossary-connector]] connector :: From 2ef7f3bd0cee5f44d71e0528409bc3f8576be333 Mon Sep 17 00:00:00 2001 From: Liza Katz Date: Wed, 17 Mar 2021 17:16:01 +0200 Subject: [PATCH 08/50] use index patterns and search services for autocomplete (#92861) * use index patterns and search services for autocomplete * imports * extend DataRequestHandlerContext * Catch error if index patterns service can't be created. * doc Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- ...ata-server.indexpatternsserviceprovider.md | 2 +- ...rver.indexpatternsserviceprovider.setup.md | 4 +-- .../kibana-plugin-plugins-data-server.md | 1 - ...data-server.searchrequesthandlercontext.md | 11 ------ .../data/server/autocomplete/routes.ts | 3 +- .../autocomplete/value_suggestions_route.ts | 36 +++++++++++++------ src/plugins/data/server/index.ts | 4 +-- .../data/server/index_patterns/index.ts | 4 +++ .../index_patterns/index_patterns_service.ts | 20 ++++++++++- src/plugins/data/server/mocks.ts | 2 +- src/plugins/data/server/plugin.ts | 5 ++- .../data/server/search/routes/msearch.ts | 2 +- .../data/server/search/routes/search.ts | 2 +- .../data/server/search/search_service.ts | 2 +- src/plugins/data/server/search/types.ts | 11 ------ src/plugins/data/server/server.api.md | 15 ++++---- src/plugins/data/server/types.ts | 22 ++++++++++++ x-pack/plugins/infra/server/types.ts | 6 ++-- 18 files changed, 96 insertions(+), 56 deletions(-) delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchrequesthandlercontext.md create mode 100644 src/plugins/data/server/types.ts diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsserviceprovider.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsserviceprovider.md index d408f00e33c9e..698b4bc7f2043 100644 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsserviceprovider.md +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsserviceprovider.md @@ -14,6 +14,6 @@ export declare class IndexPatternsServiceProvider implements PluginSignature: ```typescript -setup(core: CoreSetup, { expressions }: IndexPatternsServiceSetupDeps): void; +setup(core: CoreSetup, { logger, expressions }: IndexPatternsServiceSetupDeps): void; ``` ## Parameters @@ -15,7 +15,7 @@ setup(core: CoreSetup, { expressio | Parameter | Type | Description | | --- | --- | --- | | core | CoreSetup<DataPluginStartDependencies, DataPluginStart> | | -| { expressions } | IndexPatternsServiceSetupDeps | | +| { logger, expressions } | IndexPatternsServiceSetupDeps | | Returns: diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.md index e0734bc017f4f..16d9ce457603e 100644 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.md +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.md @@ -109,6 +109,5 @@ | [KibanaContext](./kibana-plugin-plugins-data-server.kibanacontext.md) | | | [ParsedInterval](./kibana-plugin-plugins-data-server.parsedinterval.md) | | | [Query](./kibana-plugin-plugins-data-server.query.md) | | -| [SearchRequestHandlerContext](./kibana-plugin-plugins-data-server.searchrequesthandlercontext.md) | | | [TimeRange](./kibana-plugin-plugins-data-server.timerange.md) | | diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchrequesthandlercontext.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchrequesthandlercontext.md deleted file mode 100644 index f031ddfbd09af..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchrequesthandlercontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [SearchRequestHandlerContext](./kibana-plugin-plugins-data-server.searchrequesthandlercontext.md) - -## SearchRequestHandlerContext type - -Signature: - -```typescript -export declare type SearchRequestHandlerContext = IScopedSearchClient; -``` diff --git a/src/plugins/data/server/autocomplete/routes.ts b/src/plugins/data/server/autocomplete/routes.ts index c453094ff6874..fc6bb0b69c102 100644 --- a/src/plugins/data/server/autocomplete/routes.ts +++ b/src/plugins/data/server/autocomplete/routes.ts @@ -9,9 +9,10 @@ import { Observable } from 'rxjs'; import { CoreSetup, SharedGlobalConfig } from 'kibana/server'; import { registerValueSuggestionsRoute } from './value_suggestions_route'; +import { DataRequestHandlerContext } from '../types'; export function registerRoutes({ http }: CoreSetup, config$: Observable): void { - const router = http.createRouter(); + const router = http.createRouter(); registerValueSuggestionsRoute(router, config$); } diff --git a/src/plugins/data/server/autocomplete/value_suggestions_route.ts b/src/plugins/data/server/autocomplete/value_suggestions_route.ts index 489a23eb83897..8e6d3afa18ed5 100644 --- a/src/plugins/data/server/autocomplete/value_suggestions_route.ts +++ b/src/plugins/data/server/autocomplete/value_suggestions_route.ts @@ -12,12 +12,12 @@ import { IRouter, SharedGlobalConfig } from 'kibana/server'; import { Observable } from 'rxjs'; import { first } from 'rxjs/operators'; -import { IFieldType, Filter } from '../index'; -import { findIndexPatternById, getFieldByName } from '../index_patterns'; +import { IFieldType, Filter, ES_SEARCH_STRATEGY, IEsSearchRequest } from '../index'; import { getRequestAbortedSignal } from '../lib'; +import { DataRequestHandlerContext } from '../types'; export function registerValueSuggestionsRoute( - router: IRouter, + router: IRouter, config$: Observable ) { router.post( @@ -44,24 +44,40 @@ export function registerValueSuggestionsRoute( const config = await config$.pipe(first()).toPromise(); const { field: fieldName, query, filters } = request.body; const { index } = request.params; - const { client } = context.core.elasticsearch.legacy; const signal = getRequestAbortedSignal(request.events.aborted$); + if (!context.indexPatterns) { + return response.badRequest(); + } + const autocompleteSearchOptions = { timeout: `${config.kibana.autocompleteTimeout.asMilliseconds()}ms`, terminate_after: config.kibana.autocompleteTerminateAfter.asMilliseconds(), }; - const indexPattern = await findIndexPatternById(context.core.savedObjects.client, index); - - const field = indexPattern && getFieldByName(fieldName, indexPattern); + const indexPatterns = await context.indexPatterns.find(index, 1); + if (!indexPatterns || indexPatterns.length === 0) { + return response.notFound(); + } + const field = indexPatterns[0].getFieldByName(fieldName); const body = await getBody(autocompleteSearchOptions, field || fieldName, query, filters); - const result = await client.callAsCurrentUser('search', { index, body }, { signal }); + const searchRequest: IEsSearchRequest = { + params: { + index, + body, + }, + }; + const { rawResponse } = await context.search + .search(searchRequest, { + strategy: ES_SEARCH_STRATEGY, + abortSignal: signal, + }) + .toPromise(); const buckets: any[] = - get(result, 'aggregations.suggestions.buckets') || - get(result, 'aggregations.nestedSuggestions.suggestions.buckets'); + get(rawResponse, 'aggregations.suggestions.buckets') || + get(rawResponse, 'aggregations.nestedSuggestions.suggestions.buckets'); return response.ok({ body: map(buckets || [], 'key') }); } diff --git a/src/plugins/data/server/index.ts b/src/plugins/data/server/index.ts index cbf09ef57d96a..c153c0efa8892 100644 --- a/src/plugins/data/server/index.ts +++ b/src/plugins/data/server/index.ts @@ -236,10 +236,10 @@ export { SearchUsage, SearchSessionService, ISearchSessionService, - SearchRequestHandlerContext, - DataRequestHandlerContext, } from './search'; +export { DataRequestHandlerContext } from './types'; + // Search namespace export const search = { aggs: { diff --git a/src/plugins/data/server/index_patterns/index.ts b/src/plugins/data/server/index_patterns/index.ts index 7226d6f015cf8..85610cd85a3ce 100644 --- a/src/plugins/data/server/index_patterns/index.ts +++ b/src/plugins/data/server/index_patterns/index.ts @@ -6,6 +6,8 @@ * Side Public License, v 1. */ +import { IndexPatternsService } from '../../common/index_patterns'; + export * from './utils'; export { IndexPatternsFetcher, @@ -15,3 +17,5 @@ export { getCapabilitiesForRollupIndices, } from './fetcher'; export { IndexPatternsServiceProvider, IndexPatternsServiceStart } from './index_patterns_service'; + +export type IndexPatternsHandlerContext = IndexPatternsService; diff --git a/src/plugins/data/server/index_patterns/index_patterns_service.ts b/src/plugins/data/server/index_patterns/index_patterns_service.ts index 5d703021b94da..b489c29bc3b70 100644 --- a/src/plugins/data/server/index_patterns/index_patterns_service.ts +++ b/src/plugins/data/server/index_patterns/index_patterns_service.ts @@ -25,6 +25,7 @@ import { getIndexPatternLoad } from './expressions'; import { UiSettingsServerToCommon } from './ui_settings_wrapper'; import { IndexPatternsApiServer } from './index_patterns_api_client'; import { SavedObjectsClientServerToCommon } from './saved_objects_client_wrapper'; +import { DataRequestHandlerContext } from '../types'; export interface IndexPatternsServiceStart { indexPatternsServiceFactory: ( @@ -35,6 +36,7 @@ export interface IndexPatternsServiceStart { export interface IndexPatternsServiceSetupDeps { expressions: ExpressionsServerSetup; + logger: Logger; } export interface IndexPatternsServiceStartDeps { @@ -45,11 +47,27 @@ export interface IndexPatternsServiceStartDeps { export class IndexPatternsServiceProvider implements Plugin { public setup( core: CoreSetup, - { expressions }: IndexPatternsServiceSetupDeps + { logger, expressions }: IndexPatternsServiceSetupDeps ) { core.savedObjects.registerType(indexPatternSavedObjectType); core.capabilities.registerProvider(capabilitiesProvider); + core.http.registerRouteHandlerContext( + 'indexPatterns', + async (context, request) => { + const [coreStart, , dataStart] = await core.getStartServices(); + try { + return await dataStart.indexPatterns.indexPatternsServiceFactory( + coreStart.savedObjects.getScopedClient(request), + coreStart.elasticsearch.client.asScoped(request).asCurrentUser + ); + } catch (e) { + logger.error(e); + return undefined; + } + } + ); + registerRoutes(core.http, core.getStartServices); expressions.registerFunction(getIndexPatternLoad({ getStartServices: core.getStartServices })); diff --git a/src/plugins/data/server/mocks.ts b/src/plugins/data/server/mocks.ts index 786dd30dbabd0..c82db7a141403 100644 --- a/src/plugins/data/server/mocks.ts +++ b/src/plugins/data/server/mocks.ts @@ -13,7 +13,7 @@ import { } from './search/mocks'; import { createFieldFormatsSetupMock, createFieldFormatsStartMock } from './field_formats/mocks'; import { createIndexPatternsStartMock } from './index_patterns/mocks'; -import { DataRequestHandlerContext } from './search'; +import { DataRequestHandlerContext } from './types'; function createSetupContract() { return { diff --git a/src/plugins/data/server/plugin.ts b/src/plugins/data/server/plugin.ts index a7a7663d6981c..3408c39cbb8e2 100644 --- a/src/plugins/data/server/plugin.ts +++ b/src/plugins/data/server/plugin.ts @@ -82,7 +82,10 @@ export class DataServerPlugin this.queryService.setup(core); this.autocompleteService.setup(core); this.kqlTelemetryService.setup(core, { usageCollection }); - this.indexPatterns.setup(core, { expressions }); + this.indexPatterns.setup(core, { + expressions, + logger: this.logger.get('indexPatterns'), + }); core.uiSettings.register(getUiSettings()); diff --git a/src/plugins/data/server/search/routes/msearch.ts b/src/plugins/data/server/search/routes/msearch.ts index b578805d8c2df..b5f06c4b343e7 100644 --- a/src/plugins/data/server/search/routes/msearch.ts +++ b/src/plugins/data/server/search/routes/msearch.ts @@ -12,7 +12,7 @@ import { SearchRouteDependencies } from '../search_service'; import { getCallMsearch } from './call_msearch'; import { reportServerError } from '../../../../kibana_utils/server'; -import type { DataPluginRouter } from '../types'; +import type { DataPluginRouter } from '../../types'; /** * The msearch route takes in an array of searches, each consisting of header * and body json, and reformts them into a single request for the _msearch API. diff --git a/src/plugins/data/server/search/routes/search.ts b/src/plugins/data/server/search/routes/search.ts index 1680a9c4a7237..6690e2b81f3e4 100644 --- a/src/plugins/data/server/search/routes/search.ts +++ b/src/plugins/data/server/search/routes/search.ts @@ -10,7 +10,7 @@ import { first } from 'rxjs/operators'; import { schema } from '@kbn/config-schema'; import { getRequestAbortedSignal } from '../../lib'; import { reportServerError } from '../../../../kibana_utils/server'; -import type { DataPluginRouter } from '../types'; +import type { DataPluginRouter } from '../../types'; export function registerSearchRoute(router: DataPluginRouter): void { router.post( diff --git a/src/plugins/data/server/search/search_service.ts b/src/plugins/data/server/search/search_service.ts index 6ece8ff945468..be826a943efd9 100644 --- a/src/plugins/data/server/search/search_service.ts +++ b/src/plugins/data/server/search/search_service.ts @@ -29,7 +29,6 @@ import type { ISearchStrategy, SearchEnhancements, SearchStrategyDependencies, - DataRequestHandlerContext, } from './types'; import { AggsService } from './aggs'; @@ -66,6 +65,7 @@ import { ConfigSchema } from '../../config'; import { ISearchSessionService, SearchSessionService } from './session'; import { KbnServerError } from '../../../kibana_utils/server'; import { registerBsearchRoute } from './routes/bsearch'; +import { DataRequestHandlerContext } from '../types'; type StrategyMap = Record>; diff --git a/src/plugins/data/server/search/types.ts b/src/plugins/data/server/search/types.ts index e8548257c0167..d7aadcc348c87 100644 --- a/src/plugins/data/server/search/types.ts +++ b/src/plugins/data/server/search/types.ts @@ -8,12 +8,10 @@ import { Observable } from 'rxjs'; import type { - IRouter, IScopedClusterClient, IUiSettingsClient, SavedObjectsClientContract, KibanaRequest, - RequestHandlerContext, } from 'src/core/server'; import { ISearchOptions, @@ -116,12 +114,3 @@ export interface ISearchStart< } export type SearchRequestHandlerContext = IScopedSearchClient; - -/** - * @internal - */ -export interface DataRequestHandlerContext extends RequestHandlerContext { - search: SearchRequestHandlerContext; -} - -export type DataPluginRouter = IRouter; diff --git a/src/plugins/data/server/server.api.md b/src/plugins/data/server/server.api.md index 0118906c181cc..83f7c67eba057 100644 --- a/src/plugins/data/server/server.api.md +++ b/src/plugins/data/server/server.api.md @@ -312,6 +312,12 @@ export const config: PluginConfigDescriptor; // @internal (undocumented) export interface DataRequestHandlerContext extends RequestHandlerContext { + // Warning: (ae-forgotten-export) The symbol "IndexPatternsHandlerContext" needs to be exported by the entry point index.d.ts + // + // (undocumented) + indexPatterns?: IndexPatternsHandlerContext; + // Warning: (ae-forgotten-export) The symbol "SearchRequestHandlerContext" needs to be exported by the entry point index.d.ts + // // (undocumented) search: SearchRequestHandlerContext; } @@ -954,7 +960,7 @@ export class IndexPatternsServiceProvider implements Plugin_3, { expressions }: IndexPatternsServiceSetupDeps): void; + setup(core: CoreSetup_2, { logger, expressions }: IndexPatternsServiceSetupDeps): void; // Warning: (ae-forgotten-export) The symbol "IndexPatternsServiceStartDeps" needs to be exported by the entry point index.d.ts // // (undocumented) @@ -1319,11 +1325,6 @@ export const search: { tabifyGetColumns: typeof tabifyGetColumns; }; -// Warning: (ae-missing-release-tag) "SearchRequestHandlerContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type SearchRequestHandlerContext = IScopedSearchClient; - // @internal export class SearchSessionService implements ISearchSessionService { constructor(); @@ -1515,7 +1516,7 @@ export function usageProvider(core: CoreSetup_2): SearchUsage; // src/plugins/data/server/index.ts:270:1 - (ae-forgotten-export) The symbol "toAbsoluteDates" needs to be exported by the entry point index.d.ts // src/plugins/data/server/index.ts:271:1 - (ae-forgotten-export) The symbol "calcAutoIntervalLessThan" needs to be exported by the entry point index.d.ts // src/plugins/data/server/plugin.ts:79:74 - (ae-forgotten-export) The symbol "DataEnhancements" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/search/types.ts:114:5 - (ae-forgotten-export) The symbol "ISearchStartSearchSource" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/search/types.ts:112:5 - (ae-forgotten-export) The symbol "ISearchStartSearchSource" needs to be exported by the entry point index.d.ts // (No @packageDocumentation comment for this package) diff --git a/src/plugins/data/server/types.ts b/src/plugins/data/server/types.ts new file mode 100644 index 0000000000000..ea0fa49058d37 --- /dev/null +++ b/src/plugins/data/server/types.ts @@ -0,0 +1,22 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { IRouter, RequestHandlerContext } from 'src/core/server'; + +import { SearchRequestHandlerContext } from './search'; +import { IndexPatternsHandlerContext } from './index_patterns'; + +/** + * @internal + */ +export interface DataRequestHandlerContext extends RequestHandlerContext { + search: SearchRequestHandlerContext; + indexPatterns?: IndexPatternsHandlerContext; +} + +export type DataPluginRouter = IRouter; diff --git a/x-pack/plugins/infra/server/types.ts b/x-pack/plugins/infra/server/types.ts index 5cae015861946..1c51a5549cb41 100644 --- a/x-pack/plugins/infra/server/types.ts +++ b/x-pack/plugins/infra/server/types.ts @@ -5,8 +5,7 @@ * 2.0. */ -import type { RequestHandlerContext } from 'src/core/server'; -import type { SearchRequestHandlerContext } from '../../../../src/plugins/data/server'; +import type { DataRequestHandlerContext } from '../../../../src/plugins/data/server'; import { MlPluginSetup } from '../../ml/server'; export type MlSystem = ReturnType; @@ -27,7 +26,6 @@ export type InfraRequestHandlerContext = InfraMlRequestHandlerContext & /** * @internal */ -export interface InfraPluginRequestHandlerContext extends RequestHandlerContext { +export interface InfraPluginRequestHandlerContext extends DataRequestHandlerContext { infra: InfraRequestHandlerContext; - search: SearchRequestHandlerContext; } From 4db72b96d45ef83d34168b77dd7beae7504c5066 Mon Sep 17 00:00:00 2001 From: Peter Pisljar Date: Wed, 17 Mar 2021 16:57:06 +0100 Subject: [PATCH 09/50] kql, lucene and timerange functions (#93043) --- api_docs/data.json | 2 +- api_docs/data_search.json | 2 +- api_docs/expressions.json | 2 +- .../data/common/search/expressions/index.ts | 5 ++ .../search/expressions/kibana_context.ts | 14 +++-- .../search/expressions/kibana_context_type.ts | 2 + .../common/search/expressions/kql.test.ts | 43 +++++++++++++ .../data/common/search/expressions/kql.ts | 49 +++++++++++++++ .../common/search/expressions/lucene.test.ts | 43 +++++++++++++ .../data/common/search/expressions/lucene.ts | 49 +++++++++++++++ .../search/expressions/query_to_ast.test.ts | 29 +++++++++ .../common/search/expressions/query_to_ast.ts | 23 +++++++ .../search/expressions/timerange.test.ts | 44 +++++++++++++ .../common/search/expressions/timerange.ts | 61 +++++++++++++++++++ .../expressions/timerange_to_ast.test.ts | 21 +++++++ .../search/expressions/timerange_to_ast.ts | 19 ++++++ .../data/public/search/search_service.ts | 6 ++ .../data/server/search/search_service.ts | 6 ++ .../public/embeddable/to_ast.ts | 3 +- .../test_suites/run_pipeline/esaggs.ts | 6 +- 20 files changed, 416 insertions(+), 13 deletions(-) create mode 100644 src/plugins/data/common/search/expressions/kql.test.ts create mode 100644 src/plugins/data/common/search/expressions/kql.ts create mode 100644 src/plugins/data/common/search/expressions/lucene.test.ts create mode 100644 src/plugins/data/common/search/expressions/lucene.ts create mode 100644 src/plugins/data/common/search/expressions/query_to_ast.test.ts create mode 100644 src/plugins/data/common/search/expressions/query_to_ast.ts create mode 100644 src/plugins/data/common/search/expressions/timerange.test.ts create mode 100644 src/plugins/data/common/search/expressions/timerange.ts create mode 100644 src/plugins/data/common/search/expressions/timerange_to_ast.test.ts create mode 100644 src/plugins/data/common/search/expressions/timerange_to_ast.ts diff --git a/api_docs/data.json b/api_docs/data.json index 24bc790bbafa7..13e2b402a4afd 100644 --- a/api_docs/data.json +++ b/api_docs/data.json @@ -27594,4 +27594,4 @@ } ] } -} \ No newline at end of file +} diff --git a/api_docs/data_search.json b/api_docs/data_search.json index 6dc7c105051f5..d0eb07083c2f6 100644 --- a/api_docs/data_search.json +++ b/api_docs/data_search.json @@ -19470,4 +19470,4 @@ } ] } -} \ No newline at end of file +} diff --git a/api_docs/expressions.json b/api_docs/expressions.json index ff04fcd03f046..ee496cc7c06a3 100644 --- a/api_docs/expressions.json +++ b/api_docs/expressions.json @@ -33883,4 +33883,4 @@ } ] } -} \ No newline at end of file +} diff --git a/src/plugins/data/common/search/expressions/index.ts b/src/plugins/data/common/search/expressions/index.ts index 8ac5ffec850f6..b38dce247261c 100644 --- a/src/plugins/data/common/search/expressions/index.ts +++ b/src/plugins/data/common/search/expressions/index.ts @@ -8,6 +8,11 @@ export * from './kibana'; export * from './kibana_context'; +export * from './kql'; +export * from './lucene'; +export * from './query_to_ast'; +export * from './timerange_to_ast'; export * from './kibana_context_type'; export * from './esaggs'; export * from './utils'; +export * from './timerange'; diff --git a/src/plugins/data/common/search/expressions/kibana_context.ts b/src/plugins/data/common/search/expressions/kibana_context.ts index 982db7505a3cf..5c2e2f418e69c 100644 --- a/src/plugins/data/common/search/expressions/kibana_context.ts +++ b/src/plugins/data/common/search/expressions/kibana_context.ts @@ -12,11 +12,13 @@ import { ExpressionFunctionDefinition, ExecutionContext } from 'src/plugins/expr import { Adapters } from 'src/plugins/inspector/common'; import { Query, uniqFilters } from '../../query'; import { ExecutionContextSearch, KibanaContext } from './kibana_context_type'; +import { KibanaQueryOutput } from './kibana_context_type'; +import { KibanaTimerangeOutput } from './timerange'; interface Arguments { - q?: string | null; + q?: KibanaQueryOutput | null; filters?: string | null; - timeRange?: string | null; + timeRange?: KibanaTimerangeOutput | null; savedSearchId?: string | null; } @@ -46,7 +48,7 @@ export const kibanaContextFunction: ExpressionFunctionKibanaContext = { }), args: { q: { - types: ['string', 'null'], + types: ['kibana_query', 'null'], aliases: ['query', '_'], default: null, help: i18n.translate('data.search.functions.kibana_context.q.help', { @@ -61,7 +63,7 @@ export const kibanaContextFunction: ExpressionFunctionKibanaContext = { }), }, timeRange: { - types: ['string', 'null'], + types: ['timerange', 'null'], default: null, help: i18n.translate('data.search.functions.kibana_context.timeRange.help', { defaultMessage: 'Specify Kibana time range filter', @@ -77,8 +79,8 @@ export const kibanaContextFunction: ExpressionFunctionKibanaContext = { }, async fn(input, args, { getSavedObject }) { - const timeRange = getParsedValue(args.timeRange, input?.timeRange); - let queries = mergeQueries(input?.query, getParsedValue(args?.q, [])); + const timeRange = args.timeRange || input?.timeRange; + let queries = mergeQueries(input?.query, args?.q || []); let filters = [...(input?.filters || []), ...getParsedValue(args?.filters, [])]; if (args.savedSearchId) { diff --git a/src/plugins/data/common/search/expressions/kibana_context_type.ts b/src/plugins/data/common/search/expressions/kibana_context_type.ts index 40adbc65317ad..090f09f7004ca 100644 --- a/src/plugins/data/common/search/expressions/kibana_context_type.ts +++ b/src/plugins/data/common/search/expressions/kibana_context_type.ts @@ -22,6 +22,8 @@ export type ExpressionValueSearchContext = ExpressionValueBoxed< ExecutionContextSearch >; +export type KibanaQueryOutput = ExpressionValueBoxed<'kibana_query', Query>; + // TODO: These two are exported for legacy reasons - remove them eventually. export type KIBANA_CONTEXT_NAME = 'kibana_context'; export type KibanaContext = ExpressionValueSearchContext; diff --git a/src/plugins/data/common/search/expressions/kql.test.ts b/src/plugins/data/common/search/expressions/kql.test.ts new file mode 100644 index 0000000000000..dcf3906e6c2f5 --- /dev/null +++ b/src/plugins/data/common/search/expressions/kql.test.ts @@ -0,0 +1,43 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ExecutionContext } from 'src/plugins/expressions/common'; +import { ExpressionValueSearchContext } from './kibana_context_type'; +import { functionWrapper } from './utils'; +import { kqlFunction } from './kql'; + +describe('interpreter/functions#kql', () => { + const fn = functionWrapper(kqlFunction); + let input: Partial; + let context: ExecutionContext; + + beforeEach(() => { + input = { timeRange: { from: '0', to: '1' } }; + context = { + getSearchContext: () => ({}), + getSearchSessionId: () => undefined, + types: {}, + variables: {}, + abortSignal: {} as any, + inspectorAdapters: {} as any, + }; + }); + + it('returns an object with the correct structure', () => { + const actual = fn(input, { q: 'test' }, context); + expect(actual).toMatchInlineSnapshot( + ` + Object { + "language": "kuery", + "query": "test", + "type": "kibana_query", + } + ` + ); + }); +}); diff --git a/src/plugins/data/common/search/expressions/kql.ts b/src/plugins/data/common/search/expressions/kql.ts new file mode 100644 index 0000000000000..5dd830f92f834 --- /dev/null +++ b/src/plugins/data/common/search/expressions/kql.ts @@ -0,0 +1,49 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; +import { ExpressionFunctionDefinition } from 'src/plugins/expressions/common'; +import { KibanaQueryOutput } from './kibana_context_type'; + +interface Arguments { + q: string; +} + +export type ExpressionFunctionKql = ExpressionFunctionDefinition< + 'kql', + null, + Arguments, + KibanaQueryOutput +>; + +export const kqlFunction: ExpressionFunctionKql = { + name: 'kql', + type: 'kibana_query', + inputTypes: ['null'], + help: i18n.translate('data.search.functions.kql.help', { + defaultMessage: 'Create kibana kql query', + }), + args: { + q: { + types: ['string'], + required: true, + aliases: ['query', '_'], + help: i18n.translate('data.search.functions.kql.q.help', { + defaultMessage: 'Specify Kibana KQL free form text query', + }), + }, + }, + + fn(input, args) { + return { + type: 'kibana_query', + language: 'kuery', + query: args.q, + }; + }, +}; diff --git a/src/plugins/data/common/search/expressions/lucene.test.ts b/src/plugins/data/common/search/expressions/lucene.test.ts new file mode 100644 index 0000000000000..d0b26aad98ed8 --- /dev/null +++ b/src/plugins/data/common/search/expressions/lucene.test.ts @@ -0,0 +1,43 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ExecutionContext } from 'src/plugins/expressions/common'; +import { ExpressionValueSearchContext } from './kibana_context_type'; +import { functionWrapper } from './utils'; +import { luceneFunction } from './lucene'; + +describe('interpreter/functions#lucene', () => { + const fn = functionWrapper(luceneFunction); + let input: Partial; + let context: ExecutionContext; + + beforeEach(() => { + input = { timeRange: { from: '0', to: '1' } }; + context = { + getSearchContext: () => ({}), + getSearchSessionId: () => undefined, + types: {}, + variables: {}, + abortSignal: {} as any, + inspectorAdapters: {} as any, + }; + }); + + it('returns an object with the correct structure', () => { + const actual = fn(input, { q: '{ "test": 1 }' }, context); + expect(actual).toMatchInlineSnapshot(` + Object { + "language": "lucene", + "query": Object { + "test": 1, + }, + "type": "kibana_query", + } + `); + }); +}); diff --git a/src/plugins/data/common/search/expressions/lucene.ts b/src/plugins/data/common/search/expressions/lucene.ts new file mode 100644 index 0000000000000..a00ff7ed5f447 --- /dev/null +++ b/src/plugins/data/common/search/expressions/lucene.ts @@ -0,0 +1,49 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; +import { ExpressionFunctionDefinition } from 'src/plugins/expressions/common'; +import { KibanaQueryOutput } from './kibana_context_type'; + +interface Arguments { + q: string; +} + +export type ExpressionFunctionLucene = ExpressionFunctionDefinition< + 'lucene', + null, + Arguments, + KibanaQueryOutput +>; + +export const luceneFunction: ExpressionFunctionLucene = { + name: 'lucene', + type: 'kibana_query', + inputTypes: ['null'], + help: i18n.translate('data.search.functions.lucene.help', { + defaultMessage: 'Create kibana lucene query', + }), + args: { + q: { + types: ['string'], + required: true, + aliases: ['query', '_'], + help: i18n.translate('data.search.functions.lucene.q.help', { + defaultMessage: 'Specify Lucene free form text query', + }), + }, + }, + + fn(input, args) { + return { + type: 'kibana_query', + language: 'lucene', + query: JSON.parse(args.q), + }; + }, +}; diff --git a/src/plugins/data/common/search/expressions/query_to_ast.test.ts b/src/plugins/data/common/search/expressions/query_to_ast.test.ts new file mode 100644 index 0000000000000..4b9c97e99e7c7 --- /dev/null +++ b/src/plugins/data/common/search/expressions/query_to_ast.test.ts @@ -0,0 +1,29 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { queryToAst } from './query_to_ast'; + +describe('queryToAst', () => { + it('returns an object with the correct structure for lucene queies', () => { + const actual = queryToAst({ language: 'lucene', query: { country: 'US' } }); + expect(actual).toHaveProperty('functions'); + expect(actual.functions[0]).toHaveProperty('name', 'lucene'); + expect(actual.functions[0]).toHaveProperty('arguments', { + q: ['{"country":"US"}'], + }); + }); + + it('returns an object with the correct structure for kql queies', () => { + const actual = queryToAst({ language: 'kuery', query: 'country:US' }); + expect(actual).toHaveProperty('functions'); + expect(actual.functions[0]).toHaveProperty('name', 'kql'); + expect(actual.functions[0]).toHaveProperty('arguments', { + q: ['country:US'], + }); + }); +}); diff --git a/src/plugins/data/common/search/expressions/query_to_ast.ts b/src/plugins/data/common/search/expressions/query_to_ast.ts new file mode 100644 index 0000000000000..a9a6583f566c8 --- /dev/null +++ b/src/plugins/data/common/search/expressions/query_to_ast.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { buildExpression, buildExpressionFunction } from '../../../../expressions/common'; +import { Query } from '../../query'; +import { ExpressionFunctionKql } from './kql'; +import { ExpressionFunctionLucene } from './lucene'; + +export const queryToAst = (query: Query) => { + if (query.language === 'kuery') { + return buildExpression([ + buildExpressionFunction('kql', { q: query.query as string }), + ]); + } + return buildExpression([ + buildExpressionFunction('lucene', { q: JSON.stringify(query.query) }), + ]); +}; diff --git a/src/plugins/data/common/search/expressions/timerange.test.ts b/src/plugins/data/common/search/expressions/timerange.test.ts new file mode 100644 index 0000000000000..ae461b482e182 --- /dev/null +++ b/src/plugins/data/common/search/expressions/timerange.test.ts @@ -0,0 +1,44 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ExecutionContext } from 'src/plugins/expressions/common'; +import { ExpressionValueSearchContext } from './kibana_context_type'; +import { functionWrapper } from './utils'; +import { kibanaTimerangeFunction } from './timerange'; + +describe('interpreter/functions#timerange', () => { + const fn = functionWrapper(kibanaTimerangeFunction); + let input: Partial; + let context: ExecutionContext; + + beforeEach(() => { + input = { timeRange: { from: '0', to: '1' } }; + context = { + getSearchContext: () => ({}), + getSearchSessionId: () => undefined, + types: {}, + variables: {}, + abortSignal: {} as any, + inspectorAdapters: {} as any, + }; + }); + + it('returns an object with the correct structure', () => { + const actual = fn(input, { from: 'now', to: 'now-7d', mode: 'absolute' }, context); + expect(actual).toMatchInlineSnapshot( + ` + Object { + "from": "now", + "mode": "absolute", + "to": "now-7d", + "type": "timerange", + } + ` + ); + }); +}); diff --git a/src/plugins/data/common/search/expressions/timerange.ts b/src/plugins/data/common/search/expressions/timerange.ts new file mode 100644 index 0000000000000..ed09bab629519 --- /dev/null +++ b/src/plugins/data/common/search/expressions/timerange.ts @@ -0,0 +1,61 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; +import { ExpressionFunctionDefinition, ExpressionValueBoxed } from 'src/plugins/expressions/common'; +import { TimeRange } from '../../query'; + +export type KibanaTimerangeOutput = ExpressionValueBoxed<'timerange', TimeRange>; + +export type ExpressionFunctionKibanaTimerange = ExpressionFunctionDefinition< + 'timerange', + null, + TimeRange, + KibanaTimerangeOutput +>; + +export const kibanaTimerangeFunction: ExpressionFunctionKibanaTimerange = { + name: 'timerange', + type: 'timerange', + inputTypes: ['null'], + help: i18n.translate('data.search.functions.timerange.help', { + defaultMessage: 'Create kibana timerange', + }), + args: { + from: { + types: ['string'], + required: true, + help: i18n.translate('data.search.functions.timerange.from.help', { + defaultMessage: 'Specify the start date', + }), + }, + to: { + types: ['string'], + required: true, + help: i18n.translate('data.search.functions.timerange.to.help', { + defaultMessage: 'Specify the end date', + }), + }, + mode: { + types: ['string'], + options: ['absolute', 'relative'], + help: i18n.translate('data.search.functions.timerange.mode.help', { + defaultMessage: 'Specify the mode (absolute or relative)', + }), + }, + }, + + fn(input, args) { + return { + type: 'timerange', + from: args.from, + to: args.to, + mode: args.mode, + }; + }, +}; diff --git a/src/plugins/data/common/search/expressions/timerange_to_ast.test.ts b/src/plugins/data/common/search/expressions/timerange_to_ast.test.ts new file mode 100644 index 0000000000000..12ba1e012bb65 --- /dev/null +++ b/src/plugins/data/common/search/expressions/timerange_to_ast.test.ts @@ -0,0 +1,21 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { timerangeToAst } from './timerange_to_ast'; + +describe('timerangeToAst', () => { + it('returns an object with the correct structure', () => { + const actual = timerangeToAst({ from: 'now', to: 'now-7d', mode: 'absolute' }); + expect(actual).toHaveProperty('name', 'timerange'); + expect(actual).toHaveProperty('arguments', { + from: ['now'], + mode: ['absolute'], + to: ['now-7d'], + }); + }); +}); diff --git a/src/plugins/data/common/search/expressions/timerange_to_ast.ts b/src/plugins/data/common/search/expressions/timerange_to_ast.ts new file mode 100644 index 0000000000000..ad66c12e68c83 --- /dev/null +++ b/src/plugins/data/common/search/expressions/timerange_to_ast.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { buildExpressionFunction } from '../../../../expressions/common'; +import { TimeRange } from '../../query'; +import { ExpressionFunctionKibanaTimerange } from './timerange'; + +export const timerangeToAst = (timerange: TimeRange) => { + return buildExpressionFunction('timerange', { + from: timerange.from, + to: timerange.to, + mode: timerange.mode, + }); +}; diff --git a/src/plugins/data/public/search/search_service.ts b/src/plugins/data/public/search/search_service.ts index 6522cae3e044f..8eb73ba62244f 100644 --- a/src/plugins/data/public/search/search_service.ts +++ b/src/plugins/data/public/search/search_service.ts @@ -25,6 +25,9 @@ import { ISearchGeneric, SearchSourceDependencies, SearchSourceService, + kibanaTimerangeFunction, + luceneFunction, + kqlFunction, } from '../../common/search'; import { getCallMsearch } from './legacy'; import { AggsService, AggsStartDependencies } from './aggs'; @@ -102,6 +105,9 @@ export class SearchService implements Plugin { ); expressions.registerFunction(kibana); expressions.registerFunction(kibanaContextFunction); + expressions.registerFunction(luceneFunction); + expressions.registerFunction(kqlFunction); + expressions.registerFunction(kibanaTimerangeFunction); expressions.registerType(kibanaContext); expressions.registerFunction(esdsl); diff --git a/src/plugins/data/server/search/search_service.ts b/src/plugins/data/server/search/search_service.ts index be826a943efd9..ab9fc84d51187 100644 --- a/src/plugins/data/server/search/search_service.ts +++ b/src/plugins/data/server/search/search_service.ts @@ -51,6 +51,9 @@ import { kibana, kibanaContext, kibanaContextFunction, + kibanaTimerangeFunction, + kqlFunction, + luceneFunction, SearchSourceDependencies, searchSourceRequiredUiSettings, SearchSourceService, @@ -142,6 +145,9 @@ export class SearchService implements Plugin { expressions.registerFunction(getEsaggs({ getStartServices: core.getStartServices })); expressions.registerFunction(kibana); + expressions.registerFunction(luceneFunction); + expressions.registerFunction(kqlFunction); + expressions.registerFunction(kibanaTimerangeFunction); expressions.registerFunction(kibanaContextFunction); expressions.registerType(kibanaContext); diff --git a/src/plugins/visualizations/public/embeddable/to_ast.ts b/src/plugins/visualizations/public/embeddable/to_ast.ts index 5436b78c1b71f..7ccff9394943a 100644 --- a/src/plugins/visualizations/public/embeddable/to_ast.ts +++ b/src/plugins/visualizations/public/embeddable/to_ast.ts @@ -10,6 +10,7 @@ import { ExpressionFunctionKibana, ExpressionFunctionKibanaContext } from '../.. import { buildExpression, buildExpressionFunction } from '../../../expressions/public'; import { VisToExpressionAst } from '../types'; +import { queryToAst } from '../../../data/common'; /** * Creates an ast expression for a visualization based on kibana context (query, filters, timerange) @@ -25,7 +26,7 @@ export const toExpressionAst: VisToExpressionAst = async (vis, params) => { const kibana = buildExpressionFunction('kibana', {}); const kibanaContext = buildExpressionFunction('kibana_context', { - q: query && JSON.stringify(query), + q: query && queryToAst(query), filters: filters && JSON.stringify(filters), savedSearchId, }); diff --git a/test/interpreter_functional/test_suites/run_pipeline/esaggs.ts b/test/interpreter_functional/test_suites/run_pipeline/esaggs.ts index 7f6e9a6439165..f71fa58cd7cc5 100644 --- a/test/interpreter_functional/test_suites/run_pipeline/esaggs.ts +++ b/test/interpreter_functional/test_suites/run_pipeline/esaggs.ts @@ -49,7 +49,7 @@ export default function ({ to: '2015-09-22T00:00:00Z', }; const expression = ` - kibana_context timeRange='${JSON.stringify(timeRange)}' + kibana_context timeRange={timerange from='${timeRange.from}' to='${timeRange.to}'} | esaggs index={indexPatternLoad id='logstash-*'} aggs={aggCount id="1" enabled=true schema="metric"} `; @@ -63,7 +63,7 @@ export default function ({ to: '2015-09-22T00:00:00Z', }; const expression = ` - kibana_context timeRange='${JSON.stringify(timeRange)}' + kibana_context timeRange={timerange from='${timeRange.from}' to='${timeRange.to}'} | esaggs index={indexPatternLoad id='logstash-*'} timeFields='relatedContent.article:published_time' aggs={aggCount id="1" enabled=true schema="metric"} @@ -78,7 +78,7 @@ export default function ({ to: '2015-09-22T00:00:00Z', }; const expression = ` - kibana_context timeRange='${JSON.stringify(timeRange)}' + kibana_context timeRange={timerange from='${timeRange.from}' to='${timeRange.to}'} | esaggs index={indexPatternLoad id='logstash-*'} timeFields='relatedContent.article:published_time' timeFields='@timestamp' From 881b9a52462baa98b82c69a1f255c198f524ba11 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Wed, 17 Mar 2021 16:03:01 +0000 Subject: [PATCH 10/50] chore(NA): disable preserve symlinks on tsconfig.json (#94775) --- tsconfig.base.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/tsconfig.base.json b/tsconfig.base.json index 5220601e794b0..865806cffe5bb 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -36,8 +36,6 @@ // Resolve modules in the same way as Node.js. Aka make `require` works the // same in TypeScript as it does in Node.js. "moduleResolution": "node", - // Do not resolve the real path of symlinks - "preserveSymlinks": true, // "resolveJsonModule" allows for importing, extracting types from and generating .json files. "resolveJsonModule": true, // Disallow inconsistently-cased references to the same file. From e9627510fd18a37e439a8ccbf5b771c325255195 Mon Sep 17 00:00:00 2001 From: Melissa Alvarez Date: Wed, 17 Mar 2021 12:14:45 -0400 Subject: [PATCH 11/50] [ML] Data Frame Analytics creation: ensure job config validity persists when switching from/to form/editor (#94654) * persisted validation form state when switching from editor to form * persist complete form state when switching from json editor --- .../hooks/use_create_analytics_form/reducer.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/reducer.ts b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/reducer.ts index 3def5ca4193d1..36c66a76c68f6 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/reducer.ts +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/reducer.ts @@ -558,8 +558,9 @@ export function reducer(state: State, action: Action): State { case ACTION.SWITCH_TO_FORM: const { jobConfig: config } = state; const { jobId } = state.form; + // Persist form state when switching back from advanced editor // @ts-ignore - const formState = getFormStateFromJobConfig(config, false); + const formState = { ...state.form, ...getFormStateFromJobConfig(config, false) }; if (typeof jobId === 'string' && jobId.trim() !== '') { formState.jobId = jobId; From 238610491bfe7a71f9e96c0db436530684d08cb6 Mon Sep 17 00:00:00 2001 From: Alison Goryachev Date: Wed, 17 Mar 2021 12:21:02 -0400 Subject: [PATCH 12/50] [Component templates] Fix failing API test (#94831) * fix failing component templates test * temporarily skip test --- .../apis/management/index_management/component_templates.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/test/api_integration/apis/management/index_management/component_templates.ts b/x-pack/test/api_integration/apis/management/index_management/component_templates.ts index 4f23a29eff898..89cb45df22d56 100644 --- a/x-pack/test/api_integration/apis/management/index_management/component_templates.ts +++ b/x-pack/test/api_integration/apis/management/index_management/component_templates.ts @@ -349,7 +349,7 @@ export default function ({ getService }: FtrProviderContext) { }); }); - it('should return an error for any component templates not sucessfully deleted', async () => { + it.skip('should return an error for any component templates not sucessfully deleted', async () => { const COMPONENT_DOES_NOT_EXIST = 'component_does_not_exist'; const { name: componentTemplateName } = componentTemplateD; @@ -359,7 +359,7 @@ export default function ({ getService }: FtrProviderContext) { expect(body.itemsDeleted).to.eql([componentTemplateName]); expect(body.errors[0].name).to.eql(COMPONENT_DOES_NOT_EXIST); - expect(body.errors[0].error.msg).to.contain('index_template_missing_exception'); + expect(body.errors[0].error.msg).to.contain('resource_not_found_exception'); }); }); From 37ff43b0c33aad8631dde76963367fa380ddb26d Mon Sep 17 00:00:00 2001 From: Spencer Date: Wed, 17 Mar 2021 09:49:39 -0700 Subject: [PATCH 13/50] [theme] default to v8 theme (#94370) Co-authored-by: spalger --- .../src/common/theme_tags.test.ts | 4 ++-- .../kbn-optimizer/src/common/theme_tags.ts | 2 +- .../basic_optimization.test.ts.snap | 4 ++-- .../basic_optimization.test.ts | 4 ++-- .../src/optimizer/cache_keys.test.ts | 4 ++-- .../bootstrap/bootstrap_renderer.test.ts | 2 +- .../rendering/bootstrap/bootstrap_renderer.ts | 4 ++-- .../server/ui_settings/settings/theme.test.ts | 4 ++-- src/core/server/ui_settings/settings/theme.ts | 6 +++--- .../apps/dashboard/dashboard_saved_query.ts | 2 +- .../apps/discover/_saved_queries.ts | 2 +- .../page_objects/visual_builder_page.ts | 2 +- .../screenshots/baseline/area_chart.png | Bin 128958 -> 138020 bytes .../screenshots/baseline/tsvb_dashboard.png | Bin 123348 -> 121370 bytes .../screenshots/baseline/combined_test.png | Bin 22893 -> 16064 bytes .../baseline/final_screenshot_test.png | Bin 22943 -> 16064 bytes .../screenshots/baseline/metric_all_data.png | Bin 33019 -> 22339 bytes .../baseline/metric_invalid_data.png | Bin 4518 -> 3763 bytes .../baseline/metric_multi_metric_data.png | Bin 46289 -> 38801 bytes .../baseline/metric_percentage_mode.png | Bin 32672 -> 22032 bytes .../baseline/metric_single_metric_data.png | Bin 29766 -> 20209 bytes .../screenshots/baseline/partial_test_1.png | Bin 15123 -> 11453 bytes .../screenshots/baseline/partial_test_2.png | Bin 22893 -> 16064 bytes .../screenshots/baseline/partial_test_3.png | Bin 10749 -> 10750 bytes .../baseline/tagcloud_all_data.png | Bin 15647 -> 12110 bytes .../baseline/tagcloud_fontsize.png | Bin 13748 -> 10724 bytes .../baseline/tagcloud_invalid_data.png | Bin 1994 -> 1993 bytes .../baseline/tagcloud_metric_data.png | Bin 9238 -> 6898 bytes .../screenshots/baseline/tagcloud_options.png | Bin 19125 -> 14978 bytes .../outlier_detection_creation.ts | 4 ++-- .../screenshots/baseline/first_child.png | Bin 7270 -> 6517 bytes .../baseline/first_child_selected.png | Bin 9760 -> 8300 bytes ...d_selected_with_primary_button_hovered.png | Bin 9760 -> 8305 bytes ...irst_child_with_primary_button_hovered.png | Bin 9036 -> 7287 bytes .../screenshots/baseline/origin.png | Bin 14572 -> 16373 bytes .../screenshots/baseline/origin_selected.png | Bin 15181 -> 16392 bytes ...rigin_selected_with_first_pill_hovered.png | Bin 15181 -> 16392 bytes ...igin_selected_with_first_pill_selected.png | Bin 14517 -> 16415 bytes ...n_selected_with_primary_button_hovered.png | Bin 15579 -> 16402 bytes .../origin_with_primary_button_hovered.png | Bin 15579 -> 16402 bytes .../screenshots/baseline/second_child.png | Bin 10965 -> 11202 bytes .../baseline/second_child_selected.png | Bin 13265 -> 13727 bytes ...d_selected_with_primary_button_hovered.png | Bin 13300 -> 13737 bytes ...cond_child_with_primary_button_hovered.png | Bin 12791 -> 12235 bytes 44 files changed, 22 insertions(+), 22 deletions(-) diff --git a/packages/kbn-optimizer/src/common/theme_tags.test.ts b/packages/kbn-optimizer/src/common/theme_tags.test.ts index d0952a22da90d..126d1b1833873 100644 --- a/packages/kbn-optimizer/src/common/theme_tags.test.ts +++ b/packages/kbn-optimizer/src/common/theme_tags.test.ts @@ -11,8 +11,8 @@ import { parseThemeTags } from './theme_tags'; it('returns default tags when passed undefined', () => { expect(parseThemeTags()).toMatchInlineSnapshot(` Array [ - "v7dark", - "v7light", + "v8dark", + "v8light", ] `); }); diff --git a/packages/kbn-optimizer/src/common/theme_tags.ts b/packages/kbn-optimizer/src/common/theme_tags.ts index e889b5d3642c8..de95bbdcbcfea 100644 --- a/packages/kbn-optimizer/src/common/theme_tags.ts +++ b/packages/kbn-optimizer/src/common/theme_tags.ts @@ -17,7 +17,7 @@ const isArrayOfStrings = (input: unknown): input is string[] => export type ThemeTags = readonly ThemeTag[]; export type ThemeTag = 'v7light' | 'v7dark' | 'v8light' | 'v8dark'; -export const DEFAULT_THEMES = tags('v7light', 'v7dark'); +export const DEFAULT_THEMES = tags('v8light', 'v8dark'); export const ALL_THEMES = tags('v7light', 'v7dark', 'v8light', 'v8dark'); export function parseThemeTags(input?: any): ThemeTags { diff --git a/packages/kbn-optimizer/src/integration_tests/__snapshots__/basic_optimization.test.ts.snap b/packages/kbn-optimizer/src/integration_tests/__snapshots__/basic_optimization.test.ts.snap index 9e9e8960da21b..ad4a41824096a 100644 --- a/packages/kbn-optimizer/src/integration_tests/__snapshots__/basic_optimization.test.ts.snap +++ b/packages/kbn-optimizer/src/integration_tests/__snapshots__/basic_optimization.test.ts.snap @@ -94,8 +94,8 @@ OptimizerConfig { "profileWebpack": false, "repoRoot": /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo, "themeTags": Array [ - "v7dark", - "v7light", + "v8dark", + "v8light", ], "watch": false, } diff --git a/packages/kbn-optimizer/src/integration_tests/basic_optimization.test.ts b/packages/kbn-optimizer/src/integration_tests/basic_optimization.test.ts index f378b029d32e7..a86f231b79806 100644 --- a/packages/kbn-optimizer/src/integration_tests/basic_optimization.test.ts +++ b/packages/kbn-optimizer/src/integration_tests/basic_optimization.test.ts @@ -159,8 +159,8 @@ it('builds expected bundles, saves bundle counts to metadata', async () => { /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/plugins/bar/public/legacy/_other_styles.scss, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/plugins/bar/public/legacy/styles.scss, /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/plugins/bar/public/lib.ts, - /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/src/core/public/core_app/styles/_globals_v7dark.scss, - /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/src/core/public/core_app/styles/_globals_v7light.scss, + /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/src/core/public/core_app/styles/_globals_v8dark.scss, + /packages/kbn-optimizer/src/__fixtures__/__tmp__/mock_repo/src/core/public/core_app/styles/_globals_v8light.scss, /packages/kbn-optimizer/target/worker/entry_point_creator.js, /packages/kbn-ui-shared-deps/public_path_module_creator.js, ] diff --git a/packages/kbn-optimizer/src/optimizer/cache_keys.test.ts b/packages/kbn-optimizer/src/optimizer/cache_keys.test.ts index 746064bfb3414..832fd812d36bb 100644 --- a/packages/kbn-optimizer/src/optimizer/cache_keys.test.ts +++ b/packages/kbn-optimizer/src/optimizer/cache_keys.test.ts @@ -94,8 +94,8 @@ describe('getOptimizerCacheKey()', () => { "optimizerCacheKey": "♻", "repoRoot": , "themeTags": Array [ - "v7dark", - "v7light", + "v8dark", + "v8light", ], }, } diff --git a/src/core/server/rendering/bootstrap/bootstrap_renderer.test.ts b/src/core/server/rendering/bootstrap/bootstrap_renderer.test.ts index 3803d38a968c1..36551def5eef0 100644 --- a/src/core/server/rendering/bootstrap/bootstrap_renderer.test.ts +++ b/src/core/server/rendering/bootstrap/bootstrap_renderer.test.ts @@ -180,7 +180,7 @@ describe('bootstrapRenderer', () => { expect(getThemeTagMock).toHaveBeenCalledTimes(1); expect(getThemeTagMock).toHaveBeenCalledWith({ - themeVersion: 'v7', + themeVersion: 'v8', darkMode: false, }); }); diff --git a/src/core/server/rendering/bootstrap/bootstrap_renderer.ts b/src/core/server/rendering/bootstrap/bootstrap_renderer.ts index cff593e5c5aa9..edc0f4f0a2203 100644 --- a/src/core/server/rendering/bootstrap/bootstrap_renderer.ts +++ b/src/core/server/rendering/bootstrap/bootstrap_renderer.ts @@ -50,12 +50,12 @@ export const bootstrapRendererFactory: BootstrapRendererFactory = ({ return async function bootstrapRenderer({ uiSettingsClient, request }) { let darkMode = false; - let themeVersion = 'v7'; + let themeVersion = 'v8'; try { const authenticated = isAuthenticated(request); darkMode = authenticated ? await uiSettingsClient.get('theme:darkMode') : false; - themeVersion = authenticated ? await uiSettingsClient.get('theme:version') : 'v7'; + themeVersion = authenticated ? await uiSettingsClient.get('theme:version') : 'v8'; } catch (e) { // just use the default values in case of connectivity issues with ES } diff --git a/src/core/server/ui_settings/settings/theme.test.ts b/src/core/server/ui_settings/settings/theme.test.ts index 5c66712b6a4ba..f0ca4f1eff4cd 100644 --- a/src/core/server/ui_settings/settings/theme.test.ts +++ b/src/core/server/ui_settings/settings/theme.test.ts @@ -35,11 +35,11 @@ describe('theme settings', () => { it('should only accept valid values', () => { expect(() => validate('v7')).not.toThrow(); - expect(() => validate('v8 (beta)')).not.toThrow(); + expect(() => validate('v8')).not.toThrow(); expect(() => validate('v12')).toThrowErrorMatchingInlineSnapshot(` "types that failed validation: - [0]: expected value to equal [v7] -- [1]: expected value to equal [v8 (beta)]" +- [1]: expected value to equal [v8]" `); }); }); diff --git a/src/core/server/ui_settings/settings/theme.ts b/src/core/server/ui_settings/settings/theme.ts index 1c2f8417600df..35b8f0217c114 100644 --- a/src/core/server/ui_settings/settings/theme.ts +++ b/src/core/server/ui_settings/settings/theme.ts @@ -27,14 +27,14 @@ export const getThemeSettings = (): Record => { name: i18n.translate('core.ui_settings.params.themeVersionTitle', { defaultMessage: 'Theme version', }), - value: 'v7', + value: 'v8', type: 'select', - options: ['v7', 'v8 (beta)'], + options: ['v7', 'v8'], description: i18n.translate('core.ui_settings.params.themeVersionText', { defaultMessage: `Switch between the theme used for the current and next version of Kibana. A page refresh is required for the setting to be applied.`, }), requiresPageReload: true, - schema: schema.oneOf([schema.literal('v7'), schema.literal('v8 (beta)')]), + schema: schema.oneOf([schema.literal('v7'), schema.literal('v8')]), }, }; }; diff --git a/test/functional/apps/dashboard/dashboard_saved_query.ts b/test/functional/apps/dashboard/dashboard_saved_query.ts index 307c34d3f3c43..bdf97e8ced140 100644 --- a/test/functional/apps/dashboard/dashboard_saved_query.ts +++ b/test/functional/apps/dashboard/dashboard_saved_query.ts @@ -38,7 +38,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await savedQueryManagementComponent.openSavedQueryManagementComponent(); const descriptionText = await testSubjects.getVisibleText('saved-query-management-popover'); expect(descriptionText).to.eql( - 'SAVED QUERIES\nThere are no saved queries. Save query text and filters that you want to use again.\nSave current query' + 'Saved Queries\nThere are no saved queries. Save query text and filters that you want to use again.\nSave current query' ); }); diff --git a/test/functional/apps/discover/_saved_queries.ts b/test/functional/apps/discover/_saved_queries.ts index ddd1c4648a0b2..23f3af37bbdf6 100644 --- a/test/functional/apps/discover/_saved_queries.ts +++ b/test/functional/apps/discover/_saved_queries.ts @@ -55,7 +55,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await savedQueryManagementComponent.openSavedQueryManagementComponent(); const descriptionText = await testSubjects.getVisibleText('saved-query-management-popover'); expect(descriptionText).to.eql( - 'SAVED QUERIES\nThere are no saved queries. Save query text and filters that you want to use again.\nSave current query' + 'Saved Queries\nThere are no saved queries. Save query text and filters that you want to use again.\nSave current query' ); }); diff --git a/test/functional/page_objects/visual_builder_page.ts b/test/functional/page_objects/visual_builder_page.ts index 963a6bff0cd0b..d7bb84394ae3c 100644 --- a/test/functional/page_objects/visual_builder_page.ts +++ b/test/functional/page_objects/visual_builder_page.ts @@ -605,7 +605,7 @@ export function VisualBuilderPageProvider({ getService, getPageObjects }: FtrPro await comboBox.setElement(groupBy, 'Terms', { clickWithMouse: true }); await PageObjects.common.sleep(1000); const byField = await testSubjects.find('groupByField'); - await comboBox.setElement(byField, field, { clickWithMouse: true }); + await comboBox.setElement(byField, field); } public async checkSelectedMetricsGroupByValue(value: string) { diff --git a/test/functional/screenshots/baseline/area_chart.png b/test/functional/screenshots/baseline/area_chart.png index 8ff0df0563edaf8155dbc2a28f218db681281b2f..e32dbbaf8d1af6bae14b41e784e665cf9431f8d0 100644 GIT binary patch literal 138020 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

nT7Qg3Vq!w^jY^{i5qyLA{5}ZR^2>)E!1ye23 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�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 z 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

  • 2Wnl-Hcd>O2g1?p`jT|sg(#d=>HRgUF5IXMYw>4(7b5ej#%^9)$8%7IRA z1tiDsH>}gk;tg`2KYvE7Vg;Hq2o?8`kq^T>Z+tHAb4#d!{P?}x#a?W|D6sLmYM3N_ zw3aFfr@wyJrvsmjKXE{3#w_rKvs%lsATXjpjarA|@(m!^4mNsv23b$nXjDj;jpdeh zOo5VM9;g9iEPyC_0pbBLNW@HoaYBO-aT@(-ztv!EHiL1@0Oh%-mx1+569kvX!jCsC zvCRMcf3fuzP*u0v_VA_~R3xMo36+wN4naY>LsCSVO-q+Zs0f%yr+`RHce7Qxkra^b zZur*r{NH=eJ?C@i7^r*y;)xY=&b6LTtrW|827Oqa+3(vvanC>oYO!hd_%Y;d#E0)`KU z8sICGL?_K$c5*Vpxq>c1?jl9^LKQ77HO`>~zyOIylhd54ChS{M;X$?(OO26$l<}U?3(aD?8h4_s`lI*Nq&` zN%7TZ0I>O-?hYwsS1NwuiWab?ga|EE_*5H7(2S3bb$55yw?C%Q(ACBJT{#%|p}-%H%dk8E zSW`k05)!!Hb3C$EK7410#WwId_d3Jg{Q+vE-HV;kP3vC8& zf>)RVc!yfdqu|&6V0S`*FrQV3=z_SI*aq-tR3Ztaa6OAvOoaC!M3@^J8v%87l6l58 zHqNS9`nMv!h(d~TX^<}Pijd2Ct!X8g_7$wx;-=@M_@|Mz`B-A&;z~!1H+I=@nhte+ ze8g}`Xt1RmI{u)Y4%lRnnmM89-IFsiTL08g6f3W+j-pw60F49YJ(Z$)o*`BE>8OBs z0+ZfT;bIvt>5nlxYo59T;v|-jJrAE+hE4jPCm;_#{CE;A=E*A?L1*n!q>J8}FLEJu znH51=Kb2Cb5uLu$Gu9@;pBK%j3)9U}+7b6Kz*t@V8L(>a9@Y_&khH`LyKq$cl3Oji z{hBDqG)@rcq{&-Ev#VnZKsJdE=PSlOqxq`SU zgoHeI5#z<+4iG)0NVe74Q%Ie7O9yuXwwEA?Ah2{I(&84|JPQC^^@pr6n5#kFWz*Qpiy7{ZfsrdrC^L7xa@Pe1EU4MSwN} zRxjvoFkR-_FQzXqEfFG=gkTsn<;AS*MpJkaBou>B^U=scXw3I!=iS=hY8wj;MWj&>l##G^r`tQhyj^=1_sfJ zpN5!0Oz%$>ZMW@HY85qr!j&hmn%oQl#2i@$S7-As3E%`Yd9|^(*9y3%S??W;O*uc8 z-K)_*d2`6Pxw+A-7NDc-TwEblRic4`fp21C38mJH+V$Skmruz3e8O8rMFX2gugsnv zAmQ^7Ay+C`K{qZn69u}tczAfA5rNs+*%z;0UpC^ix7BDYbqD4UjSj(1`u+RS7?^0* z+I-@+o3C$#;IF6l2V0q&vv}vrMlx_#4yMT9H8(f^1`!0%W%bCi@sJ9a`Pk2pxHW7s z`?L!*m(vr~4xn8Fxc+aBjovq{I49tW)FQ55ULI-~oYvj`XMgGYafW|tltTw17U@lp z5z#k%MVGQX;k^R2JjBWIKf}0dtqPG7IdHefr$@Um!D`t9(R`Mq zUb{=?x?`pGpH>OHmj@ostiS*u5P-m0Ho8dFWz@_>h`x!BZy(%=I�!)$XXw?K97d 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 Ba&rIx literal 123348 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 acV8gw`Q#-xQfNB;*e^Y4uS diff --git a/test/interpreter_functional/screenshots/baseline/combined_test.png b/test/interpreter_functional/screenshots/baseline/combined_test.png index b828012f39307b5a991228ee76ae94bb695a25eb..9cb5e255ec99b29650a8b78fd7c1f20d59d80c68 100644 GIT binary patch literal 16064 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 literal 22893 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 E0F#*TO#lD@ diff --git a/test/interpreter_functional/screenshots/baseline/final_screenshot_test.png b/test/interpreter_functional/screenshots/baseline/final_screenshot_test.png index 4f728f51117483490b1890ac756afd4c6c3197bb..9cb5e255ec99b29650a8b78fd7c1f20d59d80c68 100644 GIT binary patch literal 16064 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 literal 22943 zcmeFZWmuK#w=axcga}9}C@G+Hr$Hzw(k(R+kd#hEX^<`{=>}zrG$`GOlyrADlRV?` zzt?%+YwvybIp^E?u)Wq=7i&7_J)h^k#~8mD{x%i}1?bGn6}6SZb(eqK_0E&Mg1D=F;vtb-K}yS$=I}f-Y}uP`%kq`&cwwN>TF4 zUD4I3r_7~e*1k^(H);DHdj@OV6)hc$dL>QH(SeGUYHa#`dV07o>=xu+y;l9Lldn8+ zZ_BuOzxq1YqR6KOX+`?m8Tjf8Ojr8ku(G&Ho-iOaXH zE{BGeHY_qh_W4V!GiOfDU%WUzHz)P*t;qMo)!LEN^ijHvMWxU%g{QKzcNzF%a#X@f zXG-eNjpAJ&U-M2(WI1tj+s6>yy~B#dA}6<*jjTsQ6B_Ig@!w~s}4_=W! z#>Ob!-9?UE{I3&|JWZ1%x_o(EVl(60H_qhFM$3ckg1UOG$-y0R&1$#zu{;)f=n)A^ z%j=Kcy*q#LfPjSL>4u)zl`9Og+Tqd2+M+jZ6odv_!cXUycSU6rF%iFh-Pk`ooLYmc zvcUH^doD{c>nz;R^rdD7hB)D4rfTtcYFZ3gf4u^U25$N~ z$@Pa04#roBnLj}8PHQQPiVn9Gc2>RIOGs?Wy+nyU7yt9P**uE5e(Shn< zHfowwUY4r$`+?-bV$GpRgo<{~XGKoFCB~QUu6K`~i|);wP!LqAW-g*AkPV>{p8men zZ}H{$P%Brf+E*b%cFR7wLwrl6ruBn-vALOvVu5%&SuZR0`{D5L@U~wQ`fU0SPe%oh zEcu3iQo0Y%G$!tTJ&A2!9z_$QTcZ3wtD)059m*)+2By>h&lawj)ElPdHXCh8Zy&=a zCJs_-*Kzqs7fAj*Pn}3mP%zltZf{jfJTRuIH|H5|jz!|CV*d8!0kc0o8=93)5p7N< zrF5L`8+`1h4Q+f!o2{gqg}Vinl9lv{4@GIJ3#q6kQQQ^-l05^j*qP{N&#qyw%Gs4T zZrQ_&Ewc}Xcu5_v8r9d=bL@qAwjCSXC1MQE7qxg}(GgQG(%ac;u9RX#W^eH4XhDNrr6p~dw+ zXB00?P`|(-FCBY=AJm^K8>^!6yjb?Z|HU_KZe?{N_i~7LtA=Q)&q8nHKxY3Cv-ucp zwD2bhM_72YX-wm*HP_JhwHl)Sg0Va0X{nm}L%Z?O_+&R8ZxJU_qdVdc15+AhL!&&y z?>+ke?WK5fatFRG_os@NV<%4nNCkXTrwI#xXDMXx*)DQk6V_^p?t0>wY$vms<9dj< zak8ye*Pu<4b6e0R{JrcG@q868VIeJvT zz1Za`jr%1Z^`96}OC1g4fWJ}j@-t|pRj zp>E)Mzh5RKcMj2|Zm`;a`sO0;{QF)LT6ze9&^7y`w?~cfA}22w4>{C|-3SJZyJz#3 zhwOv#YcI*KHPbiYiY%Y_%InijSn@W>e*H>J%B^?HJBZV0{H?HRo^s)kZeSwn z_m)8v9K}Ukism<++^F%lRr~u6)TbdKAwR>jIGXYD$4Y)SzPSm^5R*uRkI(bfZbTfH zf?v}7U}n3Zg6rkIXUz=L;k~APXy;CC;W%MmAD>IjOHc{Ai=0Jn;a=i1-ubk1OVH+n z+-%#Od#rDBLq9pi#-L{lP1>ETe`ohD@wy9p?a>AP>@U7NumH78I(l1plM+_Nb~NH_ zloJglfbA#Yb)bpo|DGndW^NGC(=*f-#}%by+7}k4oTuH0*~z~h~>609IJZoQZ}yt_=)75FEc}C%Mb2Yn=!C*WqXAu8fx=q;hV0xg~3WnIFI4$a2^Sjmx7^e=LRPvbgYL= zsTHAwN+;Gs^eg(l3J^~*hiI9PRkeTqN$ne0>GM#sg{y35z7dXj`dht}$~wlcpy}$u z!U8rWUjlLm|LT7?{XWG9}$xRkT)z@N+%Hp<`emwT}vqt8rE^3Z-m| zDSz9p@g2Cxh4=4#o}MYzpEJLRP4>v#n)gwjK*C8Yw&+R{agP2(E^vn~? zvHhjh*R#2$yti;S3jqv;V~T@mTa{s}FL)!D907;Fm+saSoTT3*V{B|3a7!p86Wula zz1t|6WN+0uHNz-43eb$rVg3~akK?1)%VMMP`@;Euc4~v#biRD3xU=}0vs-xIC)Z|r z-b%glfZy3|*!!Wl_(lB&nc02cr`AK6Y+<|(>z6wQ|HDVD7kfxA;@y@p7jUKXv-b+5 zeeeLs{+q?=T>ueD?VIkHt3pmVdk?VbPe1N0u_VtsBy1fC!@$~lseV(pn5K;_eoYHi$gx?@8P5`SFV5 zO9yG6dnzgW=tO@j(#)lL>e8m4@0!fq>PUIC?SJ^#NR?}>ygq%X3KF<$-`#@BOKq7V z?CGoIv~4G9#Do)s61i8(ERRHKsHk47tK#D~HzJ@@9Vc8H!DPp*^Zm`PCMV)QpWqG3}mr z6QFGMZAwG}8I9_U>GW`KugP7YY@=feXCZzBbmQd2O|y)!vooV(+>+O_@6X1X{7#o- z_&xc!HlLvCHq4k_sdc^V(G1h_V39YVTGMGHkST_>P8t?psDe2Mjzn zXQ(b;y;?Um7937iOJ3#KlG9}=))dW!Gbt3T@u6@o%m z#EHzBULy$)wJqVSI*y!fLVUKWEZ-7x@_?F;oMbE!eu&Gm--v9KxkaeT3J{KRp)*E* zUUNIytx5N0M=&Tc5)QfUZCF5pUn8FSQ@(cxJ;(fm6sjhl!Zj84%Cz-FY6LSpWC4GTY8gz8nm7s^Ow^fcjJ`Gm2nQX zS0x={*d3hIF=)uk*CXHG*GokakUQfW<*Jr`dS|gm%Q4HM+QLI#d}nX>XTShtk7gI3 z&|}GP;F&?>JQg?LuDgxgkU;DBBxEGq$!Y#@qQL-h8F^!jwy z-UT+vI|Uqw!(lwu!O?NU9=mqDo;YD9>%f+j-{t-#yxaA;2w=l58}#*?@{H%go^MF{ z&ysj~R=+5*ysQ1HFFaj_jLo&7F;^Q+fmU`a^2TJuR15C8a*#(DHjW_2$#8JCNnotegqEWHaSl6sR$ zk*+5fT2*puNGaPBI=4ExCaMmvDg>uNIn$lwoE{x4HkCQF%WJ-J#aG2KUyZ3PTfK-K za5V-%$iN@U;4NWmY;>8eYkV_-1OXw*50NWZv0t{$+s_|}Uuqi!zJs94P;%#~mm0od zEvewTOhrXS6E-EKMML0ipcb{cTXXtNxf;bUFis=lZG{7`T}rL-^VF+8=&J71LtJ>_ zI{Lf0I*$kR>bSo*2&9!#84qBLU@BZ}r3Hd=p`wyhxrk0qaR)l6#j9WU z<(+f_?mXb96T%uYXRj%n0K#Vk#HG*qM~=4Gyj+*Vc_(OerN@(@0{;-K~j z8iIc0au_8y8dW17)s!gn z>V^j>LBTylL1Yz=Ey}#lSkmnSRtlJTgwXZ>awSqojvu6GVV9t&Pa<-t2nK=%366~M z00Md{h9+h$zq$8#M%0epBMCn?iE>zTRDwF720)qa1apl>L$k`|0=nTNgeIkM`x_sKWaI%wxZB%RyD8SbfPCFCVrN%)j}#n?`(BuVCcPZDeH3w zi%fofdqy3{^?Du)Ac3uR!t#s$9G*d6yny|mZ;nhT+oc2kBGcZw+?EImU65_jw)5+3 zR|}zV*WHh8_cBN{OmuyxcK2?*@n9-G99jI|5H6A0h?Y-!>`38Oa;t+;`F`|Oq89yz z`Vy(>bklx|m&$-ICCQRA60A#uMN0_U5yX@3ka z=3Lu7CC2cNw+DlXcUHOsJzg#t>AX~a`qb)^U^fd&~{ep?Ba^XDGfv9dH;d5ct*4Cb;<&F)!G9|GNnBXGlER0bD zR^fu_?T_xQG^Ni~1~=%!J2=O)s{kZvOXRojX;+Z&W!bjQ9+BC8Y|94!BwrG;pA?oE zHXykO1=N?HTm}W2*^|kQ&-EflON6se+f!-jy4>|kQejGxk=V2cF4(9zUJM7Kz}3O?TVbc^DxRRFh#CVM8$P;*^1h5RgBp7{FrH|u z$>~nc*UuB3OKlhufQ3hIw6wD5kzCB*+}y5f?Iy6dgVgHF8~Z@YQr#1P1Yg1W-c}ma zUSmL}*WBbllc(*aqVj*_1_w{Vx1WJK^+YI5o86e}Q4A&wycTd-Se{gggJg$?rvCb%VLrH~d?c0lej&Y&1Ppl*s7D$&zj|oscc?#F$ z-~sVQIood>{nN@9FKJ< z*lq48^uRqO_7D7Wg0k`aMGmQt9kFXae=dQY0&S$P9AqB9zP|oYH1+crF#CcqhlgJs zYgGWD{0KLGniNfTfK^7saddp#Y$n&|>LC+b9I6H+PL0yFM&QY4O#l$IhQLG*HCv!$ z91tTYt*`XKN=Vc%{n>cBnkKQ=@y(%>R9IMe*u5GD>d?cU0W=M5#!K-L{-8H3uoRdN zHz?g>TBBC#bgF97q&9|2-*^KTRY(@K@*`%F{HiC$pz$3$tyVHb=|6nI321^neQ_}U z3|l@}vB=BMA&e@DWvJApz5~|M{7V14uF)Hg^+WhQ*{_pg4DuBu5ll*{mJ^RlQfPrA zf~!TEB97hAI20SV4UwO#vBkGH<}NZiiuaP_;)Q|9G$vLiuq~RJ%6Rm>6;|&iR5%=^%vc#VxV3L z)db*Io$jg@NjMhmv9G9@$X@IgfcExLtiN$2h&xug+&h0R^Mk}3h(KOT&~nJrVgj(eDbu7(LX24qlgO z67Qf}wU7{qRapN0!N&Uf57HC2s%RqH-CJrCM;H=d#%xgK#{o|% zSLv@|USpzo5vX-oxO$UC>t~p)X?KnhF;$Bfki?7(4ooE;t7+3`x2L=66$X5$2u32w zDRDV!su#aN+l9ESWmH~5E&v6N+>6zu!s!bUjLPFN4LJMeOMB65b7697d+l^iJM)hR z3JovgFg!|n>IU*jIYf}fzJ?Qdmv2+^#AfT zCSRt${4pQ&>S(2ZuZb8t3m?M;4)EN5u--q?0GpDjO10jbV=j~kN_+IqhT!h1z>m}` zDStDbf`S6BD>OXrF;Y^+q}wjk)JRVH6)o{h=9b&9=@qGCn82-W%mq^uLkUEd?e#vd zY@#m}6JkY-IPbFS9z6vVd+TA+-alpuSB$DSR;KhLW&ySVs!SD3E);^R|2lFq#QiS- z!^Q~g-00qt4a7^`1W~^|x7bSqo{ASKFhsBy-sSdud-g=zw4V%(RCETu3moYcr+3jJ zpSyHhx*JnEqFlJ{|~HtpD{#o5!9#EA>)y zJE^+G=M;DMNh7HJCT5U2$)|615v;!&x|iYpL5`kIX4~RGB?m-? zj}M_Jw4y^Kj zQBijN`T=2{kW+T1P)=RYcC-cdul$)9g*RD&I_O2#PJDK4q(FRqFvd=vSxX`gAEH1l zd)s5Hsbiu-LLNanqT+`HufSX`)w8sd+E$z$CTYRL4b`1CqvWQUw5ntkU<+httbWROx% zcll2>u)!Lt&jrI9kOaak0tquFQc_as#0@rNL5_p%MM>~@9JN$cpOx7!wYA}8tV5k| z#XD_d8Y>U8BNA*aI(exMd;D@Z(e(#?RLh<6*%Aa;ubg5*eOV!qhi3_ zHq5kwwn&SCo}xS@R^hpHQnx6s9gqJiBxc+)8T}LPk?s&5ivod(*S5vU=9QUWoJU?y!?}< zppO&+&5K-1Y$?WJUV`%FbfJ}q2H%Rz1755_k6jDo=?)q!W6WbH;2a{KT0x3hdcoCA zHR9H?VsBl|Y1|{@LTd)lb86rAIiN$}heljgU~o+V;0YbfkK$(9L?T<2IeN6D0>Q1&f^}PlIYXVplH!*&2s~EaaT$5oO&e1$Jjm-QM5A?qu;> z6$oNej`?uOv+Cke-Q76MbR_U_Y!Xfn#E1kB*r>>~+YdBxa5tHt79JYN;%>cSjYeU%_K(&&kt9wPzbDWk!?>j(tsEyz)ILjErv<{ht z1Q~U(vj~k<+`q?!VD7n#xJHc~LcB|PCzY>uT@*I6mw3#7Wl2#2L`*Tdi|8Qq1BIT* zzAdoF3O$M6-Q8B=(9iEq51^+P4adn)>Ey8-F7qS>`^blH6i@IiVr{aadY&WAZ&Ji2 z^Z1& zR6M`!r}_D@COoM6(Y%iQC>%=e>$P9*3@|Y+-hvWV_pkDK6WZ&bJ@K2vkb2yIdK-96 zjas}wWrL}iMo3hph}lhOrFSfj?$|;~$-sV5IE=fUNI-9hSu;R?Dt%405+&4uU{NB= zsUPl&PCY4?iQ*JGZ3{5}DUxzeB3g)IICTj@3DeN0y+jgNuLC(prqNi=ND#~u0U3+^ zGYc7uh5B<8ZTmCZq;1*qDP)Nc;v0wFiv!9B-_BOdZvwiuzPU+-5IZn_N{KBfE#h{d zFY5T+SU(Oii`I3|E&R!%N5u;f%YZQ4EZZ4-JqgZs+dM!y$egsMZWeR_tc4Rq^zo=c7}5D z-KEvJP8V1I=irp zo9{`X>)^u&v;r*rxQ*A{4dDy~UQ8G9mc7-Gx@lnWQW-d!YSn9DqzkUR1fA=|Hq6`c z@jE9gM;2_+6KiXYm4q7`4QduPCP7RT%%|5^2EW(ccYaLesP%YK3Dp+oPl~Ahq$lJw zhw&ILKcwBNCRAqMzw`hHjvHTXKBZe- zZi3J#C>}Uy0z_ocgDW3^>;aKbxqW&o`RyjWzWgB{#IFvx#YO_A0moG$#=7ukedDfd zYLqKl_nO7-!p9tNUlGv?BMAgB_Mqb~B;|5s$gEY?mbTxjSwiBSkrDAL_&WG(=?)uu zge=P8>Om@v(Cw)vfWZ=Uwo;x)^c+%*p;$p&8F*fzydS9M>+1_euaOA6e5l`YDPB8Z zVzn1kC(sI?utza#&Ax!|&U?v{M@^fHh$g$f5Y#HYw>%z**k5A!*fhVQ=V2~P|TwSH${!8OHNNTyio*PgtcBY-a2b=6bHPE00 z#bx>2s6wk1_;YEHE6;Qjw*3TpQx9>MzNjMSOpYY95;>1+YY?&Ds=}HA4y+Ha{?804wj6Me7kjcieS8F92*y)WhSJ8hpw zz8SINtU9QPT6C2)hiMBX!ESA1M9@7nGSZ6_%4Nyod>6r=l`GNmFcrj}BEFN2s3}sF ze41b)pp?iO(7C;Zj|MYFuQTY7H3$4LNOwTD5Cq+Wo!=GHs&1aywa22x$bP zkcS%d2WLD{GFD39GPE&j=iZ}2wd;I2k7iW7Cl^moAt73)MGAcXqokai5opHyswLPe z(2epkishygDOA1BOAYX?HZffKs_=bO6!G7j&G$LN5QCxNgD?pw6QXe{$6qDbOl!R? zta^8rc))q#MSb`{*vN{#THo4w4P7iI9xm>0PwdthPF* zf{Y%)G#JO@Cy)2(BbY=y)N=ZB=Vsf-tQyv;1xWau&Z4*+7N4=Vf~g3Z6uq-Eh*LrZ zJ+Z_iQ+)8e$O3#wPd`=vYdaC^7T?MU5%1Js92@=$4tb5S6UdKdbG;$gTOj48oNaKg zL$%zEIxDN#O6>7tsv!g`!DRn|<-R(TbRLl8V;>1fVCq=RF!ZX;C3RbFE1_S}LitzF6QNW-FR$;)X zV!-{f$coTgCgD$f5oNX}A!9@glR$E7b3qkUh`8SDD0ALpt`!exoUnX}AR?&Ky~&w{ zXMu}KY^IPG(Sn8-;a&_H0?B!xU5)*h2tph6MUjbN9T)U304eKpfiwJo#-^_tbbDi1 z7hK~uV2Tbyubq(4lc`OFMmo{W3MiN%dW0G-u?mCPn=fF9wq?I4rBcdKZU}((wjO$b z)$~u(1`UmNeeMiX)g*}M=w1L)kUvy0Tx&Z1tT`|0ulD3C5x@;15@CQ5EZdQ?y(wU9 znr!yFmwKEk_%Dd1`4L$*99VFpVIrlirK#y<2YsS7%#C#TK;cDkn(PyHApY8lfSo?v zUsF@lcmd*bL!IkNQoyrY9)8bJX1CyD5Qyp&`MXnUl%4u5J$RU@pmKwTJps4RhD-f0 z(9xI+DjAvbYD2~W;=aPy4cad^fSN|6w@&GsIb7JR@a-W*|eQQ*~dI3fXnSqGw z-HezuP)4IDGW-W%eX{2zHdf>t!%8-mJ8~;TzFRdhDBQOsTpGfl?hI7BWSNlU# zX3~#X#~~6yZ7awZ6(dTOkg%3{Y4XS4MhtPJJ0}>1ur%9sbGL~wla&uF;|`F z@slSotWC#3^Q7aImECc13_)jKTDM>$PXapAvF?947v-;shQQSzvFFfY>b5z zG;A&;;+<+OsG5a;(*bclMB&!zeGQIG5QqK+4D#Wt6q#e#F+UL>g#kSJB-zUJXg2)= zn#H~>u}AjMmP34GH6dpkaZ%BeS|sB9VKO-wJnl#6xkgt}=vgE>96D^N4=E2zow^A* zrkLtzZVYU)AWr`g9yH2pC+;vIrZorRY|9ZpphhOe#0nBD)?Yf1(wG9#T^~(l!@ezy zYs3c~{IvloWpd%ycTil==1XK&7l-k;O+Rg+vGJel>?O$>{T~sh6K3Tskr@SKa#k%1 znj<|qd*`WQcA6_Zqm|%v5R}Eo$KU~brJ`FNu@7dcKKRu3sz03;SbDVrXfALhnj$TV z!;~PD)v~}4Jb&rZUo!E;8~d~U*t_Wq$TV}Usaf!H7nq-ay#b<}CMGXj(uW{K*$_^j z^yK2N^0kMX9?<0Po+#oj$$p;n80IkVukhPIlOvcIz|!dG&jk1vPf@o79X?FaQ?cbp z6wCVfG@a^0t&G=WLCaZNebkttuvIMsknUF-=9 zHEchF*@=+l?qYj;My1?`+Uqa2<{Z=Nukq$Uqz9051PtGV(Jaz#`iTYLBFJ~w?Bh=p zaiq)D3>}^kWjBQp;eYK;Po|fT&yfi7XcXP>(J@_&e1)n!dkXa2q+<`5skDg_I+erZCe*JY-EtMK^&0h6?r{&9omU$%eCn>NIXpDdzxBae9 zM7rYBUSO`ULii#>L04}Jd`r?Aik$ui{T8*dSIo3eo;2ZtA>9f>r5OkC8D?&i+$#Bf z43uGb67Ze`jbs({kzrp>W5EpexngA%)fC`O;dGq?#EdkFNGP27OY}e!4p1ay;ubQw z9ui9F;`Um5oxKFWRnrwX!oq{DoevR4PBv=+ zaD1n^aDfKDN6L|zg}WRrk*?Q~85#$O2&6?WC8E)sT%Q<507wb4Z5HN7#%E^4>>Sdq z&Si@zN9<*EBDKo^+_8pO*YYjvtvTrAJ+$@)LJjJzv_5{9LkLsxGQ-hcbn$HU{>ug7aoIS3bw z!`?Eax+bhS&JGM~_KaVgadKN5qGFJ@sNzzK@%}jf!q`r%0-!ORjQjOxshLmOBeu4& z%1%2w&kj%vl3G_!PEN>dPcM(y=u-}?*d5=ToYLEwxU^=n=}h^mZ`rXdoTB8^eB>bG zCp-3&AN85Jxjof%a^3YN-DPQm-^>}Xew@zIVquxwqo-Hl>P>w{eXI_xpECPtt+Fh4 zoiv%l=Q=Ff=`}Tvd%u5q?rlEr9B*E|g1T_&(!z^t*RJ(Su?XgA3w3i%)v67ang*G) z2LI$)D6k)4_NEps5wuwteiYB2{tCp(L4Ub%i=d5Y5iMp>d2uMC*l9;PqPRGUx#-K6 z=at(v-HW{(S{%Z0Y48|H=67sTm#`D3{uOK9$J-ij;6F`IQnu%Y%=@-UId+;K@(8 zXgM#URA8Q(;IRBi=%DEp40)<7v2&XY6h^DE#vSC@%B>`? zW@*_h?_Y66+oaue`TA5Mhype+A^Nl1alS(5>IfkT$sJ8M?AqshJ(yECUXXrrYv8)tXN5$pKlgRYlIpCrMk5z(z%spFsT^yU#~ePD`R@B?dXZLOeH%h9oP*QH$U5*~_?hexi|(H!|S z3yU21qJ9BB&ka(gWTO=DnKQu4H2HN$9j^E+7FHAs%NeZaPt?=~vVBo1bxSX@HFzG| zE{V?vrCLpSnGBaCy~L3 z|1#EFvL->Br(9h^Md*LMW`Ml*r+DqNNwR(;;Td@G$4t|8EG(`sb3?8Nv}WqXikY={ zk@uF|B0Y=s`J&zOpERA{XbF{ny|)G4TRpx!@P^-#RiQfdO~x)6WK&-@YR zZK=VcO7)Ns{C|5r3JYuh!ivJ6iGBn7-z82BA)!>2AN^FTJTAx@{9*;q@Capuha2Ej zFWGTrQs!mvu84fzOPB3Gz|kPQt)v1*Xm7mzFk>yNVsF*)rR~w41@&rO|Kya#Y>B=6 zvaOFAh9q7l3Sweu%DI|pwxr|{3030n9=$W^5|n>`X|F$`{nOPi9xW}BfzIX?xNcEd zmrm^x)r%xwC>`!n{&H5xFg^Bq;P){*hhn6Bu|vQ-LYJg0_&<5O8MM`le|Ptr^ez@z zmv8kJ8iqpcQR<}7x?t*bQs4j0V(g3(k4=*dQk4Y%i<>BR-dlRVKxx_h_Ggt&>Dfj>`A~zZmOGE0VqvvnCcGcxP_jvy z_T{U1@2)^n@IFv0dvT4JS-CS|gpiQrUN>wLr`|Nl%pCEnUq8rUdr%z-83gpQj71to zj>|*t52?jJ%DcI}yNFXE@1^@{cG;2NYBKdjxvjF9)6xoqlUWTp{~J0fn30O=Ce4Q_ z15-c%ljkCm8&)#g&i9y@6v}ahW|o#xA|HIZRuT>)-ud>UG75IG`7k}0DUPE*{ng_1 zOdtuLI0kcpjB{O_)GH|lJ-1Nj8z#BZr$&reE|pv6p96Ov*Q{b9yqC+Eo6tOGW;u5rE^4+PlaFzW2~C7_QO%tH%8 zZB3t`7SEbKa@<+#mpD1G-Ntx`siWzh@N8GgLVjmI$mutjA3db(gF@3&X!wSfhO-+2 zoYQ{vENpD1tE9%jYwlwT@zKN2umR~yPJ1`7#@)AWVEqV%#k1R4GCL1{1F9g!uDh<0pV>exyGPGMce=40+b>Wbv_g8Bz&Hq zcj9+DN;Me*GQ>HXL{CUboYQ>zDfKOudyJ%1E2q`(p-)`S2_V%!e{VKZ)PfAeu1z0& zE-%ke`{hcMcVQuWJYQH^?1_`N*O+a&TT9P3JVVLYO)n}cO?EM{-rjF}BEP?Acryw! zE2pcW=NRwzBn6?QL)_!}*};!VCDwM)0@bG|S)QXr4qn-3Hawvu*ddvdej4ySTNTyS z(|yB6`*H`idWxhj70H;VEHW}O8j^7LdinWDl6uKtz4h03pOt`m)3G;3sq*sWXD{qk z(8(+@fDp57F$LhGAvo=5UfdugqFp>J_?NQG+e}fkv3lZIf!QUL zIVvdTw0tNM;}zuakX|m~_wGtL=PG976YGY|%3zU%ukV$sS8)3VZOI|aUl9=zo5G_( zpE!)F$hiFEYojloH5oD`IMIlS@rGWT+^dOX+Ol*Nd&n|sh5!0qdjIo}r3{Ado=EW9 z>}UQ?ueb}0jKZ!wi91ijWH#54@!q}X1qoT~L_|bOBhAK6t~KNcryQ(4{S19@A_4^+ zidqT5&uwkBu$7UG@B|*`@RdB%IZIc~=m^0P^`{C3M9kn{3D8})LR7FjOD3x}lziNvH-x#r7vr(2Z;3l?ik zB~TVg0Q^Ch)c0|DPWbRsTz8N`Jphfav z@c&!)hJ|&Cx{USm89;fzzWZsci>vF5)q1(~%xozU<(O!?0=-;oPr9v?(v0PYdv}v! zKDxO}|EDh&C5SGN0jw774KTq#5-8`}=o;tBrZa8~8|5HA2ot# z;s$-AF|vAt1R97bbd(fMF1e|xqJb1#FVqJ3$hLkFAT&sDbJ!dKmh8~bEnv_& z70Hi5FHxC|7Rty4Iji}qXl3cTlO-!;pl!x7CBh@(sjKrWJ1tc8W?zX#|(Bq*g1wR9nBF8aKgQ%aTENui{DIY zPmaf$ZR&}vvVFf9Q!ci}+^;;IJwIaKX*qJ-FR^XpkVMWC|roR^y4Vdb-(=T~p(bhU?*WWb1;WjiL}d zyP)x`z2Jr$d4_C!h;heor;@5_=JN8bMp8e>jJMQl8F)b}E28BZ_*&XJ^IY3zc{r?|_A5!j@BciQ0x_TrBBt-V=5oU`W zv%jB7_uXtP3o7E@D8*TnSn?9CECT0WD|b3aqj?59N+RPU1CoD+bJHy|)>lhA<>hRS_MaVZ6%iv?+oQ2oks%ZNJv)1; zpj!MrR1#Zw28|uLNjkf=Q6{*7os~Cvf-WvD+Zh@c7Y61Um_UGm0%8_##AVog3b?=^ zAfU4Eia;@CdvtQs=Rfs?oQ9kUOZST==yx-SW(N^I7?c1bTr#{qW7{D%Fp|Z@OS2Iub<+{P9Wgld_MFm*!7%atST7 z3{ez)(+q2-b?YKIh)QIbn9yaPnVHEdi;L3~ljsd&;Mn>?C+Da`?RBaK{h^+EA4@(W zV&a_a$G7j61;cYMP#pR}aAeWp-a3*EB&%;ip|i5*=U>I(Qew2>3`~G^-4zkhaqQX1 zp;j<7Oj|$9R%nz%$Y%DF!|zB<dwNvv(E-N|tMXO5c(pUNfC4&!A z_Qx~aT2DW;W|fqvDiJMS?(&2OLKx}NtExuI<+!ZI$L&pe?um29$|#9RNVMAQH|<&T z*CJj6E)>d^l#e>MV;Gs3E?{Mnf`-1oG6MGw>B_ZOg}?abm@Au+y@s}Xb;KD+K%k(X zpI?z{BQwseUvlXXGSVWBqB0B{HR67`#DjXvNMjlTg5+$ z(Y04S=BmG+0omywO?%8?DV>aq7%@8tk}{G9pXg262eE-V<;dO^QBnegyF}^s0*6d= zY2uOuL;53Ev!RoS?ADf+P=;*nR6#!}Kc$GFm76DP_wFes4%(Vu7@mu0qhN7ST{iQY5oR zR{4o_EVBW~L|Zm>PPv{>MWle|%JKYe+1V8pns~xTsbri!eYJQWUr4_{82oV+ zrs{U@jTom?yATF;_QwwZ!`**A2GgcRze`2RU@>G+tSC*VdZ~!rH4x>(33(G4xzJub z)(wf$Q>Jt+M!iV-H`LmemW~kbq4zMNz?~!=;qxu}WAEIYdC$T1P&R>qmE1CWC`pX1jzuMEGiL z^mwq`zWU=WKKP(20_$9d-I&2LTknd>%J76LWdi!jybm8xWqS$b2Iv6;K&jqkxjECN zzT2C-yDyv$)MetfzXO&oj5@D|BAT_NOhyW+d-NQ0ul80gX6)un4|labt#|T#bE`$+ zoVJ>QHyS35WC&DV)DW7X5M`ke{$bn zs_u@-eO-CfA_B-y!@^Q-PR^}}Xif%ps>dT`cA@YaGw6#fyKap1R2P6Y#IF7IJB{hv zo4w+zSFyuu@sof2z&cZu1U1}t`Ijs-I}{pmS9-oa5#aJQOC5MKYuYyN%xPfh?)bse z(_}YetH^c<*U{OTLC7_aPS!~S;ks)=_RUax|F=u@Mqb28Cb~tK8D!Mag@k*1dv{W; z1Q*C8;e%-fTAdNey?|TH;Ck5DgtLR`+%bG%b7w=|Tst8>U8dhJB4=lwI;9u-%P}1W zh6oCRTZV>h-vQ%nuu8vJQc8-;rU}dQ{3X+sGMtt+!Q3G)oCpauwbI||u9>?G%_gIQ zkJ8VrJiv`WIZ0?>iWmxGI9Hno5L6~A(K=+y~P}E&R5s-#y>xF6@2p%h@ZT< zc>?Zj;p{A9j_oe`L`Jav%Z#Qi2Ufh`8^huBA^n02f`Y8KHbF|3fd`l;K}nj2YX8(? zL&qc)%Wc*Rbsr&oh^Gj+pro#z4V|TXG`y3Kp_42gCk|0}+VH!rg$SHo8k~cHf z8#kN*5bskR_wP^(<#|Z4zV!B?@WH&WhU)EH&~wxHAUb69$c>wMn6~SqbWFQv&A=CX zHl^dFTva8U{Q&S0ARMakIThH9Jo5sgpGFNeI=abm>jOT;TY+knIg_0NwGjjRx z%WX`6mjJ}=EdObQUw(Bj2=!eJhxOv3m;4OYj;0^M#FP6NonclBTbj%`CY}g zM07H_OxdCGGPuw1^}jzy$WvwTN!XDDjfYLxy5O$}7gp(H zN5EY9`NzXFyOmTKjqk=2HTCK-RpJx6Nlu%--o3(Ud4fm~K6_350E6;G>bKcog$zh& z<0Glgmi~STiWP-Wa8#9ZRnrP?vh;cdYW$BqDQSB>b7TLivzCb%yNlPvaUVc6U zILNRSICTSTrj(vO+x+ETP8EFm`gLM|fB%QuS~^-mu9dC80~)>* zBaE>>{`TDT{`LKTUSGMm6u2yB5wOl}ZDD!+e2%_u=sxRsU@zK!DKJR`GX-$x>@WYh zw$*;XTmm#+km137VEf#Gx7A8!RcAoE^Zuz5CL~;S2?$tF=b4bukkx%yQ0YOD0C2jl z=<)OC+Q4S+U(iN2;LyTfnfUnltJ8oDfPz=r7g^WpoC z07D97_i+|mqU)8oYf&@HW L{an^LB{Ts5*pn>~ diff --git a/test/interpreter_functional/screenshots/baseline/metric_all_data.png b/test/interpreter_functional/screenshots/baseline/metric_all_data.png index 0a9475fc710d177f0537959d4ee0c5748692dcd1..54ee1f4da6684ab4f12fd87bc84d3439aa0dd763 100644 GIT binary patch literal 22339 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 (uVb-dudNnQ8 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 diff --git a/test/interpreter_functional/screenshots/baseline/metric_invalid_data.png b/test/interpreter_functional/screenshots/baseline/metric_invalid_data.png index aab2905cee19bc7d02eabed5e1886fc3663f68e0..b1448cd7cb2effd015e309ddc666fde950297f6b 100644 GIT binary patch literal 3763 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 literal 46289 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

    Q|RUTdzozWL2>&RtJ6)D-Dx znQ3WgXy}w~-PEF?Iq;c=W*_g7L+}YNn_~eD4W?V^rmT+pzMmhCdAA09-<>aQ#i~^c zi*yU(l{m%lxwwg*mtIjfzW;t#-l1VKEx~!Eu)>i*Sb@0fQhY`?(+;lHgX7ykao`>?bB_R(Me`si<) zZ2ij;|MH1FSNPZI_FJ4@ckbw8NIFVxLmoj}ZRskp%X5Ca zhPyj%Xb4$l@mKJCsA#GhE21kz4j1$~Pd*q!qjYf|$ElqIQ6UWoSUM=1n zEYcUT2M->!`TAhHb0)hE^J;5rQDEbKm*f|R=dn!DXiVp?Hv(Dq3A#5v7`(k~(1<0) zd>VN{jF(<`t59`SN0>0o?iZPq^d{|-;@DHdhYtk(!gAVn|A01wYJBne6G29lrSKr( zsq{Al&23f`YI2fES={?(QWo?1oOoekV{(rECOw~Ckq-Oa#ue~K+eJFop^ggSF3OSW}cyEKzEHt(9-Y-Nl>US|P{ zXrX)mK8kK)mC?mF=P}LeKcW$Ue|YzjgoL47V0F&t{fDXCL<#|?GM;TvOh5;dj4Lv_ zhujtO4M(Yb53JO&k+pOITltQ|zI03?%0pjC_O{zT1LqbPFT5F9(78#xtorJ*?z;VO z^)|DhT~y^8(>HE>qGtc4YZiaaEGM|)G^f_m&xed-_pgm*UwY1L)77+U zk*_z_h+L)Ox%`t9&K_9bUr<;mY%$TOEO}oeslXuDpu{4HfFTk-UiPWA^QrXAt+XEK z>F#{vb8g>tUmk86E=z^#C4%eB5WAz(wey|?MK=9h-7gNke?0q=l5+R`dq%`EmG-}$ z32=9lamO$fu6!RPS`sDl{&F=QQ%xxSY_k}nw>&wh{V7m7@4H>?;RiZr5SKeSQ(m7S z;`o#@&X+&cQIQ!)=VMZR4}Se*I5sgc_b=D5#*zE=hNo6I(M9r445a&vv@=5(X*6uQ9$8L2~NL6YOBu9=>z1PMzOt)nBI2CHuYEy6ie|^Er#CW?mRmZe4}*DVj0H z#{S(4G+c*5*<{|7u#}^z7KDXQ6e70xzGjhfG&((yjx|c4f2CP%d15`Mz2%jr@5WWj z$0B~k7^!kMl;q;VM7OZ-_cPSk$3YQS{YJEwXSa(SDrQ7bqH3Ai?21)r$1F@?ph4*g zZC`hfrDoxPp=WHlBZ@O|n>6~vieS1^j zgqJ=x&jjOpE&Nr=`mtDo&!!04FeAjfc`HDLs=}JH$|-EW@wRegZT_@P{~Mx~S_WFi zsLB&_j8UElN7AO}n=Cap*-tFD%U*nX(~ni#x4+svc3i-Suy1>_{_^pC4@>ojcIfwA zKUsRmtjNS?+aC3#YO@+MP{QIl)xf_XzkTR<7dcEuQ?{W=G81NCbA4A@@VMM%fj_Sr zHE?sIkEq0uG#($KM_+pv92}X^Y}jb{&kDxu!9$hRlr&}a3Y-I&uexh|_<$KZ7BAw+ z=a~JEL7X~fCaZ&=?J67`i4>mJDR;J}WeY}+{sk0qxxF!u@S4x)OfDy@-)*-6GZc+`B<$sP6V~nW6b4>hS#j5& ziUCgo8@r39doYUC5`>Sx_g%aZ%Wurkbo3}4R`#5@cTtybxyhF=UGE(C4h`mO;0d7R*wv}}pboRM(Lev3T6I>oq-q^#bmVYczW-Rpx3jEv^h9!j{dIdlMZ zIImhnx0)C18h|5v30Vv$y#BZ}WosUgaLjg4DFD~lZHRc}3z`2kB61Ie-Gme~0ds0@!qM%&gTAG947B7xJX3YUbK zT)p&H|%YJ|Kcw;hi6wM3a#kws5 zw}684sT5Rm+QETZXNy46F>#mKjFhR)>|~dpJz)zN9vKt%pidV}zh*xWMHOjh`gY}; z%g~CtuGMR@Z0{Ui_cvqTC46*U7~@89nw$6;R{t^oUUqw_!>No%G9}Xc>8BA5t@e}q z9*ROhJR@tCE75Se*mjucpe{|Cq7b?HW-=_jk9UHr6`q7t;McQDN`SSh0ewJJt+5O=xECb} zpSB-T(qUs?R0JOP(SKm6s;#;BS-WbC_)0C)()*fXl6!$IqpPx>elz$|&1N+~Cz)mcp(?HlJ~f(e*%7}z zyjWW;DhvBE>puOwW-?!GX4#OXuQdFsE~i>rmRD;vzV26e-oz&+ZJieYlo#9%K#X3@ zI6L^4*;!hTcTd4MVu@-2C4aq;@ZF&n%~lf&e%0JCyjgFYZz#g`#~;@{q_*yxyUeXT z!8boM$O(9sitDO=;z+%J&7#-BnBV7M{F|EJZS;5BtLlaok zX4O<*Dx4bdOHPTsIjKv)=4F&U$l&RIU2i6SpG%2GQM~OqQ9E$NuVmDfyvv?Rt# zd^C_o!yfJ1x34_<2m2;sk+M|tAG2sQxR!37J}0(0EI!-cd3L~~j6H{%TG0Rf%?kryH*(_dWWgBF&=Z)koXNC%~ zmKIi4jX6%{rrJvpTya-qY%-E&chZ`~-6!7Cyw?t-d3{9bR*!&NkG+#%$SFLgsSgDN zMbLIkC6Dk2KwN!@Y^xMeRAu|ct`OOX*SU$4ljTepmT@|PR>xXkwSyWsLCPqy(vgAAOXxGrG7{ax#%Gnr*E)soB$=DhSdE?w& z-Nu}K`-8GBpI@KNGSaMAsan814hoIXH+3-Lbo-2$qr!DAoCrZRhDj>fS2;0Gj;KcitKa3rrr)>90MZR#0wO$ya4 zJ9G5qhAun&v}KlXNU6-lw$3i#o-PTx*>%=kx?V6 zIrJ4$7KHR${^^~Nb?N!JDP4uovlmUfUi(VzdzgvjpAYvRjMjUhx;nr*fi-`MeTxXy;k zcEj;ivGHWIe}sE0ze(oLj(JhK?qO6AV%$ey4Q#|TQNYsscFy%p+~A?KxU z25^HXpbi6<*7bcBx}z6h{cCYQt`2XwhgKup2H@u{`cI@8O{h zj%PhvdGI&d8-wL8W2*GR);T^$hshX~*j$}e2laZ!CqN>Iy19BeDQOOa;tLr;@mKe# z0wKLom*7>(Irj7`!$~}afO>YY+hwi`Gjw%r{l`_ep&Mmr-+our86b}892_idQLB~{ z6RR>4t2zW7O~)EB1$wE@TSISse(=X#`T6AsRkbQ6?!cctK1+u6d9MLQssNV_X%IddeP@8lfP}728mLH*)K@=b);dJUJ3C;rPZ| zliZ+FX8ZATw!v=irMPgoTrTjr7O9-Rvn}P|1BxfDiIk0)|f4={}W=V!0Oerx5F0yV8qOr|AiArTS9h zf>UA@!orDnyGR;l%C{x6KCaw*W{JLqAj4j$@{5VUYX#&QQ0}Y~#>OHAr@y`V#C%pv zCka6UVf!IvJ~n$&wstM?j{%=mW3(MNr#3PNTJ4HZ1l33^Z5uA*z8fIb^l5t?NPe!l3dd)=gEG|0LLX(onpd= zg$&zn(xd_&kB@?dKsbK#)9Z8*zvbhBlQk}pH188&V%|nJQ>_aJArXy=_f#f{-~aYP zT&7D_-gxX7yM-M{SvL@ppHMlRppUqGax%E@rc+$dAv(U6lf{YJwU8yClIs_|n-h8$A3 ztA^Dqy*Dq&!Fr8Lh;_QhWK9P2DZy0TX66OAL~*xBqMbx_jKD3(K$wbcx->K?kT{i* zOGa&F#W&}i_POmX?G+w$>m^N&$rMoZF_49!{F2sDr}SfQpNYTR7-4yPMi{ z4emf4tnze?1tLRJPajD0z7A($NoG8Ng+rW{X_dv*zd+ITIa7SgvTAvJ_`oV?gG$x! zNA71`Zi<&uhZL)@0_4Ns6mm3A1LL*xC*rQyu1J;Xcp@UTbu`3f=8HgrTJ{nY6aoto2RMY#a-@kLiA!+Jbsd9EH+}#I38-% zubn5`1xLFJtuQ+F!}%(XmCJ5%#lXlu2tll_{zGW-6>I@*M8~Ag(gFrgsXr;FqXYD3 z-M^{n0Wc#xXfFT$nlhsjcx+eG0(G9XMbZZ`sNAbX;woRV%r> z$hO}gFNF0Cki>o0Wx2R%emTX({TMqo`)>5a-U*i1^xkr<5*+7?E5`TUK*-gvkmb$0cNTrGt=P`GQ$rnZUYw(o>bp$H*|{FYh;JWHZM_`7@4-qjwk*xmjq>Q8 z-2SWM%ca!NxCi6e>d8svOwYbtG<^{nnfiUK-c6BG=;lX7yaS28G`~dTXugfYiDx(c zcHbz92~MR>R8w5V^~g-MSbdiMQiP)%8yZ3MfjwMUYM;1*r)*`#p{F4C^Oo%`z>Nj( zf!erY^O+qi2(57=Fp|KL}@+^ut-n@SOi)_qjinr|b>koa^hke8G6tK*Z-5Oddxgq2j zBY!<(6rZ6&^}WG9)YSTtwxI3zC;9Ob(>`&_ADYU_#XD$2ggtKD1B9C;m#%N$OCiY9)g(aZ!7(~ zul?_DILC+j?mjjGho)p{`k)STs%MZH2Yff#oOuvM9|B`N3XTcF(sukFJ;LE?pN^eb z_ebo~ZTFXcZpAF&Pd7v}IGOu#X}QbYLk=qA}xM=Mb}J=6s`^s-?$$ynRd zGZ1`lqJR6T_{KIpzI#^63kA87ywB33zX_}~$*2s!a1azYv=ADT^M`3SD1XXoYT^2- zY#w@SEiW%_ReQ~5XN--VDVyraPaac8z`zJeP^zbrya?Q4V)7&q^Egol6O-KykW7JV zK#xj}wx|uC3neo~31HRMXSUWC@fgs=k*vVO2CTawe$~X%Zrz61S7Mz$jK-4Sq#)Oa zD5H4l`wdEMxP?S~^5q?Cgp@1+T(f!~j8A{L@b~~t(%#8N@kGV`jjGSjiAD+7cIOiT zkSuid8Wn|c3ljde@qvIfhWZQsk9svM;`wMe3feP2q6y}@KDT9-?} z^aX;K%%Toi2=g#>`T13Mk&(9z1YlfkJC0}h`wQ9MXw;!XJoZe1Zn_Z*YA27Bl$_=A z#77o(vVpeNO}lg?A46k94`sLHcGR@h-c!*Xldw2o>I5uM5h zgqJPPga^AkOObn52HN)-Z_AdG+xv8lQFgy3WJBI>SK|Djt3fXpAApj z%IXu(yPH8o*vNhT`Z}s4n%Gqz0(2`}^uNCheWE34yObO&!0D)8W0v~uob=|F%Am}Y zv`3>rO>CQ!y2%{b{eLZ=OtEBY2F(nGENpVC_cTbm$Ke2fs0jt z``PQqlY>z#Gp`dhJagtOm;3Dcqir1UxZq0ar?>|J{_|V!cLdpC1BVtyn#%kgrw1#7 zXd6rHB`mrI-7pMB+QOiy70jt>m`x56gS;vGU3R#HPMlXhMe~k`WS@xc1hmS-rt2qH z9Hz=s7*#S_r=C?Ov^{nLSjDd-lCgyCUV?UI{x!2mj(~cuQL%#Mfy3C710BV-R(o0A zpAdB+@uFt$c??LZH$Ie?>Z-;SyEovM=T;d#rtl{qV<%_1aIL9>#SA31u9aC&PKN)Tvw=-|o0Fa%jeY9fjUm!iUQ@azKDel+a_{v5 zNmSLAdE80JAPqgfJ=(<8DlRgR6TplSNYV8S&AUcKG65l#x3JuKhFjhHs$+Ol{PxII zR0f}^J!b6NNkJYcC&MgX$S52?$6FW?5n6v5nQD#==JCN*1QsnJEeq$ocsT5ZK80}T z*ulB&)k_UIxJGQl=`g7wIZH$s^hWZwdc%xLQ8`QJpFO&z3l`lif<%?>q=nBgrG}hd zHnomiJzj=A$MaB8Qwwb(Kso7e?>egj6xhene;^#{gz_pe4S*fC*-%K^)Z3$n7!bCQ zw7y=Z%4_+BKB9oTse<<0WHXeL{Vfhb#2gSoqbf40WV9`X9lLb6&ifGz6)l@zNvVs8 ziQyHEwp>9#+#`yOmu|m8t5>aTT#IvY%#B|tf$9o4c0EgPZ?8d-MO+iXxFV*~epd0= z7@ePoh?XUy{n30QAqZgs+IcaQge;FkdEp<4-14ed(eozH3;2f+_iBvuLOfJFfUo8n zm0ZUV2KWkx5(VXwYja}tb3g9nG(^@OUC#rG=L~X=AUl+e!1PVmKrTg8;ld2{gg>#( zYj;9*Nd~EvQ_>oW$9}Xz@jhIJxOtrgNo$&p9Hm1TzR(F)@f?b6S3}NZ$EBkIKYFFB ziky3uSJhaJ1 z#!Sofrzt#V&N2@w!7JYVF6&bzY+|XGt6O&W|9!n}3vJ_lB|e!(#qN`|6u-Ag@uH4s zx9078k3v~CH7$!B886V>j|G|W28f8%&@TH5E=YHc!a?qXA{xH#;f~K(@Qbha5#GHG z0{_?3>dRV4QdirUYTBK7Wg6G@V0+VMA1(K|8@bN~y8_Iz%@MITM8An=0yPmlp3ZaV!XaO)h?H@G82wSs z+nUJXv0Z7h#>+$O8fYuGXH0)}JDLX+Rc;tz_UzZ1Fr)dtmu-U6>22m$M<0vf>k`cC zZ0Flic*UouI1bRvqMc@BKoF|Wt4YGtwG57hBBIGF{SIfLXR*B910Khyq4kfpg@2V* zZ%82qlV7w{753@-b33Ve`=ZOzCfisjcjSVNQFBaG^DANXM%|nUiNMOs8rw-Txd}}FP+JM8U})@- zX^8MfCxut{3)|_L)@0h24k@cjak%jsGN*6ux+go}=7t=Xfi6?|0nkYs%iV=jJ!J_4 z^BR%0@j|xo4wmx~R77wYI4SnF=8$wZmIMkyY(*fwkF4M1c9Cyuxy!k$9#hU`wqGB# z+I)TQ`x}kh-;EjDiD(fsNJS>;y;-+)Q_@G0s%m&Vka+*wd4r4iVk*SQq4xokZv^(gGrH z3^tOaRO)LF`fkpUZ?$S5Nn#3QEAi6y5&!8qOI{?CX5B@Z(r`qQU;e?+yi_MMlxcLB zo}&ROV4y54eC8y^5EPcZEEM1nMY(@_E!mc)DHjddOKhG|TZ?f8l^ZN=>Al;^*7>9N zmWLcD)6R~~%o|ka_=pp1;iW*a{$_?3xu#O-$FiSnKkZ}QeeOEj$EQBiQ=(6DH~;A# zH$R>*>cRu&dXi!#zx12OM>sQ};rZmR^B@YAIzmE8w}3}8DTeK6@7VoM*Zg8ZXk~U{ zg)5J%Z6#9N)b7YsjX+cdi`ur--OjnPnUV<4$_I)b7Xi)?l*;aq{@Q8Hb`LsG5GsD! zg)J+UnKBoyugT`~hdLxyon32=MGv|iJZ$PpngyqKz(NrA7XtmD&{I9coQE_R@gcGz z%{OkO;O1BA7T5LTTul^@iQi1#g0Kohb94owu6cjR3YWtW zbhyjdEoW%gFG2|@l%@Zl0#X+As@Sw`^`dVZvrfNGQkUU)pF?kTTNBA|GkW-v8!ju? zqhxmR29_L|ucB%;@7JC=co?f`7Cg8RcRcmUH!tK||B`n+o>9P3UjvXq4Kg>m=H8VMa)77q@*Yq?bYBb;I5Q0a<=8Kz4sjTwC0$&;msJjJe~V*vgjv*!Oep3Pk&>a=yd4^Dph@c1g!#TE=>>%@>od@vo76F{3Nw*T^UN1>2Y@SCNZv2{9MEq&IKL>z-p(zqv3XLf=7?GH4& z2hd2+Of4^|wT~>78Y)YT;d`zHO@?JeXjbT3qGHAUb}D^aU;jv=$f+_<>O!Lt+En!3 z9hs3;3IQYc_|QtE{i;cNq8PiQVaZixNDw1A`%1&UBHc{E&(C#Dgi7QrpcWbVqly1? z5y31$SBHeNp~Nc>ny}l&@uO@14^c_L8|DO zAnEk#QYaho6o+!X@l3zsJ!mSzf2pOjb*^L4EhAcY1T7Cdv??B1R3($~Trx;MLw}bl z!UGo~&CW7keVYu@5h>THf6PA2Z8i(1l6vN>p6)u*nlV|n&!?C=eGO-sr0t6|s4?7Z z)`4>dU2$A{f%wbU4Z3r}X6;@JI$^WwHcMG%3mGOphd|h1a}nCVvD|j7mHz7-G$6(1 z750BW@Br|*Yud3ob?`Eg<)0~pdEc`8~(r_j;` zsB?>O)%>^wk{17a-=L0Omt#-X(a535OiyP&E!ZJ#v$**W=aH0XXlW?w=*D7dGpLEV zpNkQnFo)1SeOI~zVT6dHKG9uTTJAPS2u6{4YF>d(Zo(?1pjfjj+g(h%S$HYLPX*c> zu9G1Dx;K+Kz1+}uwk)M(do|lC%mIv(yU-!p?>3oR%2_{hf1-S+b*1YY<00B{78&0g zwlcRq+jnh7iu5yeXc3bs@PIBB<5z`3m%Zvvp{3^EU>i#os$~tSTfgc z=&1ez=%CAX@=Wdrf#W*9NUnplX8Oyw?G?=DtjcYnrwwTA0_uNWOk=F~JQW*k@b+eQ zcBX|w-HJV>v{eXtBLVRKZt47|E&cz`J^S7_U0q9P)#(6#b z_fyQI%Gt8a_&~a+I*l=WIyyjHZ0nEhr_A*Z0ad~xyz06pus%}d)OI$hwrV>bsWoW= zM1Kmu9A^@-54vt1HpfLnIamEv}9?PO6{nmC$3|zYYN@%xkFV}SH~_bU_1$% zraF+u8G!T>T;7~;7y3I7e5>8qp)vuuPC;vO?q=N~x{&i|2#-)3Mo$5Xg+tpi%^56Y ziD^7oQoYlB3Z6v_uLH`x^B_dIu4+q?L?fApr}53tpLSGWs<)tT zsQdYONoPH)mMy|C+UzXal>b&4(pL;m!W)-6BZX#X_8+aLUz4OZ$6zsV_XR&>Uf>`2 znchNmkHl-?DNqr27J}uJ>^^LHwT=vzN2(%QNyc6ngMR zm03od+UndK)HH`N=totCV%UG2V|g?@9;!RhNEab_`bV-~8??1?Bg@|#9c^ zKEg5r&|8Ea2Uf3DLfDdrL<8i%EGRETVPTF?*mH)*JB&e_JIm%g=f7_c&dO?9LG9J8 zwnvYZHgaKPQsJEH3uvu%q>dSNz$UxwYDg;8BsU(UQT#iDr zVIu$nn8pP^<4Sj>SOHUA5_G3WgFj6FGj=%>bZjD%-E$O3Ld&WL{jMYSJ_miWoc#_J z?LvZ4-Ow*T_Rd|iOf4fx3!3%@>nA&`#aBkv%frES5Ie)3cI8_9<7-|kKebI{cDJ4( zbJ-gh3$6%SLisG2LWGIdW7MUV-+8W1y@5_JTS%zw2i__`);g!Uso?=jN7~mAZC^nx zS*;_V&9D8r5o|UxEZEFp?DNwzEZ1J94Z}zi;xK=xC2i|M44COJHT}_=-0c|6Z)}jR z9IeF<^?t-v(yc5eK#F%}hi#pNYB2e4$N!yXjQ};c$lB0^w4U7g^4US9IWEbcntP|d zrdsmGV1?8hBge3WG*wdvO%vc@_y9#`t-PecVvq`{z*Q#8p<|Q_8jz45xVvS#{77z@ zEngjHhM0IhT}BR`Wmt)($^OGjn6cM8WMKiDd71iVNgA-9WXem!xpoa$sks{0_NY|Ll+Wp|q2aHQbv9>9F3aWlhZ{?FV4Jlo*hjs|*7{Im(lGSiL8%KBdI7ObR5H_jV zGYFgx=B2I6)MAGjS_~a2#b`#{6$2$4lIM#jj^Tu~@#X~dUQev)$5O?V8 z*@pI@_})6h_irMt*T&te0$;yuU6u{*0==VxL=LWpm^sYd+%mv6osKncO`CVnUPx+%b>- zqVAPkM{aR(<-k%^FJXtMtmr(x=(hX^>VsPBx;&7-(-@Gon1)$&WLnX znOS6Q*g3vYYC2Dm_ZQ`Z$JTrV)sn@CD=c1IJ^mhrl*;vO!N9QdnPDec|XCN0@LU_p>}1VGSjUHRsHb!NvmWYpZZ(9(7EWpJV7zN($?lVL*ek; zOw9FkoxKrV;^&ye+ZZvj;*PSrZev?yuFny|fy!Ih}o&Mk@YG<9)Bn_?Kds-Ums#9{)B| z*aaTJf^yd}yNK}Q8pYF`>Xct*lgcyQhCJB3j#97B719-l~@L~h(uwW>Q1Zl|UFqw;=U$?gBHXVzk zhV^4Dob$whHcQ2l*84f_uADM7*R{<3o30H&vX>@>Y=*h@gXmYa@80zfd7dD`0|vb2 z^xe>9uGh3Ah;=fhzJ97Nyiln&nSrk@UUaCFnzk~XTFotm1EX=QDr3MhEaFQ6(&B6R zT_h8J?2XFfu-_W7k((sgBRhvMtit=b$b7qXWxCtvG9C_djyC3S#N9o*~|A{wjT=n8v06=94`!Sl>KnNGt3XleWJ9F z!i)sR^sf7 z1*^BF-rB)PQBqbJA#>H6LFn)EnxB?3f5g^bo1anQGtJks#qz~Aq69w8%-h@@*TJ=V z7|5}nolff$WtlZHSL0x#I&ZajKF1qtPe9 z2)u^XTKhW!xnVO(>^Dyw+>&NeZ}ryY!PdM%s(-iG1htwI2J;RsS~Z@HlD-iny?Z0J za4B8BoY=s!H(b1+c40w=wR7#wJ@<5S%9rHpJF+Vzz5ers>n74d_6}^ncU<&JyweY5 z&}oAiAjt_Tc3V|LI(iVxhO^g=feY&`eN;iL;k%K2Ye-}UI@#cbzF|XkNijLFN0Hwg zzkZAy2M32uUruptNJ0)Wt(ZdGg{}^@Wa-qE#0ZzQ`!XDtE@kloa-qQnG1AUavsIh?eEOBwYyATR zY;KI7L2N?Q&C{+O{RD4~I5C;}y6Ba_NaQ3T?OM0tZ8_9@kGZw@uMtJT|M5h2{kK!9 zD)dM|+!vxQ;xZ@7Ma~oswI^P$WflUhR`>W*;FzygarjRL) z_s0IZAlM!hqO)kZYWrcUSMX4J*w;6$HD9T`KGxy0HuxZ9xXg^E&YT=;=EN(Sd%kUC z#H;>Ha1?)f>6 zsoHbI`mS7C&Ka3sZ@{Ll4U^6U&*cPM!j+k$(AL7;W2`#+B3JhDhWJ`+4LJ+5sLLcK zHb=ga>UK?rqq2IhmM14ME9+KmVChi!i1J^t_Ji>#S{JFvitM7&t~{6|9|nnqxO38X zL-WGqXrq6B~Kyx?7Pa|=69uV>^Ap|S*j2*e!`UyfOL z{rWIoKzA;l1fir+4@TQqndBaAPgf}rE?abETKDJ&JaaBiNx6t?Y%$^b1R%$k?pClc zJj|Y|HggR&$U1rVVMx6LBi)D$!0GP5QkIEy?Wt zS(vE8I~HWI6O`hT4?cb@+)APA2#BDwc!Z7#>~UHq8+?wx_bc5O1QvXsY^ zzSx?t5nq4*+WD!0{KS>n{=7Q?R(c#dFYhs#-nv!J?|@MHTp_MHfYp z?`W~PF+GZaI~l(@Q)+!{<2s**M_Ei|rBSW6`fZ)e(6EV~?z&~$lJPMcTQ!nDb!@it z^HC;2=Brtm1+T8n=aN7Y#^5BDzWCJx4C@V+7o(=`nx|k4R>yqN_H!mR<<7IOQH`

    Byj} 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 diff --git a/test/interpreter_functional/screenshots/baseline/tagcloud_all_data.png b/test/interpreter_functional/screenshots/baseline/tagcloud_all_data.png index 4938d13fcb41d3de1cfcebce7274e1b178a8497f..d195403bb26d32cbe48f540ac0c24ed47fc22e8c 100644 GIT binary patch literal 12110 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 Skkin&^{*T2lxy95_`d*wHLp+r literal 15647 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 Z{Z=S=e{N3V7WBkYSwZb_-lJ!4{x4>};{pHx diff --git a/test/interpreter_functional/screenshots/baseline/tagcloud_fontsize.png b/test/interpreter_functional/screenshots/baseline/tagcloud_fontsize.png index b3703ecc7a330b86301d0ff910e00bb32bb90c3f..29a0ace5905dd4b0c7c9005f6b3f0a25116aa317 100644 GIT binary patch literal 10724 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 EUvs-^lK=n! literal 13748 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%0D) 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 diff --git a/test/interpreter_functional/screenshots/baseline/tagcloud_invalid_data.png b/test/interpreter_functional/screenshots/baseline/tagcloud_invalid_data.png index c43169bfb71014d53fe5cbdc7a75e82fc7f32a13..b8ffa6e8576fe7a717bdcba664b67cb77f05438f 100644 GIT binary patch literal 1993 zcmeAS@N?(olHy`uVBq!ia0y~yU^&9Tz^KE)1{Bee&)>wrz&^p##WAFU@$ErIMg|22 zCWX)cpTBB9urnU0f+4|$8ALftfk=rzgb_$KDDr|hJeeRe!DCd* uXo!s_n9=+)T3n2lmZOyguu3GYu4Kf@Wz&_E_#WAFU@$JDz#sdlr zObXBc+i!p8@xVG9sD$A`AuovH$pDcF4$L5mSqel-TmX>=8bBs7u$h2Jg9VI0vVn0_ z%V>y=CYaIuGFn^!i^I{<5*P@hl?5;mh^;H@SWDPK_W9mV0P11zboFyt=akR{0B(}e AN&o-= diff --git a/test/interpreter_functional/screenshots/baseline/tagcloud_metric_data.png b/test/interpreter_functional/screenshots/baseline/tagcloud_metric_data.png index f8de00f81926d78d1038cb872e40582625cc9b9f..f1ea0471c3651e9ca94f146abdcc8fb97f9aa96e 100644 GIT binary patch literal 6898 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 M_WiQq)TQtK8v~H{HUIzs literal 9238 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 diff --git a/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts b/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts index 524b0205914bd..8ce85c58ec1fb 100644 --- a/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts +++ b/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts @@ -58,8 +58,8 @@ export default function ({ getService }: FtrProviderContext) { { key: '#F5F7FA', value: 2 }, { key: '#D3DAE6', value: 1 }, // scatterplot circles - { key: '#54B399', value: 1 }, - { key: '#54B39A', value: 1 }, + { key: '#69707D', value: 1 }, + { key: '#98A1B3', value: 1 }, ], scatterplotMatrixColorStatsResults: [ // background diff --git a/x-pack/test/plugin_functional/screenshots/baseline/first_child.png b/x-pack/test/plugin_functional/screenshots/baseline/first_child.png index 54385625951bd6b9df4d63166260f48b33c9724d..aa5e919a566c1b6aec780643ea8318ead3b35d82 100644 GIT binary patch literal 6517 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 diff --git a/x-pack/test/plugin_functional/screenshots/baseline/first_child_selected.png b/x-pack/test/plugin_functional/screenshots/baseline/first_child_selected.png index 472bee1ad0845a41fc6611fb41d147cd2a008b0c..52cd878a48b0087540b8de15cd7fa28035d0ec0a 100644 GIT binary patch literal 8300 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 F{{j}K%`gA} literal 9760 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 VDMTK42aJM3UFDK;zM?t)e*jF)Ysdfq diff --git a/x-pack/test/plugin_functional/screenshots/baseline/first_child_selected_with_primary_button_hovered.png b/x-pack/test/plugin_functional/screenshots/baseline/first_child_selected_with_primary_button_hovered.png index 472bee1ad0845a41fc6611fb41d147cd2a008b0c..6a57f4663d95d8bfd1582fc80fce859016587ef0 100644 GIT binary patch literal 8305 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 VDMTK42aJM3UFDK;zM?t)e*jF)Ysdfq diff --git a/x-pack/test/plugin_functional/screenshots/baseline/first_child_with_primary_button_hovered.png b/x-pack/test/plugin_functional/screenshots/baseline/first_child_with_primary_button_hovered.png index a49aa86d029b4ea3bc4157779509a8f666c10c71..d4010bbb0d7e9738fa54f2c98d3cc356235705db 100644 GIT binary patch literal 7287 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 JU@w*S{{ZWTohASP literal 9036 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 z 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 G|NjH?fRHEv literal 14517 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 literal 15579 zcmaib2RxPS|G#kv*_03+93f?N$liOeB#B6w*<@x#_B!^KjBFX%gvwr#J+ftw?De~D z^*rC_`Tl$)!is>(71cvN_3XlMj-vXbg(Xy_*3yAuvJ_?(h7 zIYL7dOqY`syYGa)+IYEk==JHr*3gQbawb`Ibw+C@SJk|&?dXezO8mB^;kdT)_>r#% z@!W>Pc+|Ed(!5nsu52I1`Qog3?G_dBe%>XYpiy5uKJyTn+MDP;id}izPn){f-^vi# z_U!H*<)&K;A7dA-$2#m*knho1TtBC90v zKD(A(gOx%HxwZPA2}!j()kz%g{EI41evLe}jcOIOZ3Az0zGdpN#4Fz1X-JE@YP9Yb zVo!aBK@en@(LItUz~pXD6Jz{&a)R=MqvOl#d=V{Kx1SYEiKsN}j&04UG)Ui!Y|CGk zHx)a2a)MW`F~w9qwLnwpuzAysiY#=!>r&8b2S1?}jsD4&w<u>zRYL!A9y*@Lb@Hcugf1 z*1jiC;#-8Zl(LrEQZ1w#)}OnP99v9A@VW{pUlU2*VXAFT<1FfbYr$f5Zlo|8bramy znVTLJoyK{|{Pc`(!L3);?7(qwb}qT*TaxtZL^6r1qj5_Fne&Tw@dpC)+Al|)2xx`P zG=MjaG*#QR^0!O0oR@a7GO*nWgl36W+G0(c`sxn#ZHm{67oFyIv3P%(zHzT%HD3Eb z3mn;xir&6**j0z*-FaIf=b%%{-LEo-&o}2Dzxp>j08=% z6vzRmlu0sXFK#iq08uYa{9>K#+r`zxu9ve=td|P2HXE5&%>U9IGCcF+Gs~{;i8D4v zZnrt|ZRxB)X>v!2lP-jHP=dLuS-lC+5>#D2nEv~@#s z>&>na&^=NtPrT8!lokrL79vLLh7!hIpRqqm$CcS%c>SfZx;bSwC1A&9ssF@%-!e(P ziVfISS`wX&>2dXFc z^GFYOyLCsZ&2=o@3dvKK@jQzc(3+CzB2~ps>KnX?7 z?xV;B`~Fg7<=Ib4*|fA?hpu}krswrs*<@c;7Ef?D!k7C#5NNoUV?hetz2@wOPJO<` zI2l*xKTy;#5sln`7`DJ=vv7=Gclw+dp{g1#DE2y#HksF8QOQ(UAT+7fP~$3U)M|%t zoZpEIDw(`zb6b3?9$n_++ut6m3s{w4bBl~dE$o$kV83g)ehChgfIE9*?&BdcsZCz+n8-2s-B+i4Fw!`9Ye9OrP{#ofT z7;|{bm%Q`iS+}$P-OE?+po?K(VYQKQsS@|XN%UM?*(&OJLo8|>(+$T4-P8)?=Y|9v zpM%n^+VbTa=P?yF7TmmgY&8;5u4N?!iuKvvDxYVWnP$6I=7$dvj#IC~UapO9*-%ka zYZvR&Ss5X4w=mdS@?h_1<@el+F9g3U>SkC-&W`n}j)_%3?J2)a3fE zeD^TwxO1dxKhW2*wQ9#+vNvjOvq;0Eejl7&_Hu3Mt3OR3kJh@cZZEZ)I$|3n4E;b= zuP2zf?2gB!ZwJb&U%K(@Rj9z8NnktcEjiuoSdxLEhNjdrTS``SEgcDGDaH=F;kTEz z`cv`W)~2K8<2PF;%1ry;JO>Xd5qx#@%jjT3<#|KyYq{^=2Yc^>>vMw6?b+nyn)+Ij zK5Y+tA5;}Gc@3Pvvs$biA@5c{yPNwtwS#A}*M>tGye}6G-h*^KuH311!wVyiWK3Nzr z__bWcIi#zh1j*NRJiKR2aDGQ>{z`PlvYENlQT!tBQ5=~pbOUgV*^q91mv*yz;f_bdx5>pPbL6SlgOTQLr;KQIpuRl?GjA{vCg z1~4VJmw>06EKkea-0XOA8k1G+u+msX2 zF2`%}_~ZMc38VV2*T-%9O&)yoQF+_rA3O5mvqHw%M&b&wu~o}tVtICzqVopkUR7Br zt64Uk7lt2EOceRuXWQ& z$o<#DwFjTD)hEsW9I-RZ#U{uw>lNj9SQRy^u{c)eHi2ut#x8l3IOz63gts^lJeg(G z{Kx*G;LF_cM3wDNuZfW6gEekfi3ATgN{#9|0#|i*C9;&0mCaTPKBg@lka;xM?SC(( zuURi4n>wGYCttf?#iQh~JnVJj`a`Ky;X1hxT02a#C&`j#GkKA`TNxU1(b3UcyJx4& zAhR--q5~oi=8N1Fa`W?pA=3teDXr8%wrH3a)m;Uu{m~HG<*Zm$`a&T!D-v=v1mfWi ztL$&Kr~QIt2|!%cC#oIh{X`CEb8H@>%&!#7ZlC1yPs`-OjI2yW$iKm%}#r;d?<{uyb*gMp5KAL zbg}cfRH%SEvqL#|e(QgoneSh!Ugx(5wvX5?Y_CiuHEK7j%pOr&((V3uRS|jQa_;U{ z=OGfP%)7;t(ca#E&21B%i~Co`>>;m5{nGV7>{UB7q;dC5i^w5XY)EbRJm1V_BUEA? zqn2a!f~TE!Np9^MRr6VW8E=vu*m9I<1d8+DGST$3RGIzSz3zU{7*%eepm9aug~}Jg zvB(6$Ljt3o_zq#r{b#^qvpf9L6e5g}JeH#Ob30}xCO-zp&f3#XvA1pZs19C%syev+ z=gY$fY_W!4gDYge3%?X$WMs@>t2IFkJ$59^K6!a*tJ=Qe3;$}# zAUtY3yY4a0nbA!}2*C%vclw=sQ^AmJC6?D+S#w?!9SOJ4xN_wf7^idqOkeme7x{D4 zK{xR0gzcRi3G5rK8-A%0hK3BRI!!IsOZ^#og7rjUv=fO7_Kgx&9M;chin?5GVBwPg z>575(DA7JSi>T4qhzbxBvm&i6o^iTjCc+*Hexi# z*6P8W_hoiEhlOGd78j_%xz?#fVg@jYgqr{?$>-`+6y{egP~BeH9m?KZ@?nw{Qb(pd z|30LWQSVN_yGxc+l-k-t>DW=8k@9L?>cQOnk%#INk%*(CfPo!`wGH}nm zH#{r@c_mB0xBM{1VQ6AM0$l$tBf}?sHdH79K<-6|=_zjaBx+9#7>Vu zWWmSrr1EO}toNW>32an{DJS#Wo;e#s8>qt)jG&k~S(!YYPf|hxbJnsUGOXXVUoXjaI{;r`=kcF9bwi<0r1e#X9<<4uu&|RgPW4&K zs+f7cA88D-A@$p&F^jzn?&2CyMa$+r$aF(Z8>h%3!eLkmt?$8F@_hQArT*(hoYp^CktwgcJT$>D}iPHoc7!PG`Qcaa@NE2?^js zeay1-3e-@!G_`b^w}We52|~Cyq{|bNzPC1%@qXcL!v$J0oy=srC3W2!i#lE}G5|<> zm=7XnyF?=L)k;C}b6us7G+p^(Wi2{y8lG1;^l$V47(g%KLIM)-wS+YUV8J!wrv z@t-;x+Z}Cm--IN#KWN7r=eD8EIjvX~wR19Vqz|oL$FdazTnUDUL&^-;Qks{yC$_v^ zS{gYs0s|X^3Xa3fjAP=t`8DbA`m3?2VVh8WA-8KF_hM%jNAt>3Mc(wP`xxRD}u0Ccl7Ta}irEB}KedCDRBZZjT z(~&33u`PWCI$D9%_CLk@3TswBLlyY5K_HQqI$y=?U5HDuAk_4w3LcdkX+yCFgloNO zU##9=_vK`Og0x0s@jF8$cNyKVl&jZn;8*SaFNe=jGD8$KEga_>a5Wro^fYvDYz(|Gl~;*| zmgm&v{gcx{*Bs`#$tSp8UWb(Jd$m7QoR5&>T^open4+eoC();5*kaQ^Y(qZb=s}SB zT}^`UxpqYeb(TYM!TsAx#X+pS`fIdf1ti# zx@(5}8c`kdvJTpL$edB8^X_f?_3?n`5OUrJHO>01%8qG|w)j%2)M9t?uy}VNC zG{+3sGK4@;QBj+-?+6!jm}n8)hF^8^Uu3!ku$_&OuNS6DY2f{nVqj4H-{F$?YU1vx zYf@sbZ#RuTHEDQ6EgbaqtF$P2ira};U}3|w5nJUFsq*2P^~J%y5@mE4r8M4}bS-txU8hvP z75l`6gye)GdSE!Qr7u&#IFSFPNza+)G0Lnzi{O@$gN~ID{Q*z(!1M1~{R3g4f>Ds3 z_r{Aa&5v0%Po=ttrlVyXMn^^UW~*2MNGe(MJgwSa*P-OqCwi0WObaYo1&k5%lA9lO z%cQg#7?3=yb;9kSa^AuT6<&Y|cbjIXd_EA^m@b8K_nOC|5ZCuyO_t}+pL20>^%kA8 zt^O*oDt6j>O6xJhqAqg&Q_W3nf70Rd)JR?+wPkhmxxln>MlO4eKb;Is#}@_}o8u=N zPZR5PkZ0Yl%%d+#Co`n=1ijyd@p&n**PsBsZ04!2$AoGoLcVWqNN=%ZInQ+YJ)Pe- z069jTPC)=n2r1p*8re$5O@`$e^`)+ixswNC*Bg#Q?~O_HKAo9fl_d~-PdMI4W2Wb|`kX2YXbK65 zB#fld>(YHSauV{8np5RmnUE|nk^(!U^(1F-QcR7_+aFHvk7HRi|1uDeE9&p>q&2|M z>CX;a06|e0mD2BBmxhB1843Bss~${2&3$|+qDjX~w@Ab!iGd_3sO5qIV-78M0yJ(s z92D>eD*5a8y1QzWO?-S60R4iuc>L#a&{HL0=XBr+n~Oo+nK>7_sNd?EUuI>a<96+S zywII2BPWN;Gv&mc^X3gUq@ffUZB^ox5kP`p6pJ|uxB1AdFO(*LA@S{%h=eVOa1Ste zxCTR9ZD74d(-s;rrt>>2%W7*==76{>Tp;qm)Cme2UT{K@2hj1>1dM>T^CI2F%mCA^ zG+pIY2U!Kd@xVY%e^u>~8H61jc|{A`%XxAkHS>=GrNgScAa0hc)f4iwW;Z6kw0m?_ zNS{c(M|ht;Hn`S1o#}>$XLMJqA)lqIGvVv6wcQ1;d5jvm1h!3StiK?++y+`p{zZCV zT&mj`Sec@9Bpk%OXkvg00WwMe1H=@I0GtElXgX1-n)7{67S|PYdEoXrEN3ybaEfP- zNLj+^#loZDt+6ZfM_R+RJwqmKS+#u8_X>3S%U7!1G=U>q1dzrhrbQ`WA|$EGE}qZs zYMqOvI11rLYgM~-b8R&G1DLw_AZWMPJ-g;;^v$(D<$W0}lk45Ca%J?|J>AsjEX@C! z8u3C=Ff(J}1$cUSV&h=o;emE<0@@EbGx+>HP!3Z{Zltn!R62H(T0H~g$R@iO3=sfR zp!9t9h>C^S-_t)$lmkvYuTbioTGaQ=0-9AYqv0>hmhjtiLxs}t_kNJLRPP^hZ@IDM zXYX4f=oBMMCS_NuK$u@jLd%<#q84dgfrx+A5^?W;Ge=NST*Odyae;GC&H2U}bw52z zmvS4fjGMSO5{{$lkK>&w&LK(XT?;>m{m}r6FGAgxfFDrER^q;jwnIf5|a(T>S%B3-|V7MTPD!rm&+xStnP|eE1@In0okx&#d(LqGPCjm6v zh`Z;3uCds~K*FW!kLK$SZ@rA;J&sDtK+xfsF?G#tF3ZIK+7rBcN6S>MiDYUtDv0Qq zAKQNpM-*mTbzKgXhH3*Labv;o&3=*~Yr67awM@zCAETK6kNCKTB?i3&zRLupVwhN1 znQ(7!xIYd`lHR+nyC(KnFG(zGUgulfY>A)VG}sKbG-cAn=4`_eX*hGXd?*ARy(*Zf z%NmMEd;YmAwL<1Zz`Zs*OzL$wxV>KH6Kn|nHk!Q-&bm!{!iHPyL z3rZyK1&9$9Graa!_w9u{k9@#fCKWTYiRbN1Ni=jAmox*T9InjcGv;_rEjEhVZQQ6^ zED;Nv?%tsHm4QFV{a9oJgcHmyH zl|&QwA@&L&J_!Qpr@_)C3-T8lABn1}syZ!Kxr~0akT@@JLH|twb@Inj^vnxzVJIdn zc`xi7_mv{wPp6UDA9!OKGSfhz?ohn?e0if&9Me}4`0YY4sn}}_I$JRxSO|!6u}^2N zg`8pNI7(Vxo)iIx$6h97{2g~-JK*^jmg9j*FymsAK0m?jeTs+11>L_!OoY_&lE=!8 zvXutK)V=29ywuagBIa;w_LsYx!mjRAuvonX;>ohk$Z)tofe?^$se;}{N5Um5%P2Vq z3c;4IRZ5?&HGkALg2A&Ds|q2*!pMw8;w29zx1+xWlM{2PhNFprf1;ScTSoQAw55}- zv0W~ftzj?6gTJ9*a#+8OmO?SfdKOD3KEPk9Lyw$H?5Olm1TS=gfH*N=G4M2(EDYKa z(_cb|os-M~ne>-Phy!oV*^1G};fRSzf;!8`$L*2>Q_`duFf1@ZjRbeI^oklx*C3tG z=CvMv8^-zL;|pIzkjQ;+y@XQQw09X<`%x0XYcGz|L-wzNz`gjsD1}-!3JE<8+?slU%;~ zN)n|Co-R)RyOjQtN|gb#C4qs8LYIWaYwAc6qmwjxw5pSmc!CU4VCiBexkw(sIj{&W zgrH+$;UkK+7*gCnq}(&lZ;PRJkaHmaQM`H_@Jnqkeo+XvR1Q&jg- z7AM`p2Cyz^ZN5ux_!`=9%-U0bNGr7w#vgpYhM{QYRLxKA*V+5#xLQS-jwp+VP|y6LCNeVt{1C25AoUpgBs}6gYgd&-+ktXQrc;+gO+dvLNo) zx?onPu4o=Y>^1NoggH=L5Eo8MOAEgSmxM{8VW0wW9#xCb4u=iNTo$%j+sS;{P$I!LW%|6t1^Zda;W52bQ5Rp8@ZjiYdi@9z)vU%^_(%!7& zyL<;00RrltZAsW2UD!E&4$j^9t8{Pqa4)I`XrK4wxBe|<9W}5R;eF9%pTmZy+T-c zll#PVtdxE~rHqN?l2-r1CabkIw;i?c%(1`=#lAtNDf#90clA?0^93b_>iSE~QX4+P}j6AyZmpP>`4?9|r)dDI{*G?L=~Xf9zETe_Z}6DmTh6inHa zweoTCd&S~bQ`t!8xjv`gD?5$)AuB_0M|Fax8Zj}tcLoANo=4sns0+rqCTZj*7vo%J z(173yrmAodb7%0T27@XCaHNYO1ttCm+I%G;gn1zOs6?njFLj`ah+@Z-VANego#@Pk zJ!a8IsA6u3l_}iJW8gbfkmefgULHBq9%7Q=ZDm}UTnu1V5P%dOgjV=~kzaggCPt`$ z_h{R{<5Lm^APveUZz!qo@B%CqNK<#*F4=ATe@lU0(_sJ!ZDh|_F0ueLP!tnrQ@@iJ)FC7i{A|o! z>J&&}aG254`8L45H|+gEWXgBG>NK85PIFH?tR^M(t8S0VY~fN|PWnrFsf<33pZ?bdUqcU-z!+1kQ;|7~0BAOYzi`-E#kp@;`0dv7b67Vgc z5GI?0-q^nb5Q7rD$USG^8fe<-Po;>{U-(JvX&OAQ@TH8N)N;rU5&SE@!Cq@)hCC6C zl-d5Bnuy%hQd+4ty6+k5XY;hb;h6dH?oysxWo1OkVCIVoHHxe5m2pRuc5)WNzl_w` zllc78AxOJFyTqXV@YOX)KR`oG|B;Rm^93BEVo1ecs*6W*8>TJ4jSor~qzFh)jfJk+ zw=7oSIKU+E?{@?Npn7As-pZSP$H-fmu*S12u6Zb(WHW|@^hgJEtkFfJA+%!QUT@Uv zyq}XfG%~AYEbJ<&9d{h8R0lTuNUuLu(%3~V%=|D*a9REC2+AGuaBNl&U1Xb^Fv#Fc zQBVtDMjJFuz(N5Fmi7D+5)%B%=I%i)+p|0IET&6^f#a zGJazvl>8w10R8a90QrxBr*ghSlj6KWvo~tbF#7QpprH7$lsMtn9<|48z{`JukvCM4 zP=P{UP~dGps|w&ye=zMI%3@&w2a%Jn$N%EDkSD|bH3`Gd>P(jDqSgR5!AT&tqN*y3 z51|0SgFhsKAVx;&?)hc!%=>raW3r-*qQDd!2=AXd@tTRA@-Ub}4zxT$-0m(hkp925MTml; zz2Nc?Rk)xwq`$c&2pT3pFIm|96K{{p+urw!@0-%cYsR0*poz%?NcHhCLO>$_?NgAP zvYt?P2NR0_D0JvLpd&a2js~Q0(P81i(3#)sHxb>shbYC1^dM7B06i}H&Ra^B|J!2iE)^j-% zX@UKp;BpK+FwzW1!@CA1mmxpG(V_Cc5O7ic5FxlQfC|d23w+)_=d<6z6U9-LL-`=& zR1Zz$7%~|dPYj3ko;|puIregq=-8@bhEYM5GyvzmB)mnvQC$qI@&KJsnx>v&Na*lx z_S7Dz-v5VO0R501e{}%x3;cw9brMT3wAy*2K^qGOm_RrthA#>c*Pu_gHd^>KD0`!^ ziAZ?v-4}>>gOMjY&Ry1^ITnmtjEuMzV`W*V%NA|(wzu`Z$*z2tmy;(Y$Ki;ekM;)) zNL$|2=+as-AG9@GKSuL-Wl8^cW&A6O-v5P+03d;n!g1O?s!SF!mqrVPNE+3>#3c!@ zL`a%`&*gq@VIU@fDY4=7n$nK?8fTh7NC>2zDm|P&yi?aCFvdl7UfpD%nS#G^%% zp@W%>h=BL+5dl6ZX321MFhGn^uSYDpS!s12P8P1(oN+6r3Q>TyW4ZsKQK24h2UcFvQUU#bM0xo$?y( zcx6utuH;|^*}9SJU-#hHJx^*wkDc`Yt3pAaf!Y|M~M$=Yu-mWhlJ!$T5{uvf~fgJvug`^ndzi3IeL_*n4G$} zshqeveLxxtf$O7Bs07DAL~8$(*Y;{xdcfo$HQ{=_#KO4VUwEaUE6DgHsjs|;b7oSe z5BLbf2MpEPg3gC%Ydy7er<`d$JkAyoyqR7*yG8NxOF4 zctnnqMl@msa03op>%v7ba1q3CN>bT3FjClEM7Su};KZ`f5jdrnsCQXP+llpf!=hs6 zffgw<;x?Wb+~2#2&fDbEBv}CrX1|f*Px)}*6F%`9uT3^aOgVixItGjAjNP=gKN^lW zx|a_Iu?0CCc1_(g9=&OYUm*^8EoL;N+?9U3A^pwy%NA9(2R4l+ftRIsTJuD*Z5J(l zyny&OlGGAFv2an(XBVmv<;TSwz$}eLvj@QjeEBJdU_2!iQ3}sS^i-Bt)F}lkT}I zyZJ{NiBD_qjo2)=$WA;9lk2W!R-4+B9=kAp$(NsQ;ifTgdNfri8c zYTneQ?tZE^-_q&2f~LG-Nhj>GdJ9$UYeKZ)?&P^~QZ$7256|Ji5csP>7iytM{_^3< zw~~XJJSJP=YNj{17zRc_DUR3K=RGYar#hE#&Q zs;ePSaXL9haX6Yg(a@V#Zew4Q#qkm&#vvxg!jgpppCHgN@a3HJj3djZ1)sAWF>tpe zS}&Y9P^nDZjoaI9U11$AGiFE8c|8O3EjS1UL5?eJAj2`B;Jtx`J#j^9W#MNC1?!!# zuO4YIU|3SeH}#wuUS&qZM>gXlicO+KF8gyLYZX*TJy-$}iWr! zJ@!;O7MUOYG8S-n$W!Szw56#~ z1GB;JWqzn3bEn;~7MnM})my{?Z|rcbhiCHhX)Bh)efUUKCOeypFTPr4xUP#zYk|6NgSppR&mxxfP2q zLmGJvimS;>87VImVBbSB%ibu;PkiNaz)5m9(p#rjQM!L%H4NK=cD zZ^Ps5Bae@#97}d*v6EOBP|mxB4Kt6g3sccu$K!O;zfsE`8Z*c&kV}M0Ob%Ui&@>nw zssENYTz0Nes9T$ib^fr!+av$^nvmA^P_v8OhqI2dhIuz%adaUGbfvC>vNCDDk*R{o zo{~E<7lCPM=1U5beZ^2U^3&aUzKCF*yY{Omk zST*BUcq;Dy*@u`Qu zaA|R4YCH_wyDpRZt&jH6Dc!A!&aXr(lnE&RJ5(LHGt)j2=t4D2#DrM(Wpi`S5Pc-H zZkuAEv_kTV&dz+OC7g!CE~|&d`skdRnwp&n+(AL*#yzyOE=zPzmseI;SXd0E>R&lc z#%g|Ij7jYy)8UHojl47)?EF$d>!kSse^dK~u_>o(bV(tlcEegOSC|wOar#PKF=!0B z61ZjQNdtP-z%rKM1`m$#N8pV@CvS9hH9s~1l_Y|+(RsU#$$9ldi!~}TGM>kZ7Objk&dJH4Ln6sQ#cy>6 zZ*SYK*X`@wR8Eq8{+zL!-Q!TfvUW@QX<$&0cD);4_gckNcY8FeO?yX2Jkpr(opi|4 z<~IbqIv-!qv9pKy-Efb)aemP9IgS$4Sa2M0F?|G1_lEnv03fc`d+QSl4<20Q1TSc? zHL?^9z64%TOchR!+n@4CjbM z#>Y{D^}0M@Wm)54Uzq!64HY3@L!+cXgmf5fNc`5Qd6CV8!%*M&cyMHN^q19Ei{hBz`E;5!@1Uoq}zOaluV=n#qOsrPeeSG0Uaz4< z8sVqxOHuSnt+Lhyf;_V}Dmo&Lwp@745R#PVY(*oQnW$aE)YKa#35*7HwJ7fUJMCdJ z>Kw?y0v#FN>qg_1HoSRSMGH?mlLaV@8@;i3ySln~RYXp?c6WF2skr=AnI-M)kXH4F zH@9e=exN6TVzVhUGdH&Z5AZ`8e#QUzVnqDaE1}SMwFeL0AT36@lA8U9?AU;+H{1{C z?Q)3j3cqy0Zzo>@z~BdDK-^MQg!Af>8~yf&v#8m$%Mk zH@&WIv+43L5KSj%XXnrN@84Iwe_ygTE9+*r(b{Nv(u?JR9H+^7Hbsj20F%B2n2w)) zvwUDB5Gv23VXNd3)7^^D8zq{Y)z`iJr<$Z?evSxv4GuDgbQRe9cza{Su<6Q!7q_8^ z8E$TFl2WTFVYZm~zRALxb$(!Ow)&GNDr#yZ;3YNr)vGhIGmjtJb#W)He)7WnE%#%t z6R+|@y2$p7$Y}t@`A?N!E76}Kj*Ol{y%?a-OJzeoM!@_YecZuEaf$_VS<#yNr5DrWy~Pm)&idNW@JaP&@!?#9eXxnt4(F z6d}?!dai5Sq-10fJ{o#@-9r205}mL1Ct8vnCj&qQgv8SYWGcjxmV$*0-Cs`kr+Qu! z3Hu|``UKY~*kl_X)GY@f*G~(OyZzD)H&J(Y;cRtX-7Zi?ywN6H@)j0%USA?wc&w?V zWw$!a`8AZL<8TyUE+r*pk~|mHbAVZMi;HB0egRq<8WNy>2i~hCL3f#&ngRg0XEmvK zes<&szJ$b z&uolJN$HLcrV+T>b6kS6DcG}9oq^T^`lABgpC23Pvgw)Jfs4+1u9s(ZqX1nPR(nOf z5hO#JG8FB*#U>xNjtfEgEu%6{d=AV`j!%HzBb(6xQ!+}T2)HNi36sSM_kp2^;eFDw zPAU6Xq+eG!NUw=wqYV5tkQ`nnhH*B^oub!na*#Fga(m$i-xF`zsb%-%(DNg;fEkJ3 zy-uh2CY}Qm6Mxq3Cb0!Rvb){H5Kd{-#EDNS3&%CU+2W(TW&y~rv+l!d8>ny-1`bhd z9P~E^q(=JKZ>HmL+dh5b6#(ksa7bmpuE8;V7~t*a z4ERU`3JxXT#bW;4v5U-?*AMG zcc4#7@qwrO@Orh`{e+j?x`fPu0H1c)uS1uY{D-qK*$?NGMF%>kwk%Z>6^}Mm6nLl#~Tejtq}|(HID4s+S;FM zx4u#<#^3dILizK(T)hV939o~L1BBhO2=AS_NR{nj!!Q!0^$$_NEPQr;^{eb`HWQH{ z4VqxNxw+Qz3JThl)^uxKoz@7On^Q-F6%PTDC<7w2h4^6Fe-k9SO((uw*~gEzn?J+= zgYbzb*#VRS!v0Qt<0c>6`FM-Ifq{5Qx-~CtzFg7z;Y>jvJj959 zLpW)9*$mWaU}Qpqd~JUIZKIwPC9rsfRjY7rP{-;^XXR|Dz;LkvnCZicqvQm3b*2a< zg5^LD3Lm#Y-4O^q-S9|FJ(*)7r=ZyRgh|v}VfCaFKihF*^0CM1Ztdyb*o)D!fUVgU zjYp5#pPa zW43Z2F6Op&(?VAwrH~63ofh z>Gr`Td!L&-6R9FhM~)W}6(wnAb_*;x`I7Vg{g3ZjPo94b27}=pw)>t#jQ6#)42^!R zjm6f#I^JGLv?A^4WM*Y;j=yI?)ji$p$47&Fm!FSsJX&VT>qm6srqL%)bYSglRCM%o z?M}A-S9_UHFJ3c$#w z`($opA_WhAygr$sXwdJBn% zHe(M;hWXYldOZydGEP8M5R+Q<+gCu}Y$xCu|MWG48qB4_^}s52D8)agiMw!dA(}U>FjV3BAGUbzTshihJb$1oEmpVC9W0q?=JPd zj-=tU^@%$=atRC!e4n46QCv(cLz=De?>0<7xjs=7uzx&to&r`$C;hXHKmFF<&xuUJ zx_p(xW(Gvf?AqODIHB=6wE-x=z8+9c}{Z~`RyhJ!R z;W+gLYU;{>e{y!jvNIWVC-Et!2*!7F=zl`n-rn|ip7y2SeZpRUKo1w-?ia^wG9}X|nS2>6MjnaUgL7i|X1&f9Mt$)R?t(DQDNc7%ukWH2fMK z7uVVbT@9^*I1UKxPoOI>I#L%;m_DibW2qB?lCka2o`4^Uz)7Z+4 z+}zP8CvM7&*9no9d3g&1be)O%c!am4i3@pz*-Qieu4IY7_UjY&7+;`(TP3yitBxGTO1aViq~I~fQT zMaHAw&$APp)Fiw@~VknRpeQo6fq(MWfvC?O~c0!nu`5=w)#G>b0bH<#|c z&wJi;-s`)*{m0r%c-DI67~>xIeUJG}BGpu6vF?%FLqI^ll9!XxKtMpW0`I-hP{He> zl+`5yg6Oool=xFG#GSUg&~GPAx3I}8UzJ`+0wVhCC;ofP+F~Jh=1gLf)3*e`Q>4@ClBLV&98;yPgCSlp2;yH%y5~W?m-?_iBZ*j7Kzs1nSQDUlGIYYm4bOF6B3(i?}iS8#7bmTV`9bC&u z738q>L)_q1GJ|TNezfgcf?wnioYP5RkkJuQ*TBTaO;Xf(FlAnx_>C`9IvdA%(y->J z=A-myZxde6YuebvC)-JBM4cN)7dHkdGCl%*N_wdyYwQkYTN@XhC}d|A-%YxehpbX5 zWTj*jSVDw~U1fGr)&tag+gYWB8_Xyx5J!uQslmd}_94CUWk@5_XayGH%}!ev>FkpsH4uyDog@p>&Xc+!~f z9n$!^8DrC|@4c-Zlv6}In0toRXOlhXnVLqlnz|5M`zt4F?qqUzP}i{aD*ImD=1x}3 zj!rsQ+wYH~#~dHfWK=WfEtK0Cj}?3WiF|ope8@VLq9?LfF4Ej-!;R!=d3!!5cCg91%jWFyx*JY1yDSHgMt9)+kAPOQ9r zr|0b}iTGT3q0^i-$qP0UR!D~myMQ()KQk%}r<^LlaQ%6f&dM^SA?2bUSnQkIomXZp z2P$@Z?^&t9rH5RR?~2WbDesJ~S?r^oB)=UtmbJ<>`E#hqVjm;NSO<>T%zLO$OXW-X zymjMNR&v`=(14lNFa+QLw5#W$K zpV6}T$PQT^TbEa=Eu*rI6jwnFdHl^xtvG9r)1H*z`Kt3k_NBc^saGA=Uq~Mo#}Cx7=k* z`WImRm4Xr}nA?sN&s_U3NOe9HMXc5$sGdEJ6*U-7h)L0A9yssPyXa_)ZM@lJJB*5V zIkjfWDFG$-6Do88DE_|pqepDBs`k^MH=N?NmK6gn9lG#IW# zSH^7R0saZ2gx^d-{O~ll=z>D+Q`MBjY#S~N9tbu}>pkr+8cO#1Xh`7jxPd;^{HhJN zU_obO?&OM*34?|hAA;-jS$J@)mgQTTL zna%G52W7s=DPk_eo1YmZrMZA=yvB8Wg7rfm7QBdxb z7bq5pl7t(E(u;d=_VMb%Y*L)fPCa^i*3v0ocQVTK`;c-b=)Xi)Pgs9{h>~IMNI90Bjd$PW46LUCm5Ezol zZfmhdOjVc?J~!~C85Uf~ydZh^j!BBepgxCcT9TOC2jxk<=SoKLE8-Euw<;?iH#JMt zX;LGE_O9vl_#90GUQqP-njhXeaj@rs>jhs}SP+)A&_{#!k!UDL6Qz3LM_J1 zY$T8#u>Sel-qox2KS(lEIzVdo8x z?M!GN`;&0jI9}UHZlfPY^vwcshV!CHIXO*a`|lsIZ`>H49Vn-<84QD~$q3K{w!VEF zc%ALII;O~GG(2}9e6ZMJdR-Oo`dw!?Qu~t=r)0nh=_|iWJnAqroFbiZdL{o&!5r5Q zIt{N7k?(TDx}5KmGn@Qh`5Ju#|CssUPrRp!N@oApRUoU3jEt+Bmaj~g7Dav>EScC8 z6^~YJTwFuHBAA$#s*R2n4GA7}m1YCt zuM9rF%unLVLE%D?3qwHzFSMaS2*m9)39kzqb24o`s+^8qpnBLz^q}$zsO#7#!zBjZ z?t+du1%x|GXM~eQ`O~h8G)(UvzfnU!T4!Iaw=FBok2SP2S)Z+{TRv1g=c?LhmetU3 zmw1D}K4jSIKB?a~Ni6W1ef;)ubc<4MH+jh23jbd+X@1w}Emyn9`fkQJ)Ny3!&XRfA z@18x%eXC4T#o~Ae&r~M& zZ+~q#dtaVSz0~w&s$%=H}*eKC|o*k?4oTFjb9~ z7f&9tT?R7bQOJ(d#|l~i=pX-Fh>ha2U+CYb^of~uB$sPxo~-bgN8PJCLwu{8*H^dU zv3`d0qj^p>-L#lV%lj^Aw;;`I<#(DZQ@WqhcBE3Y;y4-RykZEse-9=Z75h=5X0R-@ z!?@aRzPrZ#e=NrJU+*1V{`EfUrrHbL5L%IWd)Z~ATVo?`XUDRUJDaKFsJs^SBK<%a z^OI9X?G!T^J74v^d9DV0?C|MIchYFl^91*8zJurnhhq2Ahfm92#0DW>j#Vo^y1Bkq zlw#38Mx6EBp}i`bwf_DY9R_pOhpOW&Zd>3@ z(|`Xd?3ZLhx${M|A>2*JYM6NKRF3xoMK|vg)#!JP298pP;BDqOP z1$OiGxe*VCvJc(=4pKFKZ{BLUQczV`FzxxU4fR_I=5SEdP@(1kTllpqt0Yg zZ}a|bH><_CqlR3?vpfrGbV`(qd(nK9Cf_fShKJ-<9YgfgGGAO@VK3-@Nw55b=Y-Ai zFL8jN8_NY^BI3&hwk{=71#!@d{Row1S#%E^IVJmHY0q6->+Q!pz9V>qj)LTNBQGoQ z1{Vj>b)#7okc+cY2=iUH6NnHvwx@aX6Z(AjRA zbCG~Fod+{UX?~72k^Xiu5vW*O$?oRtFS3rAS@n1dDzQjKqD(b3lDu~k7u6p3m|tV)2kmGlS{qbowTRfrmrq z43QCshc47_oB3j8DSX2sX1>_Mz8^C|GyfJQ-Fi1cJW%xIjFc2J3g1=F2?f;-d8yE$ zl3tdWO!XHp;&N!(2hSh>B?)AX?MJ2;KMTyEjn|rK(ApGF%NALXPZ;0`%m4dVJ$K{E z5B9<&sP_cRAEvH_D0|Nx9$Gfmxv-lXOSThqqyJ6HT(r2TNM>m9Vn`_MG?MM6z_wB= zAep6P!`9!kVg`5;4|uL==&TR==7F&MXQ~L(_5E4#T-S#;ylNJ>5H>nHvc!UvAVjz?o<I4^etq;! zO5fA|;ebfa$d}3Mn0;Fyi7Z!6BEPQYTi-}ZPn6}VNL5)VM`(Ys!FurVMN^y%7Pp*S zM6vaXjMN8%nxK6eTqoc|u%|ueyHolC-u@!q^$KV+p+-WKO=sIk@SC((%DlFm$s3J3 zBV_45!-*?T2q=t+_)y)KQ(}KN&S^i}mWbPv`zk7qnm8%K3BMN?0v~@MLA0S%L1t(P zt?0M{Ks0f~fK(!Zh70SU=|De>3q3!obiXzpW!Pa89*op(vLJ8p*tM95xY9XYf~NTi z8*L2F zL!Sd5v@x{FU3V0xS7O-0wkRt=ww|mix)SgzAd)RtX!OmmO(-Fd8@GX-_D7m8ia&pj z89b^#G$<^j<^IvV@Ik*Win1RVc3MHf$Wfdpahao)&s;S$H8U<}ctB}-`=$rB9j{Z@ zhqBaKUKlVd$je)_#y08HxjZnWr=!b6wgAK1|5MqHCLdNhI$52IY34L`L-}v-(Q_hzxt4Qr!7rfnA>%Gk+)(-K@GZDF&pYnRHlLcd zR|IIselR2THE;7#4?j6$fX^WC5eVqJnubeC7bUd!fliZ7?N8+9VZ*o0@*^1KX45@+ zYP!1p!?_K8(+%DWaBHvnZlP-+=H1ydDZs1>gtOklZTht+`U8ds-6G$b$Gv(>~g4lzhH8W(6y2O zZIg6oLHuo^Eafdt4`#!DiPC-;sLgc#qhaF5ptmHd``>< zz5k%-?OTqkUH*vLpY0UaEZg8-W}qM)0-e7R^9AnjWX;Hz#+!9a z7uT~R^UKq^w8_OBafdzsX8HdSrxfIem%|Q$Fl<7*a-TxR8HP7DZj+Qb{W2T%cuk6y zwlmpp!~WW0)e3G`!OY}!nknnOl?j_m^`iv5Z#}^gQv8ZYGJQBV!fBY(e`iJb;#gp> z_9#76f@*8x-Ox9k=S~ij!z_k3=>KHo=5l?&Zm}X7uYiJ@eIL>%|4nfF1NPjn=r&q< zE%U25gBYR{TyO8Y@+$9#bu8U~>=|N$=H|jNT#mDzB|01Rw;R-fQkMHwhNq|R<_jyO zg!Uw$5UBvoOrk=B_b~($PP|BQ)1Nx# zf$zS^||Y_&&6FO!Rngk4Q#v1MuC# z;LD`I?QwCdIjZ>VEc#C8uRpjGJf2YL0Gp5gO5)6;<%_x_{RZJBa)9)aFd2gWS)>FJ z0BRsGdQJeXV8yrscyxf2;xQTWX{m_u)j>Qa*zH$zyI#Am)v1TvedF zquuv!PDVcxE!L5-$6r}KH~jz67K~u^@l@29=qPfKA6DMP`*w3m8>sGrRVu8_{exfb z#OQnq|K=;X8r~1fZA@B0`uy%e&!?kpC+|{PXtQQeK@y98O?=3mm(c5JneX=V($?O@ zNmP+&{~nrL7y^0@LJ%^oB$BZJA`$~2T{BRP9I-%JTBkThh6E6BFFGQAD5uB$hm}xO z?7MOIt4vg}4b3mNpgzji!8q0A^rBDW_E*y=nKwf0!#8V3vmplsp^{nWT& zwBTm=Xz>vCmV~00FDFWqRg&wiQ9`i)r{NU06U$LAM?Fc#$HkM`h~e=dd{`yIpVv`T z1OSTOmk{9sH!`h(1~0>>bi5)yy>!Ngf2*7XSIz+ue8b)pT_X}CoInobACv{J;dC{j zK{Q?lYwTV6tEhiWP;m8^WUHq%i9`&o5%}sSN%$qtSmSmtq@m8Q11p^b@c@xiNJlECx2-5~!HkQ{Dcw zM(DlxG&ooh0a%gb<$yN;Hw7Egzr2E<B%`#KRyKWc1ZglwlCp-J~TlG&qgG zKpz1&+5r#o$ETLxhjkfgZmE@Q-N>^p-&ww1QX|JXP9csq*l|$xFduAqH9nlt~UkjE##+tK`2Y zBBI-rIM+^%`>$1tK5f686ISS0dx|bVOBF;W7v>s>xgmxmNEPG?0)Vd@Uw|QWe>TI( zUXsl*6I7&BKTd%f>~eIVs}iAuw*QSRbX-Ws@2RO3EiJv$Z`MO(x;9nKn#oA++Aw&m zl7kfIz8Wqwl?Xi=oD5Lfo!Wo5izE>~z*anb+Cs)eU#$6B<{>PSSAKZs9WBU^d>|Ei zA1DM`0uU7dZDd;HAOxybF{zi5UC?F+nr}(TR_?k6w75pC)gj@GH5|{7BmfZ@frtT% zGbD)NCjoppA@zaJ1Da&GVa?Iu4`T4;eQg@@o{W)g<)!%*F{dYg_iefIM*)ha&xpC) z@9{b9-95eng(>M|%0|mRSI1>8o(yHLwK%kZ ziWsgrKgFk_2BN0|0VM7OQk;N!7i^T`3!tO_h6uGnuvl%*T+WkF1;uyxPG|`cNm8Lw zDIlfTvpq1Zl0N4w#0f+bxp7H@L;-g6}r)WLm z>}{i2OL=)A^A26y1S$XA)6%8U=bP!2%K>9ok?||-#`N2|$00%G_C34)&p;Swpe}d&|1$_lKHL66B znlr&e;k`l{-64eEX$0BCwvPqA-&A6GdZ?^;QQAE+F;piuWh+xvfCi?VBgE_L=1pGl z(zm12&wqtK4LxYM@XffK7N=kQiiTLUCNsaq*(m@Bk~zL02`vHak_dpr$bpWOL_*IA zML?(R0O$d3FA%H|_f`@AkBlHKIsZWhavy+2zy~A4r{U=6*|B6Ee3A2-F|0svX zjkqR`-4%vG`p(M0Awu!RTyHw@FMsTU#gU~98grS_9xd0wd2Y`iAWzQ|6sX~>m4HBu zoq!341qWy^bXwd`Pg)|bX{h{@)T2pY6@dW7cyy6ye{d8yM_LG;I3wt{w)~K@W*YF=H$G|$=?&uegCXkvKYT1~oP$E-0s)cR zo_0&{*a-q?PCO_C)fWSO2xv|22Q45jF4_b!FBBD^$->>u9bJPnpI(07eD}E|Q$k4$ z9^4XVKkH!q95Tyn(_H`pU|Ett`c;tNqyqp1M#^N|Ffz0bL0q_pSwYv3{}<>Zk`TZ( za69uG>Od*JuTdBcv_WUSy_YYTu*nDt?U_n5Y+c?JV*KKQ^0yWOtMqplfSx5olf?d) zZ-Mvqe_Q)+yMc?QPQtd4oYQ1CI8fl1o0UTGxHIaB;0`;R3_v-;pC$i*n>i4J8NAWa zjp2C%){miCMMFO@SWU25Q&mGB0h}VhEv)=^$N@q7UFF}+iUg?Tb?t`~x>-*=v{VSD zATH$ZCjQ?A5EKq`^@=GUXJ(DV@g(c^+_Fx67!F*l(^Kl-!UiTTAd={zvOj>u#|FLt z7!625C@>&FWE7JBovA@Tf@aLY1 z7O?a_1o-yZZ@0nm#|ti@0AT-PKmbGi!4G`09#iIA3Cf2*p1YS zwdQWSp{Ilt5=j3?9Owz~#Qkr%04*T_Z@3L`6LgNacf@(Uxw|99%CYtE^9J!ua&!ZB zT6s8OCzf;Vs^{au=Am&EUH^_KvEQx=7Y+CJ#~I;96`adM@ z-`7mdW@Q55Q4e(lc}xS6q~FhAO!p2OL^+>zHuk2!W?1wSmLBEyLm z5edvpU|C{BXebdtzz5-!`(Ky+S>atruH`FLA1LqdRTHc}(*Md5=}fu1frD|DG+j%= zKuyCN$t2p6)?z=??P%H9bCXXU3TII`lpu(}4T5PD&RDJTz`cUV`r!16-wrYZpz5SD z5mDMdGMl4Vn(`QpksSv-s&9^89GdMCnk>?6(M@>g85sy7ivd{> zLn?3<3Or)U_|hCW2-_ykOBDx)oN^+LvdlQn_OiWAZtgZ#>~Kq%%i{fyFhMH?5+~uo z9p2vxBM4}af~G>@L7Cm$t7sM54o=jRl(d!p_NVXgTjimoe;q0s*otOj9V>aki*2~} zNSMrIdrvsaym0C0S26t1(}T;;vNCo4Ef)4IAHV`xlS>Z>H)%waNSbpY^=ga-N&3ptqb*F#?Bv9y&0Y zEFU7H{T$;+B)}si=(zJSYxIk?Dc{<9TWhjKb#T@~ho9ek>EjUmE>+(Nzrr$kF*BQU z=kmE!LTUHiCm$~Kp_hovGoOSID9wVEhfyAmf zc+Q-hZjKAVRiu1oM>qP|4=GW>Zh*`uU8Hs=mB3N9k9-{gE{N$oHp&vI%o)TMPY_+|<$F%up$HiBFEoY|MUeUvY&+qcsc(ph2cyB&C zoWds}mXzNG)!nN!QJo&fYDDNMy=KY}ED0PmLI}@X9P}MLo$7J_HU$ZW{ep6256!8#>fQbR z75Dy{x~cYTh=>=n51M0<%-HppaPC+Gva-5i$M-XtR#-;IEAgX*-xF{x{BPwYkdR7j zo7%DFL+DY$62y3vjmYsk7ir&CdW{(#d9~tRhawb+cf7VfhvN4&T~tnYk+xW`7Bgg7 z?@eUFLSM$GcP3ptf9SAwBJWm?qdacq?q-CAwdAn1z0JhNW-*#CJ;%(!kpN0m;d5eR z$4Bbe@{3QiSf!}6G#Wg3e8{35xab&gr3a31Xg5OzJsNViwrs$M`#@3VJr~!S&K6ce za6}+HJok&o``8066r;eiUs!y=AZT0XI{na>FTo)rA3ldUxfd@eKsBjZSYpfv(u`|n z-<6fEUtb*MJa&&dIB=?VnD4jD^XtwLboE+Geg0|M4wL+G%73hD4S=J|p+?idVCdp# zL(qNeK8;L_(XY#sl$4ZDCSCXZZ;tW`tVy&=Q%|-htDIM44i68fzSt5P8yhQS@kGvA zJ8ZX-kOb!o+r-Q<%vQ=&Ir#7>o*Mi(pq!QewMN-TCYnOd-h)eFSIEAuOeI2A3j`mdpzn+9^TQ`l*M6;WNmGI{^Zy3xInH7+lxjyYilO3 z=ofF^yon(fN<$~0Pe@A(Gc+-wwzs#R8-{0QXSymfDvFw!Icgn@p!#fteA%(>?GiaE z4E1FzP6BB6?k#J9o}zyAC^{p9=(@71O3-y3bEPNVvON^Nu&8J$JtIR-PmeSz|5{dN zui(IlhO+4trD&tYV*2*uMnRT`$<2+SP7+b~$n7@crHPdoq}sCB*w=$3039IA>Z_A) zkB{B1Lvex8@^N=} zcNPi?3OdG@fD}n7^!2Ac>Khtbvj9M%k_`K*IL=d;G8c!7lsD4z@$l%#+REy6Wo1%H z3FFxKc-?ai1@J9c#9W~-vffe^NvWsY$`w#vr%&My-+1AZ8b;9feyG@eih*}~#d7Ob zpBiMsM~ns?3>7DsVt3U-8JT*6(_xb4mYvR-Q$LXgI`UcZRpUz5SCm%l-TJ z)%5ffH8lySsHmPkdp7$0dpG6H!CjRcfuOv%)}L!?#=m{*$}KD`{N%a+!p6qNNr24E z!oubH+<8xGoM&csc5`bhf0BDdSW;XZ5eo|oda;%sL&6(XUCmc!&>*9&P4qDOWpFT( zjjgSG*Efj+kr7S<^4)jzo{*TfdvZV59nIYTr3cM`usUf z=#Od3yfx33D{=|61?Z8oL$%YA#QXQ}i8xJA*4EZOylBcQQcTAuCm%Y8twhGfS#(7` zXgnTMlw%?mbfLAV%AA_g-UE-4GjnptUit0`g7ZwoPkeX)Q0Mx36KOcJhv1JBx9c`u znJzSX)6&x?y?QlV@4ihW0u{g@WGj6CJ_?UUM(xFmVQ}a}r{0YTH3YG0S_vG%Y68!s zb!wfcA|oS}as(2YG~XU(Rr{WCP&)@8L35Ef5;Doq|_}A|VnF5qdmB zK=$6H@^p$$%xQS3+Ymb&NRA4bi(a8~@8p4{@@Zr8--G>vuP zCWq~Y8-K{AQ1<$isF$gX8Y6>M(-S?ypnhMP7&8Vl0ernq5^ncw4;!pBif?`Ay}8RO zu7_p3v56GIqLyO#aKK_fP`u3y%-4BN&4s(Ar!xX!Plg~Ep$e~jGJJML+Qm^xhGtU8 zKsy*oZLeiJmu-+9IqHy+iz~1_B-U<#WGH(?>eKNL=^a9$jL(~7me97>cvfEzeu@a!r#s@CV=cKHO-^iMr(BKLadFT; zzAx>4pO_ehUIxXfo$r<8GZii9(~-R@Y=76`zQYu`@1ml?jxHtreWc-RV{`8aL^@k% zHWM3DN#qSPVn}2{!t~CTPcCZ-3fjP|Yb=K%Ay>F6ig%2AjEg3Q=7ScBK!qX^_&OXH z4G~Ec5eX$KU-*3tCbbT%qc@6D#-Z=Q_lE`+k}&fdm=eZq0&fv(c&w%~mo_Z3(?7{s}IO6 zDWh%ICc{=B312CBsL;FyBlb>~PQ5OwX`j%dQ6(NHASKKxDFor-2O-c(1g0Q~QmNfv z!!t2UxQD}6$!g2vC_>OS7D8BIxMMW-*0oc_VZE^H;ZWh~NGJ-^Id^0Vm}{G8A-HH%c>jF4ky%1E5ne0$tQYn(!3$A_ zGM7ysepMNigDuTBApLz}9K={eSg3Op08;*IJgP;yQj}YVB)ml z-*4^M@+pqSP`2-k#gI3SZd_x{f>^BEVVNfcW8hlc1F7{afL8XB@!SIsCq>gwuNS69D2CnhEa@(RC7 zCdL1Y(d7_#9(TD&~C$EZ)^?2BAu!<#}LVjuXEj~bl=tj0egFU^YHOi8nq#5ebjxKkI5&K zg6O{5i#MDjC~0rc3jQ0+;0)OuFXo1xJH?R;h2@QJ!pR9M2ko33==g z`KuHsg9L+e9XxvUXk{f{bp3hDIrG-x2SJ6biBL|MAHXe4p|g@ z`h;6N9$B_6K!zP09Q^Y?oLSH!j{gDjEAMsU>lgkP=KTW$z`{=1@!i9~aDJTovp%k4 z$!O-Y_3GLh>~g#O2;@ssODoJ!M~4{PUi+h#&&#l|N-vnnVp4k5|WZki( zJ%ol(ac5`FtF!%$V$okrEw{h+6E!Mb))ZV^UA?~+rl3*%Ts!gEd~pAM=SR?|k+HEw zjg2{eSEq^D+0l6^N#KN7Qg-&h5U8%WxHx0K(c3qeCGyGi&gTclx_Wwoo_l0q5I#3( z@QD5NiG$@K#+^HNCcb|ko0tg24L&{fsIRZD_1Gl=Zd{w?;k|qJNA5U`#?fmLS~R$-pQVFybJ0%up~c>i!wj9E$7fv%qWu{w_$| zz<_-F`^SPWUs6F16JIzxJA;#HNy*8Q0P$d6G6#bvKwP$RHeZFs5D94LOkUfE18J-) zvZ9xGzGr*pE8VfzJC>rR<8PHe=v0OM{Apz|l+{&fK9Ip@Pr{ZSJvOER#xHQyO0MSu z6*!pupI-$AE^{#bHeRe}@66RDKP%NrOiSx7Q7`zpw?_|{v9VEDLqnstuTLDUZI`FU z9ZY&{<#ivCZLQGY6O*!+mjGz**JWjKAd{mrGyT!*&2r_nwE_x?iU5;ufb)K*S%dXFW$YCS$)CXZ~?t#y(bYSw-w6{oQ!3 zs=n5YpK3m_7Yj~XB(o)sE(f2uvN2;Kv890~;T5SW$sn(ov~Q|v9Nx+oqM*w$B_>he zGl?riq7)W}cd9DvMZOMy9WI6-fgl0-ZCcMN5Xu8MXO z3k3To6&_k)f*ezArWkb*a2#?8kUAmYNF?NF;f|y(6E5lygh*USQL8H2ed*1+GAZF< zVAF}}4jMYzH3~ixibnA22>AaUjX<$rl)icSz7{+QYPu&VkVO2@AB*y05L~%X1g1Ow za5v*;CbdZrzgJXNfmI`G2?5SiMn)vA&rD1qa(1NvrXWONV9CM#JK!!et{)qtO%uG; zOQ%0E=`E6jI7i=PD52h869-9?H!vklG;Y%lMkbb<6mt0L)YUhoZhUS~Kcn*0izDra z7;4ovIe$sRM0ah5(=|wC1SUo|K3T7kOVbJ}@C8JK1abMoj3f$qwNDhYiQsDZJ+B?WN(rZ6GI5cCO26h%)I~L0jKM_(xs-f^c{J5 zc{4LJCn2DzKp#=Fftmry=uhF2W*2r0+M(|_t%xQz^Z@|`@Z?7!=EDc`V{)}k2Mtbx+BKQ zPj{w6<{dUvngN5lu5@FCVUzaRdm4|sPVoxOPSKNMPtp1|*KYXUYX6w_FY7n}XS z5T&859nocCygT#ddYQ1Lb=M;~HMI+D!#O?99Rz!uaBaoIYrEQSQMIt32TmqO$TJSi z_iXyLVuriZRd*ZahjT$jD!h*@zyO^o8X&@;`l{22BOy0;2pAT48w1YxSwB2lAPY|Z z(j_J)e$f3A1$N`$NdS}(<JD1rqA9zc3V{0mePR3ANA*uKF@p;5Xp=KL;H+aF@l)%R4bKanN>`QcX=w zOi2k7_zJ_@%Sph0s4d8Mu{pdC%|INj^K$4KE{m9yB5+?ZIy&0c6-_AUyo~bT!2@6n zM1CD>e*d5&2~;2a^~T$(s$`I10%GF6rH*j*lq-3KpB~$84ensr7;Sv8-=&dmLd#-Cbpo(pNEB|{FM;zc027?KoOlY2Ck@Cd=I|(cWTv;~V@)^&f u!Tff1Sxe{;PiSyv%t!o{Cus2&*(Mz}XinG~5B}C4L0(!#s!YNt`2PVlqJwe( literal 15579 zcmaib2RxPS|G#kv*_03+93f?N$liOeB#B6w*<@x#_B!^KjBFX%gvwr#J+ftw?De~D z^*rC_`Tl$)!is>(71cvN_3XlMj-vXbg(Xy_*3yAuvJ_?(h7 zIYL7dOqY`syYGa)+IYEk==JHr*3gQbawb`Ibw+C@SJk|&?dXezO8mB^;kdT)_>r#% z@!W>Pc+|Ed(!5nsu52I1`Qog3?G_dBe%>XYpiy5uKJyTn+MDP;id}izPn){f-^vi# z_U!H*<)&K;A7dA-$2#m*knho1TtBC90v zKD(A(gOx%HxwZPA2}!j()kz%g{EI41evLe}jcOIOZ3Az0zGdpN#4Fz1X-JE@YP9Yb zVo!aBK@en@(LItUz~pXD6Jz{&a)R=MqvOl#d=V{Kx1SYEiKsN}j&04UG)Ui!Y|CGk zHx)a2a)MW`F~w9qwLnwpuzAysiY#=!>r&8b2S1?}jsD4&w<u>zRYL!A9y*@Lb@Hcugf1 z*1jiC;#-8Zl(LrEQZ1w#)}OnP99v9A@VW{pUlU2*VXAFT<1FfbYr$f5Zlo|8bramy znVTLJoyK{|{Pc`(!L3);?7(qwb}qT*TaxtZL^6r1qj5_Fne&Tw@dpC)+Al|)2xx`P zG=MjaG*#QR^0!O0oR@a7GO*nWgl36W+G0(c`sxn#ZHm{67oFyIv3P%(zHzT%HD3Eb z3mn;xir&6**j0z*-FaIf=b%%{-LEo-&o}2Dzxp>j08=% z6vzRmlu0sXFK#iq08uYa{9>K#+r`zxu9ve=td|P2HXE5&%>U9IGCcF+Gs~{;i8D4v zZnrt|ZRxB)X>v!2lP-jHP=dLuS-lC+5>#D2nEv~@#s z>&>na&^=NtPrT8!lokrL79vLLh7!hIpRqqm$CcS%c>SfZx;bSwC1A&9ssF@%-!e(P ziVfISS`wX&>2dXFc z^GFYOyLCsZ&2=o@3dvKK@jQzc(3+CzB2~ps>KnX?7 z?xV;B`~Fg7<=Ib4*|fA?hpu}krswrs*<@c;7Ef?D!k7C#5NNoUV?hetz2@wOPJO<` zI2l*xKTy;#5sln`7`DJ=vv7=Gclw+dp{g1#DE2y#HksF8QOQ(UAT+7fP~$3U)M|%t zoZpEIDw(`zb6b3?9$n_++ut6m3s{w4bBl~dE$o$kV83g)ehChgfIE9*?&BdcsZCz+n8-2s-B+i4Fw!`9Ye9OrP{#ofT z7;|{bm%Q`iS+}$P-OE?+po?K(VYQKQsS@|XN%UM?*(&OJLo8|>(+$T4-P8)?=Y|9v zpM%n^+VbTa=P?yF7TmmgY&8;5u4N?!iuKvvDxYVWnP$6I=7$dvj#IC~UapO9*-%ka zYZvR&Ss5X4w=mdS@?h_1<@el+F9g3U>SkC-&W`n}j)_%3?J2)a3fE zeD^TwxO1dxKhW2*wQ9#+vNvjOvq;0Eejl7&_Hu3Mt3OR3kJh@cZZEZ)I$|3n4E;b= zuP2zf?2gB!ZwJb&U%K(@Rj9z8NnktcEjiuoSdxLEhNjdrTS``SEgcDGDaH=F;kTEz z`cv`W)~2K8<2PF;%1ry;JO>Xd5qx#@%jjT3<#|KyYq{^=2Yc^>>vMw6?b+nyn)+Ij zK5Y+tA5;}Gc@3Pvvs$biA@5c{yPNwtwS#A}*M>tGye}6G-h*^KuH311!wVyiWK3Nzr z__bWcIi#zh1j*NRJiKR2aDGQ>{z`PlvYENlQT!tBQ5=~pbOUgV*^q91mv*yz;f_bdx5>pPbL6SlgOTQLr;KQIpuRl?GjA{vCg z1~4VJmw>06EKkea-0XOA8k1G+u+msX2 zF2`%}_~ZMc38VV2*T-%9O&)yoQF+_rA3O5mvqHw%M&b&wu~o}tVtICzqVopkUR7Br zt64Uk7lt2EOceRuXWQ& z$o<#DwFjTD)hEsW9I-RZ#U{uw>lNj9SQRy^u{c)eHi2ut#x8l3IOz63gts^lJeg(G z{Kx*G;LF_cM3wDNuZfW6gEekfi3ATgN{#9|0#|i*C9;&0mCaTPKBg@lka;xM?SC(( zuURi4n>wGYCttf?#iQh~JnVJj`a`Ky;X1hxT02a#C&`j#GkKA`TNxU1(b3UcyJx4& zAhR--q5~oi=8N1Fa`W?pA=3teDXr8%wrH3a)m;Uu{m~HG<*Zm$`a&T!D-v=v1mfWi ztL$&Kr~QIt2|!%cC#oIh{X`CEb8H@>%&!#7ZlC1yPs`-OjI2yW$iKm%}#r;d?<{uyb*gMp5KAL zbg}cfRH%SEvqL#|e(QgoneSh!Ugx(5wvX5?Y_CiuHEK7j%pOr&((V3uRS|jQa_;U{ z=OGfP%)7;t(ca#E&21B%i~Co`>>;m5{nGV7>{UB7q;dC5i^w5XY)EbRJm1V_BUEA? zqn2a!f~TE!Np9^MRr6VW8E=vu*m9I<1d8+DGST$3RGIzSz3zU{7*%eepm9aug~}Jg zvB(6$Ljt3o_zq#r{b#^qvpf9L6e5g}JeH#Ob30}xCO-zp&f3#XvA1pZs19C%syev+ z=gY$fY_W!4gDYge3%?X$WMs@>t2IFkJ$59^K6!a*tJ=Qe3;$}# zAUtY3yY4a0nbA!}2*C%vclw=sQ^AmJC6?D+S#w?!9SOJ4xN_wf7^idqOkeme7x{D4 zK{xR0gzcRi3G5rK8-A%0hK3BRI!!IsOZ^#og7rjUv=fO7_Kgx&9M;chin?5GVBwPg z>575(DA7JSi>T4qhzbxBvm&i6o^iTjCc+*Hexi# z*6P8W_hoiEhlOGd78j_%xz?#fVg@jYgqr{?$>-`+6y{egP~BeH9m?KZ@?nw{Qb(pd z|30LWQSVN_yGxc+l-k-t>DW=8k@9L?>cQOnk%#INk%*(CfPo!`wGH}nm zH#{r@c_mB0xBM{1VQ6AM0$l$tBf}?sHdH79K<-6|=_zjaBx+9#7>Vu zWWmSrr1EO}toNW>32an{DJS#Wo;e#s8>qt)jG&k~S(!YYPf|hxbJnsUGOXXVUoXjaI{;r`=kcF9bwi<0r1e#X9<<4uu&|RgPW4&K zs+f7cA88D-A@$p&F^jzn?&2CyMa$+r$aF(Z8>h%3!eLkmt?$8F@_hQArT*(hoYp^CktwgcJT$>D}iPHoc7!PG`Qcaa@NE2?^js zeay1-3e-@!G_`b^w}We52|~Cyq{|bNzPC1%@qXcL!v$J0oy=srC3W2!i#lE}G5|<> zm=7XnyF?=L)k;C}b6us7G+p^(Wi2{y8lG1;^l$V47(g%KLIM)-wS+YUV8J!wrv z@t-;x+Z}Cm--IN#KWN7r=eD8EIjvX~wR19Vqz|oL$FdazTnUDUL&^-;Qks{yC$_v^ zS{gYs0s|X^3Xa3fjAP=t`8DbA`m3?2VVh8WA-8KF_hM%jNAt>3Mc(wP`xxRD}u0Ccl7Ta}irEB}KedCDRBZZjT z(~&33u`PWCI$D9%_CLk@3TswBLlyY5K_HQqI$y=?U5HDuAk_4w3LcdkX+yCFgloNO zU##9=_vK`Og0x0s@jF8$cNyKVl&jZn;8*SaFNe=jGD8$KEga_>a5Wro^fYvDYz(|Gl~;*| zmgm&v{gcx{*Bs`#$tSp8UWb(Jd$m7QoR5&>T^open4+eoC();5*kaQ^Y(qZb=s}SB zT}^`UxpqYeb(TYM!TsAx#X+pS`fIdf1ti# zx@(5}8c`kdvJTpL$edB8^X_f?_3?n`5OUrJHO>01%8qG|w)j%2)M9t?uy}VNC zG{+3sGK4@;QBj+-?+6!jm}n8)hF^8^Uu3!ku$_&OuNS6DY2f{nVqj4H-{F$?YU1vx zYf@sbZ#RuTHEDQ6EgbaqtF$P2ira};U}3|w5nJUFsq*2P^~J%y5@mE4r8M4}bS-txU8hvP z75l`6gye)GdSE!Qr7u&#IFSFPNza+)G0Lnzi{O@$gN~ID{Q*z(!1M1~{R3g4f>Ds3 z_r{Aa&5v0%Po=ttrlVyXMn^^UW~*2MNGe(MJgwSa*P-OqCwi0WObaYo1&k5%lA9lO z%cQg#7?3=yb;9kSa^AuT6<&Y|cbjIXd_EA^m@b8K_nOC|5ZCuyO_t}+pL20>^%kA8 zt^O*oDt6j>O6xJhqAqg&Q_W3nf70Rd)JR?+wPkhmxxln>MlO4eKb;Is#}@_}o8u=N zPZR5PkZ0Yl%%d+#Co`n=1ijyd@p&n**PsBsZ04!2$AoGoLcVWqNN=%ZInQ+YJ)Pe- z069jTPC)=n2r1p*8re$5O@`$e^`)+ixswNC*Bg#Q?~O_HKAo9fl_d~-PdMI4W2Wb|`kX2YXbK65 zB#fld>(YHSauV{8np5RmnUE|nk^(!U^(1F-QcR7_+aFHvk7HRi|1uDeE9&p>q&2|M z>CX;a06|e0mD2BBmxhB1843Bss~${2&3$|+qDjX~w@Ab!iGd_3sO5qIV-78M0yJ(s z92D>eD*5a8y1QzWO?-S60R4iuc>L#a&{HL0=XBr+n~Oo+nK>7_sNd?EUuI>a<96+S zywII2BPWN;Gv&mc^X3gUq@ffUZB^ox5kP`p6pJ|uxB1AdFO(*LA@S{%h=eVOa1Ste zxCTR9ZD74d(-s;rrt>>2%W7*==76{>Tp;qm)Cme2UT{K@2hj1>1dM>T^CI2F%mCA^ zG+pIY2U!Kd@xVY%e^u>~8H61jc|{A`%XxAkHS>=GrNgScAa0hc)f4iwW;Z6kw0m?_ zNS{c(M|ht;Hn`S1o#}>$XLMJqA)lqIGvVv6wcQ1;d5jvm1h!3StiK?++y+`p{zZCV zT&mj`Sec@9Bpk%OXkvg00WwMe1H=@I0GtElXgX1-n)7{67S|PYdEoXrEN3ybaEfP- zNLj+^#loZDt+6ZfM_R+RJwqmKS+#u8_X>3S%U7!1G=U>q1dzrhrbQ`WA|$EGE}qZs zYMqOvI11rLYgM~-b8R&G1DLw_AZWMPJ-g;;^v$(D<$W0}lk45Ca%J?|J>AsjEX@C! z8u3C=Ff(J}1$cUSV&h=o;emE<0@@EbGx+>HP!3Z{Zltn!R62H(T0H~g$R@iO3=sfR zp!9t9h>C^S-_t)$lmkvYuTbioTGaQ=0-9AYqv0>hmhjtiLxs}t_kNJLRPP^hZ@IDM zXYX4f=oBMMCS_NuK$u@jLd%<#q84dgfrx+A5^?W;Ge=NST*Odyae;GC&H2U}bw52z zmvS4fjGMSO5{{$lkK>&w&LK(XT?;>m{m}r6FGAgxfFDrER^q;jwnIf5|a(T>S%B3-|V7MTPD!rm&+xStnP|eE1@In0okx&#d(LqGPCjm6v zh`Z;3uCds~K*FW!kLK$SZ@rA;J&sDtK+xfsF?G#tF3ZIK+7rBcN6S>MiDYUtDv0Qq zAKQNpM-*mTbzKgXhH3*Labv;o&3=*~Yr67awM@zCAETK6kNCKTB?i3&zRLupVwhN1 znQ(7!xIYd`lHR+nyC(KnFG(zGUgulfY>A)VG}sKbG-cAn=4`_eX*hGXd?*ARy(*Zf z%NmMEd;YmAwL<1Zz`Zs*OzL$wxV>KH6Kn|nHk!Q-&bm!{!iHPyL z3rZyK1&9$9Graa!_w9u{k9@#fCKWTYiRbN1Ni=jAmox*T9InjcGv;_rEjEhVZQQ6^ zED;Nv?%tsHm4QFV{a9oJgcHmyH zl|&QwA@&L&J_!Qpr@_)C3-T8lABn1}syZ!Kxr~0akT@@JLH|twb@Inj^vnxzVJIdn zc`xi7_mv{wPp6UDA9!OKGSfhz?ohn?e0if&9Me}4`0YY4sn}}_I$JRxSO|!6u}^2N zg`8pNI7(Vxo)iIx$6h97{2g~-JK*^jmg9j*FymsAK0m?jeTs+11>L_!OoY_&lE=!8 zvXutK)V=29ywuagBIa;w_LsYx!mjRAuvonX;>ohk$Z)tofe?^$se;}{N5Um5%P2Vq z3c;4IRZ5?&HGkALg2A&Ds|q2*!pMw8;w29zx1+xWlM{2PhNFprf1;ScTSoQAw55}- zv0W~ftzj?6gTJ9*a#+8OmO?SfdKOD3KEPk9Lyw$H?5Olm1TS=gfH*N=G4M2(EDYKa z(_cb|os-M~ne>-Phy!oV*^1G};fRSzf;!8`$L*2>Q_`duFf1@ZjRbeI^oklx*C3tG z=CvMv8^-zL;|pIzkjQ;+y@XQQw09X<`%x0XYcGz|L-wzNz`gjsD1}-!3JE<8+?slU%;~ zN)n|Co-R)RyOjQtN|gb#C4qs8LYIWaYwAc6qmwjxw5pSmc!CU4VCiBexkw(sIj{&W zgrH+$;UkK+7*gCnq}(&lZ;PRJkaHmaQM`H_@Jnqkeo+XvR1Q&jg- z7AM`p2Cyz^ZN5ux_!`=9%-U0bNGr7w#vgpYhM{QYRLxKA*V+5#xLQS-jwp+VP|y6LCNeVt{1C25AoUpgBs}6gYgd&-+ktXQrc;+gO+dvLNo) zx?onPu4o=Y>^1NoggH=L5Eo8MOAEgSmxM{8VW0wW9#xCb4u=iNTo$%j+sS;{P$I!LW%|6t1^Zda;W52bQ5Rp8@ZjiYdi@9z)vU%^_(%!7& zyL<;00RrltZAsW2UD!E&4$j^9t8{Pqa4)I`XrK4wxBe|<9W}5R;eF9%pTmZy+T-c zll#PVtdxE~rHqN?l2-r1CabkIw;i?c%(1`=#lAtNDf#90clA?0^93b_>iSE~QX4+P}j6AyZmpP>`4?9|r)dDI{*G?L=~Xf9zETe_Z}6DmTh6inHa zweoTCd&S~bQ`t!8xjv`gD?5$)AuB_0M|Fax8Zj}tcLoANo=4sns0+rqCTZj*7vo%J z(173yrmAodb7%0T27@XCaHNYO1ttCm+I%G;gn1zOs6?njFLj`ah+@Z-VANego#@Pk zJ!a8IsA6u3l_}iJW8gbfkmefgULHBq9%7Q=ZDm}UTnu1V5P%dOgjV=~kzaggCPt`$ z_h{R{<5Lm^APveUZz!qo@B%CqNK<#*F4=ATe@lU0(_sJ!ZDh|_F0ueLP!tnrQ@@iJ)FC7i{A|o! z>J&&}aG254`8L45H|+gEWXgBG>NK85PIFH?tR^M(t8S0VY~fN|PWnrFsf<33pZ?bdUqcU-z!+1kQ;|7~0BAOYzi`-E#kp@;`0dv7b67Vgc z5GI?0-q^nb5Q7rD$USG^8fe<-Po;>{U-(JvX&OAQ@TH8N)N;rU5&SE@!Cq@)hCC6C zl-d5Bnuy%hQd+4ty6+k5XY;hb;h6dH?oysxWo1OkVCIVoHHxe5m2pRuc5)WNzl_w` zllc78AxOJFyTqXV@YOX)KR`oG|B;Rm^93BEVo1ecs*6W*8>TJ4jSor~qzFh)jfJk+ zw=7oSIKU+E?{@?Npn7As-pZSP$H-fmu*S12u6Zb(WHW|@^hgJEtkFfJA+%!QUT@Uv zyq}XfG%~AYEbJ<&9d{h8R0lTuNUuLu(%3~V%=|D*a9REC2+AGuaBNl&U1Xb^Fv#Fc zQBVtDMjJFuz(N5Fmi7D+5)%B%=I%i)+p|0IET&6^f#a zGJazvl>8w10R8a90QrxBr*ghSlj6KWvo~tbF#7QpprH7$lsMtn9<|48z{`JukvCM4 zP=P{UP~dGps|w&ye=zMI%3@&w2a%Jn$N%EDkSD|bH3`Gd>P(jDqSgR5!AT&tqN*y3 z51|0SgFhsKAVx;&?)hc!%=>raW3r-*qQDd!2=AXd@tTRA@-Ub}4zxT$-0m(hkp925MTml; zz2Nc?Rk)xwq`$c&2pT3pFIm|96K{{p+urw!@0-%cYsR0*poz%?NcHhCLO>$_?NgAP zvYt?P2NR0_D0JvLpd&a2js~Q0(P81i(3#)sHxb>shbYC1^dM7B06i}H&Ra^B|J!2iE)^j-% zX@UKp;BpK+FwzW1!@CA1mmxpG(V_Cc5O7ic5FxlQfC|d23w+)_=d<6z6U9-LL-`=& zR1Zz$7%~|dPYj3ko;|puIregq=-8@bhEYM5GyvzmB)mnvQC$qI@&KJsnx>v&Na*lx z_S7Dz-v5VO0R501e{}%x3;cw9brMT3wAy*2K^qGOm_RrthA#>c*Pu_gHd^>KD0`!^ ziAZ?v-4}>>gOMjY&Ry1^ITnmtjEuMzV`W*V%NA|(wzu`Z$*z2tmy;(Y$Ki;ekM;)) zNL$|2=+as-AG9@GKSuL-Wl8^cW&A6O-v5P+03d;n!g1O?s!SF!mqrVPNE+3>#3c!@ zL`a%`&*gq@VIU@fDY4=7n$nK?8fTh7NC>2zDm|P&yi?aCFvdl7UfpD%nS#G^%% zp@W%>h=BL+5dl6ZX321MFhGn^uSYDpS!s12P8P1(oN+6r3Q>TyW4ZsKQK24h2UcFvQUU#bM0xo$?y( zcx6utuH;|^*}9SJU-#hHJx^*wkDc`Yt3pAaf!Y|M~M$=Yu-mWhlJ!$T5{uvf~fgJvug`^ndzi3IeL_*n4G$} zshqeveLxxtf$O7Bs07DAL~8$(*Y;{xdcfo$HQ{=_#KO4VUwEaUE6DgHsjs|;b7oSe z5BLbf2MpEPg3gC%Ydy7er<`d$JkAyoyqR7*yG8NxOF4 zctnnqMl@msa03op>%v7ba1q3CN>bT3FjClEM7Su};KZ`f5jdrnsCQXP+llpf!=hs6 zffgw<;x?Wb+~2#2&fDbEBv}CrX1|f*Px)}*6F%`9uT3^aOgVixItGjAjNP=gKN^lW zx|a_Iu?0CCc1_(g9=&OYUm*^8EoL;N+?9U3A^pwy%NA9(2R4l+ftRIsTJuD*Z5J(l zyny&OlGGAFv2an(XBVmv<;TSwz$}eLvj@QjeEBJdU_2!iQ3}sS^i-Bt)F}lkT}I zyZJ{NiBD_qjo2)=$WA;9lk2W!R-4+B9=kAp$(NsQ;ifTgdNfri8c zYTneQ?tZE^-_q&2f~LG-Nhj>GdJ9$UYeKZ)?&P^~QZ$7256|Ji5csP>7iytM{_^3< zw~~XJJSJP=YNj{17zRc_DUR3K=RGYar#hE#&Q zs;ePSaXL9haX6Yg(a@V#Zew4Q#qkm&#vvxg!jgpppCHgN@a3HJj3djZ1)sAWF>tpe zS}&Y9P^nDZjoaI9U11$AGiFE8c|8O3EjS1UL5?eJAj2`B;Jtx`J#j^9W#MNC1?!!# zuO4YIU|3SeH}#wuUS&qZM>gXlicO+KF8gyLYZX*TJy-$}iWr! zJ@!;O7MUOYG8S-n$W!Szw56#~ z1GB;JWqzn3bEn;~7MnM})my{?Z|rcbhiCHhX)Bh)efUUKCOeypFTPr4xUP#zYk|6NgSppR&mxxfP2q zLmGJvimS;>87VImVBbSB%ibu;PkiNaz)5m9(p#rjQM!L%H4NK=cD zZ^Ps5Bae@#97}d*v6EOBP|mxB4Kt6g3sccu$K!O;zfsE`8Z*c&kV}M0Ob%Ui&@>nw zssENYTz0Nes9T$ib^fr!+av$^nvmA^P_v8OhqI2dhIuz%adaUGbfvC>vNCDDk*R{o zo{~E<7lCPM=1U5beZ^2U^3&aUzKCF*yY{Omk zST*BUcq;Dy*@u`Qu zaA|R4YCH_wyDpRZt&jH6Dc!A!&aXr(lnE&RJ5(LHGt)j2=t4D2#DrM(Wpi`S5Pc-H zZkuAEv_kTV&dz+OC7g!CE~|&d`skdRnwp&n+(AL*#yzyOE=zPzmseI;SXd0E>R&lc z#%g|Ij7jYy)8UHojl47)?EF$d>!kSse^dK~u_>o(bV(tlcEegOSC|wOar#PKF=!0B z61ZjQNdtP-z%rKM1`m$#N8pV@CvS9hH9s~1l_Y|+(RsU#$$9ldi!~}TGM>kZ7Objk&dJH4Ln6sQ#cy>6 zZ*SYK*X`@wR8Eq8{+zL!-Q!TfvUW@QX<$&0cD);4_gckNcY8FeO?yX2Jkpr(opi|4 z<~IbqIv-!qv9pKy-Efb)aemP9IgS$4Sa2M0F?|G1_lEnv03fc`d+QSl4<20Q1TSc? zHL?^9z64%TOchR!+n@4CjbM z#>Y{D^}0M@Wm)54Uzq!64HY3@L!+cXgmf5fNc`5Qd6CV8!%*M&cyMHN^q19Ei{hBz`E;5!@1Uoq}zOaluV=n#qOsrPeeSG0Uaz4< z8sVqxOHuSnt+Lhyf;_V}Dmo&Lwp@745R#PVY(*oQnW$aE)YKa#35*7HwJ7fUJMCdJ z>Kw?y0v#FN>qg_1HoSRSMGH?mlLaV@8@;i3ySln~RYXp?c6WF2skr=AnI-M)kXH4F zH@9e=exN6TVzVhUGdH&Z5AZ`8e#QUzVnqDaE1}SMwFeL0AT36@lA8U9?AU;+H{1{C z?Q)3j3cqy0Zzo>@z~BdDK-^MQg!Af>8~yf&v#8m$%Mk zH@&WIv+43L5KSj%XXnrN@84Iwe_ygTE9+*r(b{Nv(u?JR9H+^7Hbsj20F%B2n2w)) zvwUDB5Gv23VXNd3)7^^D8zq{Y)z`iJr<$Z?evSxv4GuDgbQRe9cza{Su<6Q!7q_8^ z8E$TFl2WTFVYZm~zRALxb$(!Ow)&GNDr#yZ;3YNr)vGhIGmjtJb#W)He)7WnE%#%t z6R+|@y2$p7$Y}t@`A?N!E76}Kj*Ol{y%?a-OJzeoM!@_YecZuEaf$_VS<#yNr5DrWy~Pm)&idNW@JaP&@!?#9eXxnt4(F z6d}?!dai5Sq-10fJ{o#@-9r205}mL1Ct8vnCj&qQgv8SYWGcjxmV$*0-Cs`kr+Qu! z3Hu|``UKY~*kl_X)GY@f*G~(OyZzD)H&J(Y;cRtX-7Zi?ywN6H@)j0%USA?wc&w?V zWw$!a`8AZL<8TyUE+r*pk~|mHbAVZMi;HB0egRq<8WNy>2i~hCL3f#&ngRg0XEmvK zes<&szJ$b z&uolJN$HLcrV+T>b6kS6DcG}9oq^T^`lABgpC23Pvgw)Jfs4+1u9s(ZqX1nPR(nOf z5hO#JG8FB*#U>xNjtfEgEu%6{d=AV`j!%HzBb(6xQ!+}T2)HNi36sSM_kp2^;eFDw zPAU6Xq+eG!NUw=wqYV5tkQ`nnhH*B^oub!na*#Fga(m$i-xF`zsb%-%(DNg;fEkJ3 zy-uh2CY}Qm6Mxq3Cb0!Rvb){H5Kd{-#EDNS3&%CU+2W(TW&y~rv+l!d8>ny-1`bhd z9P~E^q(=JKZ>HmL+dh5b6#(ksa7bmpuE8;V7~t*a z4ERU`3JxXT#bW;4v5U-?*AMG zcc4#7@qwrO@Orh`{e+j?x`fPu0H1c)uS1uY{D-qK*$?NGMF%>kwk%Z>6^}Mm6nLl#~Tejtq}|(HID4s+S;FM zx4u#<#^3dILizK(T)hV939o~L1BBhO2=AS_NR{nj!!Q!0^$$_NEPQr;^{eb`HWQH{ z4VqxNxw+Qz3JThl)^uxKoz@7On^Q-F6%PTDC<7w2h4^6Fe-k9SO((uw*~gEzn?J+= zgYbzb*#VRS!v0Qt<0c>6`FM-Ifq{5Qx-~CtzFg7z;Y>jvJj959 zLpW)9*$mWaU}Qpqd~JUIZKIwPC9rsfRjY7rP{-;^XXR|Dz;LkvnCZicqvQm3b*2a< zg5^LD3Lm#Y-4O^q-S9|FJ(*)7r=ZyRgh|v}VfCaFKihF*^0CM1Ztdyb*o)D!fUVgU zjYp5#pPa zW43Z2F6Op&(?VAwrH~63ofh z>Gr`Td!L&-6R9FhM~)W}6(wnAb_*;x`I7Vg{g3ZjPo94b27}=pw)>t#jQ6#)42^!R zjm6f#I^JGLv?A^4WM*Y;j=yI?)ji$p$47&Fm!FSsJX&VT>qm6srqL%)bYSglRCM%o z?M}A-S9_UHFJ3c$#w z`($opA_WhAygr$sXwdJBn% zHe(M;hWXYldOZydGEP8M5R+Q<+gCu}Y$xCu|MWG48qB4_^}s52D8)agiMw!dA(}U>FjV3BAGUbzTshihJb$1oEmpVC9W0q?=JPd zj-=tU^@%$=atRC!e4n46QCv(cLz=De?>0<7xjs=7uzx&to&r`$C;hXHKmFF<&xuUJ zx_p(xW(Gvf?AqODIHB=6wE-x=z8+9c}{Z~`RyhJ!R z;W+gLYU;{>e{y!jvNIWVC-Et!2*!7F=zl`n-rn|ip7y2SeZpRUKo1w-?ia^wG9}X|nS2>6MjnaUgL7i|X1&f9Mt$)R?t(DQDNc7%ukWH2fMK z7uVVbT@9^*I1UKxPoOI>I#L%;m_DibW2qB?lCka2o`4^Uz)7Z+4 z+}zP8CvM7&*9no9d3g&1be)O%c!am4i3@pz*-Qieu4IY7_UjY&7+;`(TP3yitBxGTO1aViq~I~fQT zMaHAwj>F1p zkdTm?gL`L+Bj7qLZ~lXXgxen{FL%?KbfE&_9R8$adS!XpQ&o!s?aNLLJ4XW}zN5eQ z$C;B7H!ae-3Ol*ybd*1m^X-D(KBiHUHL;I?-94AC0~A*Ue2ksV~Q1zP0kS9 zLrHY8S0Wr*J%=2YM(}ADFGTdX$gsM2T|a;F=tEIOaD5_z&M+iFn8uq{bTEME9;C$Ccvunzc1_r5jT7XQq#W@*7=#|~d0AaNGdRa}ry+3p^L-~e7#ahE z!x;7Y3U-sbDC^ry#~LtSMMMI@WPX^@B$IvU?{DS1JzURi>4%KT)bWo`0aj^P`Q6C>gBKGHe&;(ywv}_0o0&O15xxK%dwzo65 zl|ObY+3ofDgtqpVHl;PbmYko|&_*XWXRE@83txOP+ZT!dIWBpB@9Ry|{XLco+|N<7 z$ueb)NuK*69tT+xxER|-^br=##thbCDk1z%faWcany$S$?`YvA3**Y1FnZ^kTxA~L zrJI8$xwY(ePHC@wBsXo(PYFeItG=1b<(hb~)C?Xf@co^J$Nq?W6ho7C>ewoG`jj?R z^Tf8%nu;Pv(oO-R9=wM4{rS9<8znCF5t)v2y*ym}UGntB?PGN5an;Y_9?fBwO7R!eBzIgr z_P^Wo7Cw~F)s1$$yS=ja{ptK{JNq-v_&upIkL^6G!NR!IRFzWxJ!cQ+s*MM;#H;7m zU1%mL`tysPNEqr=z3nUU!qe8%AjN2r)JQQR^$FO7pO-8Q&W22R&r=)Jt)=neWlI;T z>HGq*#q2$>Q>?(FlWA$z18ZRk4r^(7H`G0ZpWWMt$&uV|c5qw#XttuRm7&|z(I#2f zUHa%WdDf#Ay?Bo)vC_@1tnF9Mk`&Bk^z}n)r&MuFtHoHPUG0<;Cq94uV{Aq7gtfpb02hd$cT4 z7KWq1z$PdNz^aO}A@Iu3JIYsue$MwQ#9n{V#$Kf~ON_2H;{rjXo)TY;fBrM%;k=0L zyO8(vjm^4SLQ~2qYwCab#eu)>CZ)+#>Mp}ta>vdqZNs>>m`lroi%b2YkFX55lvv5f zH&j_FUfY(_Aq0imcQS*59w^2=qJ1uPAn`42xV&(KNvB}->{8*lRtSrRV*9Dc+m%gx zZPUY^J4iE+9m<2fRZFXZ?C1p5k47Wv$>_M9Ng>g-CNskN)JvOBG7^rRgcsp)3W|zH z>dxv{6w62}w9j`P!!|ayvY}8u;~{BxhFBBWPW~wNw}(r9|H0vrw=QLb;535KM#1fW zAxsF`*M~%m4M`yJrl=345T!*DWXtvS9alDU4ctnKWz0^@HJK&nkrKTHEoC7rGO}sVNi|u!jm4{n4>5qdaAB^g;I_<5an^*iQQl(B(_4I5S6wPAoBFyR2`B;@8hhFUWYf@Yxi9 z@_J&!W9qT-QgV0TSWwZ#l~Sh`&AmFl<;h@?)0yAXYML`V!pss}y`fCoN-qci8C1DV z-jiv`H|%L8rs?SxxwV;18X}MMh759;M)v5xfD?vo1e6{&1qiK}5su4)O=WyK6=yvS ztG_+vIPnaiMdqtVERn&x9Il(f8rQ#sCGFjJL0`Ij>64m)ffVkKKcseEExYa7H&r>^=`N-jgNOi#M9u~RZFI4 zhc$FyAbntS+|}0U2o-~T-hG$7O&Qjd^z`_}{$YIU04IZR<_iFz+pmg?Z}FC`8x485 zaMI(q=UK39&!~F7!)klZH+7iG26i~R9xd`9m{xN5p(mNDxWORs?}2;^EYFbi4RsA zI0d1)EAD>!*FVZ<~BBFYg1`fo;Kvk z>@|`<`s=paqcXDYjI#Ch_xBdNaQ6@Q%UR$A0QtbZXsh?+?W?_dESFkMwz}HW4h=)7 z!2ZTTFtn9&Ud%MqAdcV@SU59+8k>X#e;}Y}Y|$EM4K@zL{><>XYyI^4TFp_3KUOS^ z&CKi;tCv@8LFLc37J1pk z?p{)rwt(A|K8u?4CN-0Y_1(r68BxpV4IT6qiCs5=_DN?lQAG??M`;=XJJhEeBPJSf&a6Z=I@0P8vy|c zXAYgfhS;L9`C0Evz4LPKn`t`;dG_YUK^D_^)gi6-cmfLPr&Y%G-b}iMg#p{ zB^4SLf(6gcOi2rVnDbCLCyz9QfdVu3D&A0CtxLIIXVdW5LmoTGTeboA6n%Z;)kcW+ z4pdb20dOj9y?~s9^07ee^khsPFXi0uv(#qc!+r(iEm)sdIbajAqJy7>-pzysdTCzT z=oHTR=LH)1i_Xu_^?vR2MG){XP;|v;cQ>j(i?_y=L_mE}s=Syy!bwjLFVCjRuR@UaGn%B-= zTU-P_^gjuHyii2ux?YXp`Y9<_ESffo##RN%jDTa|vHJ!4$%|0KWX9E4ck(%B50e_< zbTHxcr6EoN93VPiNdlzyvR1vhJ~44Ql;`Jg!|{WJ-%Eb=<`s9%P8?3?Dq76%MP+*L zdSinz-T-Ck*hQy|CV;2YAu(`xQH;LMZEZD6$)^)hq|m5nbRE1tv?t@#C7xdo=j>z& zqzkOWsRhysgtFDaX+d?R1MvYqYqWCtn^jM9Zkz;z#w~1QYwsa$o}4tjF;v8@YoYE- zrW$|+T+V_Z1 zcjZ{f<`)%qP7b`z;dvTu>kXM&3?Kx~3x#L^>)yP)JjuuX?F+Ze^TdFo^^I6m#tp{0 z&DLan$0HPQ3epo$&SQ)Dgcx7HaT574>1fol^yps9ON-~6V7+Z2Z%xsdBSbt5Brgny z1t^6F=??X?s9I4wV#- zNU_70H~LRJJHZLr$sZ6#kbQ@J8-f~Hx6MaG+u2o&+4!uvVBSM^XdP(Eg%Mg>i#^v| zB~>5ELy$rp;_rnA;0$hI;1&g(LJm1YT;rk?Pvs~?z3{X+B7vC>3tDv$F8~3(AOxhg zSfOVUu`>QTw~?KlM;21O3&(z8QOh*dmfGM+Gfu|fi1NgLHSK7E>{x>0eN%YGhooX{ zj)G{K;t#}C!{`UXzi%f@6~BK_YIHSe5B+^he92Jp@dDR!I1Ur``}X%JXK}x8e~b(j3+p*k}}RF#u55Z^LP*Kp8}HYVs$@9gw?UzOkUlj zkcW)kxOu@DX4S_KDQQwqC7!9E*$KWtjDhG3D7q7%eV~8<*$+aUP&RK`J4dTw#piF> z+SwF|pk`u2u{1a+TD?g?41nxGLLdR^=Lj>G*sNj|PgVZH*M|ce;cWNa?{W(nX52N; zP+4Nsul75L!#;A;JxiC+gT3MUIH^O){+;+o!m6Qec5SSSB@?}j6WQ)sqo&DC8!MxB zp_jd8b5YVk7aB%i=zbI>#6CzIjktSjb4GmWhZ0R*X=XS>MmK-9HiuI%kCFUORkT!T zYKXs@RnmJYxpoV7v72$4SeJ~8did7joZ~?WMc#!GqW{Lx_gyAG2!0T`EHE40vLN(O zg;g+FpV#%lSts{oKmFT1jX~X(^nKi6MYX2|-gt5nS#E39RdZf$ z?~F&zW)qn|v|a!KemYISY^d)@ZQG!%fpYA>Z}jqmVtY-7E~b}J>&>Q{(c*8Z5|!*l zO}HDwJ*<1hjN3X^BML~EC;N%<~_Als%4FR0Q8_sbKc8E@Z zhRAx6fKr%*Wy67{4gj6E3ib{FZRkZCg+MgR+JhI`E-9NcHtCa3k%qK2gV0CInb`Zq z{G~w~Icb#n?uf~)i;3?n#f91yF+{|YOj(qf_N6cT5j8heZ?_7RWbIVU{;|*&v?Gyk zjb&er@v{qj(AvUl1SO-I|;1{_QI}QcdUQVp^LW zc0-LH@3!$x^=ck}P-Y?!-Vy1bvTWsH`-qfW5PxtYojzX8^d=fXFLE(Kx9bwKifbi~ zQ6isvvLiwutMF;-Z0)h}CY{^;jb8nc*FD+<0}9^?tqpjfqel+b0$m(6$p&q7RVLRb znL8w2vc?*gA2dgm`EWm-4r4flgVi2yGShl^oV+96mRNgYNognBq&YSHwL{@b<+k9r z?p(oyZ=E7fIb(|ynpz$S7~L^e zR3LiURjo#A8dO#MKVi~4%(B8p#%6D6g6YW*1p}zTAdryS2YE3AvJSX3U||pzuKeN) zCq!wXitA;I#)#6A0#X7hIFamE9fY-pZhjvd>=dr?lL+E%d9APIJD)Hlzc?iNlBsX! z>zaQ4Owau!jC|$mi4gXI^^~;i>e!7OYsoEDDY7E7&oT~?-`W`+c;D5dENAU5*pyma=-`o1(vufflZvO}ULe*M_Fd)(nW@;OdvrZEQdKJ^^fZkcZwB7e2(ewm zbm^A6k(w!AUyDiI^jdkPL3VB2)f{&{UW?R^*7z|$mLQqeos8G%FLU;+vciUblkpQR?|I}RxdO4Gp3|wHc~vBe z{MJk}Cc_^FFIWT%jmLVdFA;0K2euTCi-at-e6O@BRgYJmTtDT;yi{y+!+`0UHKI^O zSH5yb!YusZ-9E69AmYlCk!oqIW*N&cy`Jb4DSTq8RODX1-21z42zz6xNcWBs=6*iF#FVqN`9b z|4W+}(;8y#f3QB2Snj{st$0KKG4GAjp|%IDx+Vruj*c|bErw0p^NhV6jApfB`!j>= z!9E4c!HoBr2Vagp>2*t#jBK3c-WDBj8Gc)MIi`>HLG))o-!-S!3-guPS%IQ9n|g-2 z-SzR`M1@*sG0VIb%=PXdM#g7`DEXSFm?jHA^{%KJZQZ@xmGiYT;#JcN1$1nggO=`@ zw{Zs5E?M2HjfIMv*|pJjsxpt9aN~EDToa!%VYW=2?_M50-A`Pv z;RbInvW?zxQ=y^LWw1z6K)sOvVB#?^g4S&d!hQ=Xf(Lh@zV1YISG8+^KIGp>Q zqtQRnl4j7E0d3`Mqa_n#?^pW7x#rRd6NUPw0Nd%F(q;zjD;g=;6fM?>2&-Xb$#?{UGYH$%9buOW3)p91JyAGX>J-B*5<|-e9#A>U1H>^b9~&Darj+9 zvs(yUTsxa^9=pzGcfJ*02M-07Q-A2LFUF{LioRM57MS8qn|vLp?Cjt`XX%);iYv)| z9eOrc;6v+zvZ0o5aVmvV$YN8h9XtA=Qs9??h&v6NCDnATJEvT3o;3cNXDLpDFUu9F zjVj8Hc*e^++R}0@wYRI0bEEI6qN8x_JMk<&7hRgw&ujx?xqJ?_;e<{uo+}RekJxI= zG6t}-0Hmtdj#QpHIiUtEX?thLL)n1RNe<~bpkMZiDQRgoC?z`0-}@&5flz@nGfH7B zNm*HpFuUf&|IYPD)(6XNVLhYP9&)W4>V%rUhEv571&_~32^EY|>0=+=Q#jj}asSTj z!>hVN1&`bJDAQf;p~zMRotGNrn48ykB6LRxLXy3 z_~?P}&v?*MId4LywM8=53ty*3-;%TNIMOYd6H4mBAn9nqMK0)maN@|rwmX1)CMYU5 zGwhb%yKwZg4w!=zr#63*8HdQ;-D5blw0Gk>UB@q$+&^#0p?y6jq2iL7wXv+>kv0P{ zKc8r6Pja6^Gyac-Pt_9Hr-Iz?Tmq4s3g%E0#!cTY6vlLr`6MYtt8-;Ueo3W#6_9SG-zcX#S8s+F|~`Zqfp7ay$Nx>E%1uwJ z+9#^iw{MVvIbqxc^6eM2O9OioFZWiHYd`~SPf1{g(}E_S7MzFx&3ZXtkaBXWr*EHM zz-j5hL9ri*i{B5#62T`Hf@^d#O_-LyE!M*81;94Vp>FcGY7bNbO5e4Xb9D~ty6mh9 zBE>Z_VPBKQB%QyK1bjSDx+wSTQlaoOay~{`yRO^*>@x(#$f@rm3S{Tge{g?-pZx}y zB1^G3NsXo_d&H}&j0Q1PK4*@<%Ad=qrhTB3sO;eU{SE0!?fr0_$5kASckj@C^*i^w z{r^>)u#o5ukKJN?xwHS_A@krzCX+!2T%aEs3Szn~IJeV+aYe2*1p(-BU>C#}6>9XS zAaKZTj#P%O{QQFs5DKU;-7Luu)_HuQ0S>qUR4X+3?xP}JRS7_49)j<#za_t z&aSn&w=LP6V_3k*qCjW(cN~l39LT-8ATQL4n$29)6^@XFhW%qs_BIcX@5btM`ge0u zntIOZk4+3^M|r+@k3SkM`k8Z!Z=j*1>(YXQkvgYg0)N#0dmH~S*AAltnztcb#$)yI z17)_HTUyz&hC|WHd9L3RhO;>?qER2P4Gv#+W)MK8_+kXlIA@9aBKtN)0^-k zLbO1HXNvXi|LG)7D6)+3NBvj_L~cwU+8YLO3Hwu(#)U9&nL>WUD}oB;MJb+=Vs~qK zY2x(h)yT#E-ri1MN_f4jDENpFh($P1ottGv1*t=#N$MzlQDmc06@U0#D6qYL7@Z2> zP?LMa8)gnj=|cjWf+2xzLE+;7Dmf{Tiv>tw=O8gE2EW)moc#o=%ngLe3CK$XfR_A- zKb-;XX@gS_M=AwSBT)$3L$xx%UbI0D+WY|mD-0n|#2>c)aAqJo9rpf*vG)&p6i_EY z9>Ssd26=%69!jb$qPNhHzk%`(o(kq>dIcr~v{#^*QDd*b7_dn2&~mgf_$z_=@Kyd> zOyEHC(^U$9ReReuSHGT%VK@iQZ%HfH-nG}Tut8(&!FCcbE|SO`Mh5LI9V)rDzhpAl zs4O%eXu{zA#GfKBMC)j5jgia@q#)qd252#8Jmsq=yboP)duVp+wl=Uu4}ea!H) z{hjWPqlc%lG$!7XJZtE|D~YD(i*(KBX6B_GhwQ2tzyQq((p-D z_ix^Zra(3dg$3*|EPU~`!!z++(G9ohtF)Cbh!QHKgcuBa{DU8+Em&OpLhJBrMzrz`jcF@yZfz$$!NkDRfwq2k!1CvJ|rU}R!xG2VH zzQy-$%2y%oXV9qT;4sJf^0#nIsXJ*#YHvADnX7l4>n0Gh4y9pWc3Cel$3yy$6@dH! zooK*$fwZfq5HG&`0w1x9Cy1s{1l37iKqtQNW8pQ<!%3&WGaa;+SHbs?Al-lz z2#MhUpMr$sk1xXs_g+*OzpJ?-kBy0_mR{AGuk%g&6Q zv`0yEB&)WVw0PtEGqtt3ijIL&yOUn?GyFgOBt)J&*g3`rX04IzQ8AKmTq04qM-tUZ t!vCK1js{tI(h)D*agwnA3;$?mwf!({=sMXS4bJA0;1pEl)34ll{2z9VG6?_x literal 10965 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

    71C4XuVmBi8!+8w*wfR~+LS7g{%Hd#`%u%u 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 literal 13265 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 C`e7mf literal 13300 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Ⓢ>dAo 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 Pb52D;Q@;3)dC>m?!DYzC diff --git a/x-pack/test/plugin_functional/screenshots/baseline/second_child_with_primary_button_hovered.png b/x-pack/test/plugin_functional/screenshots/baseline/second_child_with_primary_button_hovered.png index 037525b92eab23d3b9d80c70de8532b865f11215..e720111e626ff5c669b72f89581e57f6be1632a0 100644 GIT binary patch literal 12235 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 literal 12791 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 H4E_EWE;Jcb From 0d1a1af57d9611f6c119b922970eabbac05c5639 Mon Sep 17 00:00:00 2001 From: Tim Sullivan Date: Wed, 17 Mar 2021 10:39:49 -0700 Subject: [PATCH 14/50] [Reporting/UI Settings] Validation for the Reporting UI Setting Custom Logo (#94746) * Validation for the Reporting UI Setting Custom Logo * add more validations * check if image is too large * fix i18n * clean redundant * large test strings not necessary Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../plugins/reporting/server/config/index.ts | 4 +- .../server/config/ui_settings.test.ts | 71 ++++++++++++++++ .../reporting/server/config/ui_settings.ts | 81 +++++++++++++++++++ x-pack/plugins/reporting/server/plugin.ts | 42 +++------- 4 files changed, 166 insertions(+), 32 deletions(-) create mode 100644 x-pack/plugins/reporting/server/config/ui_settings.test.ts create mode 100644 x-pack/plugins/reporting/server/config/ui_settings.ts diff --git a/x-pack/plugins/reporting/server/config/index.ts b/x-pack/plugins/reporting/server/config/index.ts index f907d637462e6..06975aa85f1e4 100644 --- a/x-pack/plugins/reporting/server/config/index.ts +++ b/x-pack/plugins/reporting/server/config/index.ts @@ -5,10 +5,12 @@ * 2.0. */ -import { get } from 'lodash'; import { PluginConfigDescriptor } from 'kibana/server'; +import { get } from 'lodash'; + import { ConfigSchema, ReportingConfigType } from './schema'; export { buildConfig } from './config'; +export { registerUiSettings } from './ui_settings'; export { ConfigSchema, ReportingConfigType }; export const config: PluginConfigDescriptor = { diff --git a/x-pack/plugins/reporting/server/config/ui_settings.test.ts b/x-pack/plugins/reporting/server/config/ui_settings.test.ts new file mode 100644 index 0000000000000..dcd12e4c05f3f --- /dev/null +++ b/x-pack/plugins/reporting/server/config/ui_settings.test.ts @@ -0,0 +1,71 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { range } from 'lodash'; +import { PdfLogoSchema } from './ui_settings'; + +test('validates when provided with image data', () => { + const jpgString = + `data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoHCBcUFBUUExUYGRUaGRsZGxsZHB8bIh0iGhgbGxkbGx8dIy0kGx0rIiIbJTcoKi8xNDU0ISY6Pzo2` + + `+8snFz9eWgvYKS4ZsvS05zRQsDveIzH4Er4iDtr6iICIiAiIgIiICIiD//2Q==`; + expect(PdfLogoSchema.validate(jpgString)).toBe(jpgString); + + const pngString = + `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAjVBMVEX////8/Pz4+Pj5+fnb29vz8/Px8fFeXl7r6+u/v79nZ` + + `tcAAAAASUVORK5CYII=`; + expect(PdfLogoSchema.validate(pngString)).toBe(pngString); + + const gifString = + `data:image/gif;base64,R0lGODlhoADIAPYAAO/w7wgFBwsLCxMTExsbGyMjI5SUlLS0tLu7u9vb2+Hh4e/v7/Ds7////0NDQ2RkZCkXJO/w8PLy8g8QD` + + `53IIefTH3WR4N8lXzvKWu/zlMI+5zGdO85rb/OY4z7nOd87znvv850APutCHTvSiG/3oSE+60pfO9KY7/elQj7rU5xIIADs=`; + expect(PdfLogoSchema.validate(gifString)).toBe(gifString); + + const svgString = + `data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXR` + + `AgPC9nPgogIDwvZz4KPC9zdmc+Cg==`; + expect(PdfLogoSchema.validate(svgString)).toBe(svgString); +}); + +test('validates if provided with null / undefined value', () => { + expect(() => PdfLogoSchema.validate(undefined)).not.toThrow(); + expect(() => PdfLogoSchema.validate(null)).not.toThrow(); +}); + +test('throws validation error if provided with data over max size', () => { + const largeJpgMock = + `data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoHCBcUFBUUExUYGRUaGRsZGxsZHB8bIh0iGhgbGxkbGx8dIy0kGx0rIiIbJTcoKi8xNDU0ISY6Pzo2` + + range(0, 2050) + .map( + () => + `Pi0zNDMBCwsLBgYGEAYGEDEcFRwxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMf/AABEIAOgA2gMBIgACEQEDEQH/xAAcAAEAAgMBAQE` + ) + .join('') + + `+8snFz9eWgvYKS4ZsvS05zRQsDveIzH4Er4iDtr6iICIiAiIgIiICIiD//2Q==`; + expect(() => PdfLogoSchema.validate(largeJpgMock)).toThrowError(/too large/); +}); + +test('throws validation error if provided with non-image data', () => { + const invalidErrorMatcher = /try a different image/; + + expect(() => PdfLogoSchema.validate('')).toThrowError(invalidErrorMatcher); + expect(() => PdfLogoSchema.validate(true)).toThrow(invalidErrorMatcher); + expect(() => PdfLogoSchema.validate(false)).toThrow(invalidErrorMatcher); + expect(() => PdfLogoSchema.validate({})).toThrow(invalidErrorMatcher); + expect(() => PdfLogoSchema.validate([])).toThrow(invalidErrorMatcher); + expect(() => PdfLogoSchema.validate(0)).toThrow(invalidErrorMatcher); + expect(() => PdfLogoSchema.validate(0x00f)).toThrow(invalidErrorMatcher); + + const csvString = + `data:text/csv;base64,Il9pZCIsIl9pbmRleCIsIl9zY29yZSIsIl90eXBlIiwiZm9vLmJhciIsImZvby5iYXIua2V5d29yZCIKZjY1QU9IZ0J5bFZmWW04W` + + `TRvb1EsYmVlLDEsIi0iLGJheixiYXoKbks1QU9IZ0J5bFZmWW04WTdZcUcsYmVlLDEsIi0iLGJvbyxib28K`; + expect(() => PdfLogoSchema.validate(csvString)).toThrow(invalidErrorMatcher); + + const scriptString = + `data:application/octet-stream;base64,QEVDSE8gT0ZGCldFRUtPRllSLkNPTSB8IEZJTkQgIlRoaXMgaXMiID4gVEVNUC5CQV` + + `QKRUNITz5USElTLkJBVCBTRVQgV0VFSz0lJTMKQ0FMTCBURU1QLkJBVApERUwgIFRFTVAuQkFUCkRFTCAgVEhJUy5CQVQKRUNITyBXZWVrICVXRUVLJQo=`; + expect(() => PdfLogoSchema.validate(scriptString)).toThrow(invalidErrorMatcher); +}); diff --git a/x-pack/plugins/reporting/server/config/ui_settings.ts b/x-pack/plugins/reporting/server/config/ui_settings.ts new file mode 100644 index 0000000000000..337dbf4036b44 --- /dev/null +++ b/x-pack/plugins/reporting/server/config/ui_settings.ts @@ -0,0 +1,81 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; +import { i18n } from '@kbn/i18n'; +import { CoreSetup, UiSettingsParams } from 'kibana/server'; +import { PLUGIN_ID, UI_SETTINGS_CUSTOM_PDF_LOGO } from '../../common/constants'; + +const kbToBase64Length = (kb: number) => Math.floor((kb * 1024 * 8) / 6); +const maxLogoSizeInKilobytes = kbToBase64Length(200); + +// inspired by x-pack/plugins/canvas/common/lib/dataurl.ts +const dataurlRegex = /^data:([a-z]+\/[a-z0-9-+.]+)(;[a-z-]+=[a-z0-9-]+)?(;([a-z0-9]+))?,/; +const imageTypes = ['image/svg+xml', 'image/jpeg', 'image/png', 'image/gif']; + +const isImageData = (str: any): boolean => { + const matches = str.match(dataurlRegex); + + if (!matches) { + return false; + } + + const [, mimetype, , , encoding] = matches; + const imageTypeIndex = imageTypes.indexOf(mimetype); + if (imageTypeIndex < 0 || encoding !== 'base64') { + return false; + } + + return true; +}; + +const isLessThanMaxSize = (str: any) => { + if (str.length > maxLogoSizeInKilobytes) { + return false; + } + + return true; +}; + +const validatePdfLogoBase64String = (str: any) => { + if (typeof str !== 'string' || !isImageData(str)) { + return i18n.translate('xpack.reporting.uiSettings.validate.customLogo.badFile', { + defaultMessage: `Sorry, that file will not work. Please try a different image file.`, + }); + } + if (!isLessThanMaxSize(str)) { + return i18n.translate('xpack.reporting.uiSettings.validate.customLogo.tooLarge', { + defaultMessage: `Sorry, that file is too large. The image file must be less than 200 kilobytes.`, + }); + } +}; + +export const PdfLogoSchema = schema.nullable(schema.any({ validate: validatePdfLogoBase64String })); + +export function registerUiSettings(core: CoreSetup) { + core.uiSettings.register({ + [UI_SETTINGS_CUSTOM_PDF_LOGO]: { + name: i18n.translate('xpack.reporting.pdfFooterImageLabel', { + defaultMessage: 'PDF footer image', + }), + value: null, + description: i18n.translate('xpack.reporting.pdfFooterImageDescription', { + defaultMessage: `Custom image to use in the PDF's footer`, + }), + sensitive: true, + type: 'image', + schema: PdfLogoSchema, + category: [PLUGIN_ID], + validation: { + maxSize: { + length: maxLogoSizeInKilobytes, + description: '200 kB', + }, + }, + }, + } as Record>); +} diff --git a/x-pack/plugins/reporting/server/plugin.ts b/x-pack/plugins/reporting/server/plugin.ts index bef60545d89b8..3dc7e7ef3df92 100644 --- a/x-pack/plugins/reporting/server/plugin.ts +++ b/x-pack/plugins/reporting/server/plugin.ts @@ -5,21 +5,22 @@ * 2.0. */ -import { schema } from '@kbn/config-schema'; -import { i18n } from '@kbn/i18n'; -import { CoreSetup, CoreStart, Plugin, PluginInitializerContext } from 'src/core/server'; -import { PLUGIN_ID, UI_SETTINGS_CUSTOM_PDF_LOGO } from '../common/constants'; +import type { CoreSetup, CoreStart, Plugin, PluginInitializerContext } from 'src/core/server'; +import { PLUGIN_ID } from '../common/constants'; import { ReportingCore } from './'; import { initializeBrowserDriverFactory } from './browsers'; -import { buildConfig, ReportingConfigType } from './config'; +import { buildConfig, registerUiSettings, ReportingConfigType } from './config'; import { LevelLogger, ReportingStore } from './lib'; import { registerRoutes } from './routes'; import { setFieldFormats } from './services'; -import { ReportingSetup, ReportingSetupDeps, ReportingStart, ReportingStartDeps } from './types'; +import type { + ReportingRequestHandlerContext, + ReportingSetup, + ReportingSetupDeps, + ReportingStart, + ReportingStartDeps, +} from './types'; import { registerReportingUsageCollector } from './usage'; -import type { ReportingRequestHandlerContext } from './types'; - -const kbToBase64Length = (kb: number) => Math.floor((kb * 1024 * 8) / 6); export class ReportingPlugin implements Plugin { @@ -44,28 +45,7 @@ export class ReportingPlugin } }); - core.uiSettings.register({ - [UI_SETTINGS_CUSTOM_PDF_LOGO]: { - name: i18n.translate('xpack.reporting.pdfFooterImageLabel', { - defaultMessage: 'PDF footer image', - }), - value: null, - description: i18n.translate('xpack.reporting.pdfFooterImageDescription', { - defaultMessage: `Custom image to use in the PDF's footer`, - }), - sensitive: true, - type: 'image', - schema: schema.nullable(schema.byteSize({ max: '200kb' })), - category: [PLUGIN_ID], - // Used client-side for size validation - validation: { - maxSize: { - length: kbToBase64Length(200), - description: '200 kB', - }, - }, - }, - }); + registerUiSettings(core); const { elasticsearch, http } = core; const { features, licensing, security, spaces, taskManager } = plugins; From 645545ebdf0d98aa35e9aa143028185c0ec90dc1 Mon Sep 17 00:00:00 2001 From: Brandon Morelli Date: Wed, 17 Mar 2021 13:02:49 -0700 Subject: [PATCH 15/50] [APM] docs: correlations feedback (#94750) --- docs/apm/correlations.asciidoc | 60 +++++++++++++++++++++++-------- docs/apm/troubleshooting.asciidoc | 2 +- 2 files changed, 47 insertions(+), 15 deletions(-) diff --git a/docs/apm/correlations.asciidoc b/docs/apm/correlations.asciidoc index 1776cd72ac584..e184ca6bfa656 100644 --- a/docs/apm/correlations.asciidoc +++ b/docs/apm/correlations.asciidoc @@ -3,7 +3,8 @@ === Find latency and error correlations **Correlations** surface attributes of your data that are potentially correlated with high-latency or erroneous transactions. -Surfaced attributes are user-defined, meaning that they are completely customizable to your APM data. +By default, a number of attributes commonly known to cause performance issues, like version, +infrastructure, and location, are included, but all are completely customizable to your APM data. Find something interesting? A quick click of a button will auto-query your data as you work to resolve the underlying issue. For example, a site reliability engineer, who is responsible for keeping production systems up and running, @@ -11,8 +12,7 @@ notices an increase in latency in certain transactions. Analyzing metadata or tags that exist in high-latency transactions but not in lower-latency transactions can potentially point towards the root cause. They may find that a particular piece of hardware, like a host or pod, has failed, increasing latency. -Or, perhaps a set of users, based on IP address or region, is physically too far away from the nearest -data center, increasing latency. +Or, perhaps set of users, based on IP address or region, is facing increased latency due to local data center issues. [discrete] [[view-correlations]] @@ -27,8 +27,8 @@ Queries within the APM app apply to the correlations shown in the correlations f If a correlated field seems noteworthy, use the **Filter** quick links: -* `+` creates a new query in the APM app for transactions containing the selected value. -* `-` creates a new query in the APM app for transactions without the selected value. +* `+` creates a new query in the APM app for filtering transactions containing the selected value. +* `-` creates a new query in the APM app to filter out transactions containing the selected value. [discrete] [[correlations-latency]] @@ -37,8 +37,9 @@ If a correlated field seems noteworthy, use the **Filter** quick links: Correlations help you discover which fields are contributing to increased service latency. A latency distribution chart visualizes the overall latency of the selected service's transactions. -Correlated attributes are sorted by _Impact_–a visual representation of the score for the underlying -aggregation that powers correlations. +Correlated attributes are sorted by _Impact_–a visual representation of the +{ref}/search-aggregations-bucket-significantterms-aggregation.html[significant terms aggregation] +score that powers correlations. Attributes with a high impact, or attributes present in a large percentage of slow transactions, may contribute to increased latency. @@ -51,10 +52,15 @@ exists primarily in higher-latency transactions between 3.7 and 8.7 seconds. [role="screenshot"] image::apm/images/correlations-hover.png[Correlations hover effect] -Selecting the `+` filter creates a new query in the APM app for transactions with +Select the `+` filter to create a new query in the APM app for transactions with `user_agent.name: HeadlessChrome`. With the "noise" now filtered out, you can begin viewing sample traces to continue your investigation. +As you sift through high-latency transactions, you'll likely notice other interesting attributes. +Return to the correlations fly-out and select *Customize fields* to search on these new attributes. +You may need to do this a few times–each time filtering out more and more noise and bringing you +closer to a diagnosis. + [discrete] [[correlations-error-rate]] ==== Find error rate correlations @@ -62,8 +68,9 @@ you can begin viewing sample traces to continue your investigation. Correlations help you discover which fields are contributing to failed transactions. The Error rate over time chart visualizes the change in error rate over the selected time frame. -Correlated attributes are sorted by _Impact_–a visual representation of the score for the underlying -aggregation that powers correlations. +Correlated attributes are sorted by _Impact_–a visual representation of the +{ref}/search-aggregations-bucket-significantterms-aggregation.html[significant terms aggregation] +score that powers correlations. Attributes with a high impact, or attributes present in a large percentage of failed transactions, may contribute to increased error rates. @@ -76,16 +83,41 @@ existed in 100% of failed transactions between 6:00 and 10:30. [role="screenshot"] image::apm/images/error-rate-hover.png[Correlations errors hover effect] -Selecting the `+` filter creates a new query in the APM app for transactions with +Select the `+` filter to create a new query in the APM app for transactions with `url.original: http://localhost:3100...`. With the "noise" now filtered out, you can begin viewing sample traces to continue your investigation. +As you sift through erroneous transactions, you'll likely notice other interesting attributes. +Return to the correlations fly-out and select *Customize fields* to search on these new attributes. +You may need to do this a few times–each time filtering out more and more noise and bringing you +closer to a diagnosis. + [discrete] -[[correlations-custom-fields]] +[[correlations-customize-fields]] ==== Customize fields Correlations are only as good as the data they're searching for. -By default, a handful of potentially useful fields are selected, like `lables`, `service.version`, and `host.ip`. -You can remove and add fields to this list under the **Customize fields** dropdown. +By default, a handful of attributes commonly known to cause performance issues are included. +During the course of an investigation however, you may to need to add and remove fields from +this list multiple times as you narrow in on a diagnosis. + +Add and remove fields under the **Customize fields** dropdown. +The following fields are selected by default. +To keep the default list manageable, only the first six matching fields with wildcards are used. + +**Frontend (RUM) agent:** + +* `labels.*` +* `user.*` +* `user_agent.name` +* `user_agent.os.name` +* `url.original` + +**Backend agents:** + +* `labels.*` +* `host.ip` +* `service.node.name` +* `service.version` TIP: Want to start over? Select **reset** to clear your customizations. diff --git a/docs/apm/troubleshooting.asciidoc b/docs/apm/troubleshooting.asciidoc index 5049321363f88..8cab7bb03da75 100644 --- a/docs/apm/troubleshooting.asciidoc +++ b/docs/apm/troubleshooting.asciidoc @@ -20,7 +20,7 @@ don't forget to check our other troubleshooting guides or discussion forum: * {apm-php-ref}/troubleshooting.html[PHP agent troubleshooting] * {apm-py-ref}/troubleshooting.html[Python agent troubleshooting] * {apm-ruby-ref}/debugging.html[Ruby agent troubleshooting] -* {apm-rum-ref/troubleshooting.html[RUM troubleshooting] +* {apm-rum-ref}/troubleshooting.html[RUM troubleshooting] * https://discuss.elastic.co/c/apm[APM discussion forum]. [discrete] From 6242c7ed4bb59cfa1674f65057fa6cbe37fe0344 Mon Sep 17 00:00:00 2001 From: Spencer Date: Wed, 17 Mar 2021 14:04:28 -0700 Subject: [PATCH 16/50] [kbn/optimizer] report timings when run from CLI or build (#94764) Co-authored-by: spalger Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- docs/developer/telemetry.asciidoc | 1 + packages/kbn-optimizer/src/cli.ts | 5 +- packages/kbn-optimizer/src/index.ts | 1 + .../src/report_optimizer_timings.ts | 73 +++++++++++++++++++ .../tasks/build_kibana_platform_plugins.ts | 11 ++- 5 files changed, 88 insertions(+), 3 deletions(-) create mode 100644 packages/kbn-optimizer/src/report_optimizer_timings.ts diff --git a/docs/developer/telemetry.asciidoc b/docs/developer/telemetry.asciidoc index 75f42a860624b..45d2a140cf8b9 100644 --- a/docs/developer/telemetry.asciidoc +++ b/docs/developer/telemetry.asciidoc @@ -6,6 +6,7 @@ To help us provide a good developer experience, we track some straightforward me The operations we current report timing data for: * Total execution time of `yarn kbn bootstrap` +* Total execution time of `@kbn/optimizer` runs as well as the following metadata about the runs: The number of bundles created, the number of bundles which were cached, usage of `--watch`, `--dist`, `--workers` and `--no-cache` flags, and the count of themes being built. Along with the execution time of each execution, we ship the following information about your machine to the service: diff --git a/packages/kbn-optimizer/src/cli.ts b/packages/kbn-optimizer/src/cli.ts index 8f82f34646e60..6e3106dbc2af7 100644 --- a/packages/kbn-optimizer/src/cli.ts +++ b/packages/kbn-optimizer/src/cli.ts @@ -18,6 +18,7 @@ import { logOptimizerState } from './log_optimizer_state'; import { OptimizerConfig } from './optimizer'; import { runOptimizer } from './run_optimizer'; import { validateLimitsForAllBundles, updateBundleLimits } from './limits'; +import { reportOptimizerTimings } from './report_optimizer_timings'; function getLimitsPath(flags: Flags, defaultPath: string) { if (flags.limits) { @@ -144,7 +145,9 @@ export function runKbnOptimizerCli(options: { defaultLimitsPath: string }) { const update$ = runOptimizer(config); - await lastValueFrom(update$.pipe(logOptimizerState(log, config))); + await lastValueFrom( + update$.pipe(logOptimizerState(log, config), reportOptimizerTimings(log, config)) + ); if (updateLimits) { updateBundleLimits({ diff --git a/packages/kbn-optimizer/src/index.ts b/packages/kbn-optimizer/src/index.ts index 8d6e89008bc68..a5838a8a0fac8 100644 --- a/packages/kbn-optimizer/src/index.ts +++ b/packages/kbn-optimizer/src/index.ts @@ -12,3 +12,4 @@ export * from './log_optimizer_state'; export * from './node'; export * from './limits'; export * from './cli'; +export * from './report_optimizer_timings'; diff --git a/packages/kbn-optimizer/src/report_optimizer_timings.ts b/packages/kbn-optimizer/src/report_optimizer_timings.ts new file mode 100644 index 0000000000000..dcb3a0fba77b5 --- /dev/null +++ b/packages/kbn-optimizer/src/report_optimizer_timings.ts @@ -0,0 +1,73 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { concatMap } from 'rxjs/operators'; +import { CiStatsReporter, ToolingLog } from '@kbn/dev-utils'; + +import { OptimizerConfig } from './optimizer'; +import { OptimizerUpdate$ } from './run_optimizer'; +import { pipeClosure } from './common'; + +export function reportOptimizerTimings(log: ToolingLog, config: OptimizerConfig) { + return pipeClosure((update$: OptimizerUpdate$) => { + let sent = false; + + const cachedBundles = new Set(); + const notCachedBundles = new Set(); + + return update$.pipe( + concatMap(async (update) => { + // if we've already sent timing data then move on + if (sent) { + return update; + } + + if (update.event?.type === 'bundle cached') { + cachedBundles.add(update.event.bundle.id); + } + if (update.event?.type === 'bundle not cached') { + notCachedBundles.add(update.event.bundle.id); + } + + // wait for the optimizer to complete, either with a success or failure + if (update.state.phase !== 'issue' && update.state.phase !== 'success') { + return update; + } + + sent = true; + const reporter = CiStatsReporter.fromEnv(log); + const time = Date.now() - update.state.startTime; + + await reporter.timings({ + timings: [ + { + group: '@kbn/optimizer', + id: 'overall time', + ms: time, + meta: { + optimizerBundleCount: config.bundles.length, + optimizerBundleCacheCount: cachedBundles.size, + optimizerBundleCachePct: Math.floor( + (cachedBundles.size / config.bundles.length) * 100 + ), + optimizerWatch: config.watch, + optimizerProduction: config.dist, + optimizerProfileWebpack: config.profileWebpack, + optimizerBundleThemeTagsCount: config.themeTags.length, + optimizerCache: config.cache, + optimizerMaxWorkerCount: config.maxWorkerCount, + }, + }, + ], + }); + + return update; + }) + ); + }); +} diff --git a/src/dev/build/tasks/build_kibana_platform_plugins.ts b/src/dev/build/tasks/build_kibana_platform_plugins.ts index 973d71043f028..edff77d458f0f 100644 --- a/src/dev/build/tasks/build_kibana_platform_plugins.ts +++ b/src/dev/build/tasks/build_kibana_platform_plugins.ts @@ -11,7 +11,12 @@ import Path from 'path'; import { REPO_ROOT } from '@kbn/utils'; import { lastValueFrom } from '@kbn/std'; import { CiStatsMetric } from '@kbn/dev-utils'; -import { runOptimizer, OptimizerConfig, logOptimizerState } from '@kbn/optimizer'; +import { + runOptimizer, + OptimizerConfig, + logOptimizerState, + reportOptimizerTimings, +} from '@kbn/optimizer'; import { Task, deleteAll, write, read } from '../lib'; @@ -30,7 +35,9 @@ export const BuildKibanaPlatformPlugins: Task = { limitsPath: Path.resolve(REPO_ROOT, 'packages/kbn-optimizer/limits.yml'), }); - await lastValueFrom(runOptimizer(config).pipe(logOptimizerState(log, config))); + await lastValueFrom( + runOptimizer(config).pipe(logOptimizerState(log, config), reportOptimizerTimings(log, config)) + ); const combinedMetrics: CiStatsMetric[] = []; const metricFilePaths: string[] = []; From 5669fac0303ffb400f3c38316813eae362836fec Mon Sep 17 00:00:00 2001 From: Pierre Gayvallet Date: Wed, 17 Mar 2021 22:05:02 +0100 Subject: [PATCH 17/50] remove legacy doc links file (#94274) * remove legacy doc links file * remove entry from watch paths * remove unused invalid link * fix alerting.indexThreshold link * fix more links * update generated doc * update generated doc --- ...na-plugin-core-public.doclinksstart.links.md | 1 - .../kibana-plugin-core-public.doclinksstart.md | 2 +- .../core/server/kibana-plugin-core-server.md | 2 +- ...in-core-server.savedobjectsclientcontract.md | 2 +- src/core/public/doc_links/doc_links_service.ts | 11 +++++------ src/core/public/public.api.md | 1 - .../cli_dev_mode/get_server_watch_paths.test.ts | 1 - src/dev/cli_dev_mode/get_server_watch_paths.ts | 1 - .../documentation_links/documentation_links.ts | 17 ----------------- 9 files changed, 8 insertions(+), 30 deletions(-) delete mode 100644 src/legacy/ui/public/documentation_links/documentation_links.ts diff --git a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md index c95ba01981cfe..dc0e60b5986a4 100644 --- a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md +++ b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md @@ -99,7 +99,6 @@ readonly links: { readonly luceneExpressions: string; }; readonly indexPatterns: { - readonly loadingData: string; readonly introduction: string; }; readonly addData: string; diff --git a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md index 971e02cc2c195..8bcb1a8b6ca1a 100644 --- a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md +++ b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md @@ -17,5 +17,5 @@ export interface DocLinksStart | --- | --- | --- | | [DOC\_LINK\_VERSION](./kibana-plugin-core-public.doclinksstart.doc_link_version.md) | string | | | [ELASTIC\_WEBSITE\_URL](./kibana-plugin-core-public.doclinksstart.elastic_website_url.md) | string | | -| [links](./kibana-plugin-core-public.doclinksstart.links.md) | {
    readonly dashboard: {
    readonly guide: string;
    readonly drilldowns: string;
    readonly drilldownsTriggerPicker: string;
    readonly urlDrilldownTemplateSyntax: string;
    readonly urlDrilldownVariables: string;
    };
    readonly discover: Record<string, string>;
    readonly filebeat: {
    readonly base: string;
    readonly installation: string;
    readonly configuration: string;
    readonly elasticsearchOutput: string;
    readonly elasticsearchModule: string;
    readonly startup: string;
    readonly exportedFields: string;
    };
    readonly auditbeat: {
    readonly base: string;
    };
    readonly metricbeat: {
    readonly base: string;
    readonly configure: string;
    readonly httpEndpoint: string;
    readonly install: string;
    readonly start: string;
    };
    readonly enterpriseSearch: {
    readonly base: string;
    readonly appSearchBase: string;
    readonly workplaceSearchBase: string;
    };
    readonly heartbeat: {
    readonly base: string;
    };
    readonly logstash: {
    readonly base: string;
    };
    readonly functionbeat: {
    readonly base: string;
    };
    readonly winlogbeat: {
    readonly base: string;
    };
    readonly aggs: {
    readonly composite: string;
    readonly composite_missing_bucket: string;
    readonly date_histogram: string;
    readonly date_range: string;
    readonly date_format_pattern: string;
    readonly filter: string;
    readonly filters: string;
    readonly geohash_grid: string;
    readonly histogram: string;
    readonly ip_range: string;
    readonly range: string;
    readonly significant_terms: string;
    readonly terms: string;
    readonly avg: string;
    readonly avg_bucket: string;
    readonly max_bucket: string;
    readonly min_bucket: string;
    readonly sum_bucket: string;
    readonly cardinality: string;
    readonly count: string;
    readonly cumulative_sum: string;
    readonly derivative: string;
    readonly geo_bounds: string;
    readonly geo_centroid: string;
    readonly max: string;
    readonly median: string;
    readonly min: string;
    readonly moving_avg: string;
    readonly percentile_ranks: string;
    readonly serial_diff: string;
    readonly std_dev: string;
    readonly sum: string;
    readonly top_hits: string;
    };
    readonly runtimeFields: string;
    readonly scriptedFields: {
    readonly scriptFields: string;
    readonly scriptAggs: string;
    readonly painless: string;
    readonly painlessApi: string;
    readonly painlessLangSpec: string;
    readonly painlessSyntax: string;
    readonly painlessWalkthrough: string;
    readonly luceneExpressions: string;
    };
    readonly indexPatterns: {
    readonly loadingData: string;
    readonly introduction: string;
    };
    readonly addData: string;
    readonly kibana: string;
    readonly elasticsearch: Record<string, string>;
    readonly siem: {
    readonly guide: string;
    readonly gettingStarted: string;
    };
    readonly query: {
    readonly eql: string;
    readonly luceneQuerySyntax: string;
    readonly queryDsl: string;
    readonly kueryQuerySyntax: string;
    };
    readonly date: {
    readonly dateMath: string;
    readonly dateMathIndexNames: string;
    };
    readonly management: Record<string, string>;
    readonly ml: Record<string, string>;
    readonly transforms: Record<string, string>;
    readonly visualize: Record<string, string>;
    readonly apis: Readonly<{
    createIndex: string;
    createSnapshotLifecyclePolicy: string;
    createRoleMapping: string;
    createRoleMappingTemplates: string;
    createApiKey: string;
    createPipeline: string;
    createTransformRequest: string;
    cronExpressions: string;
    executeWatchActionModes: string;
    indexExists: string;
    openIndex: string;
    putComponentTemplate: string;
    painlessExecute: string;
    painlessExecuteAPIContexts: string;
    putComponentTemplateMetadata: string;
    putSnapshotLifecyclePolicy: string;
    putWatch: string;
    updateTransform: string;
    }>;
    readonly observability: Record<string, string>;
    readonly alerting: Record<string, string>;
    readonly maps: Record<string, string>;
    readonly monitoring: Record<string, string>;
    readonly security: Readonly<{
    apiKeyServiceSettings: string;
    clusterPrivileges: string;
    elasticsearchSettings: string;
    elasticsearchEnableSecurity: string;
    indicesPrivileges: string;
    kibanaTLS: string;
    kibanaPrivileges: string;
    mappingRoles: string;
    mappingRolesFieldRules: string;
    runAsPrivilege: string;
    }>;
    readonly watcher: Record<string, string>;
    readonly ccs: Record<string, string>;
    readonly plugins: Record<string, string>;
    readonly snapshotRestore: Record<string, string>;
    readonly ingest: Record<string, string>;
    } | | +| [links](./kibana-plugin-core-public.doclinksstart.links.md) | {
    readonly dashboard: {
    readonly guide: string;
    readonly drilldowns: string;
    readonly drilldownsTriggerPicker: string;
    readonly urlDrilldownTemplateSyntax: string;
    readonly urlDrilldownVariables: string;
    };
    readonly discover: Record<string, string>;
    readonly filebeat: {
    readonly base: string;
    readonly installation: string;
    readonly configuration: string;
    readonly elasticsearchOutput: string;
    readonly elasticsearchModule: string;
    readonly startup: string;
    readonly exportedFields: string;
    };
    readonly auditbeat: {
    readonly base: string;
    };
    readonly metricbeat: {
    readonly base: string;
    readonly configure: string;
    readonly httpEndpoint: string;
    readonly install: string;
    readonly start: string;
    };
    readonly enterpriseSearch: {
    readonly base: string;
    readonly appSearchBase: string;
    readonly workplaceSearchBase: string;
    };
    readonly heartbeat: {
    readonly base: string;
    };
    readonly logstash: {
    readonly base: string;
    };
    readonly functionbeat: {
    readonly base: string;
    };
    readonly winlogbeat: {
    readonly base: string;
    };
    readonly aggs: {
    readonly composite: string;
    readonly composite_missing_bucket: string;
    readonly date_histogram: string;
    readonly date_range: string;
    readonly date_format_pattern: string;
    readonly filter: string;
    readonly filters: string;
    readonly geohash_grid: string;
    readonly histogram: string;
    readonly ip_range: string;
    readonly range: string;
    readonly significant_terms: string;
    readonly terms: string;
    readonly avg: string;
    readonly avg_bucket: string;
    readonly max_bucket: string;
    readonly min_bucket: string;
    readonly sum_bucket: string;
    readonly cardinality: string;
    readonly count: string;
    readonly cumulative_sum: string;
    readonly derivative: string;
    readonly geo_bounds: string;
    readonly geo_centroid: string;
    readonly max: string;
    readonly median: string;
    readonly min: string;
    readonly moving_avg: string;
    readonly percentile_ranks: string;
    readonly serial_diff: string;
    readonly std_dev: string;
    readonly sum: string;
    readonly top_hits: string;
    };
    readonly runtimeFields: string;
    readonly scriptedFields: {
    readonly scriptFields: string;
    readonly scriptAggs: string;
    readonly painless: string;
    readonly painlessApi: string;
    readonly painlessLangSpec: string;
    readonly painlessSyntax: string;
    readonly painlessWalkthrough: string;
    readonly luceneExpressions: string;
    };
    readonly indexPatterns: {
    readonly introduction: string;
    };
    readonly addData: string;
    readonly kibana: string;
    readonly elasticsearch: Record<string, string>;
    readonly siem: {
    readonly guide: string;
    readonly gettingStarted: string;
    };
    readonly query: {
    readonly eql: string;
    readonly luceneQuerySyntax: string;
    readonly queryDsl: string;
    readonly kueryQuerySyntax: string;
    };
    readonly date: {
    readonly dateMath: string;
    readonly dateMathIndexNames: string;
    };
    readonly management: Record<string, string>;
    readonly ml: Record<string, string>;
    readonly transforms: Record<string, string>;
    readonly visualize: Record<string, string>;
    readonly apis: Readonly<{
    createIndex: string;
    createSnapshotLifecyclePolicy: string;
    createRoleMapping: string;
    createRoleMappingTemplates: string;
    createApiKey: string;
    createPipeline: string;
    createTransformRequest: string;
    cronExpressions: string;
    executeWatchActionModes: string;
    indexExists: string;
    openIndex: string;
    putComponentTemplate: string;
    painlessExecute: string;
    painlessExecuteAPIContexts: string;
    putComponentTemplateMetadata: string;
    putSnapshotLifecyclePolicy: string;
    putWatch: string;
    updateTransform: string;
    }>;
    readonly observability: Record<string, string>;
    readonly alerting: Record<string, string>;
    readonly maps: Record<string, string>;
    readonly monitoring: Record<string, string>;
    readonly security: Readonly<{
    apiKeyServiceSettings: string;
    clusterPrivileges: string;
    elasticsearchSettings: string;
    elasticsearchEnableSecurity: string;
    indicesPrivileges: string;
    kibanaTLS: string;
    kibanaPrivileges: string;
    mappingRoles: string;
    mappingRolesFieldRules: string;
    runAsPrivilege: string;
    }>;
    readonly watcher: Record<string, string>;
    readonly ccs: Record<string, string>;
    readonly plugins: Record<string, string>;
    readonly snapshotRestore: Record<string, string>;
    readonly ingest: Record<string, string>;
    } | | diff --git a/docs/development/core/server/kibana-plugin-core-server.md b/docs/development/core/server/kibana-plugin-core-server.md index b4faa4299a929..8dd4667002ead 100644 --- a/docs/development/core/server/kibana-plugin-core-server.md +++ b/docs/development/core/server/kibana-plugin-core-server.md @@ -300,7 +300,7 @@ The plugin integrates with the core system via lifecycle events: `setup` | [SavedObjectAttributeSingle](./kibana-plugin-core-server.savedobjectattributesingle.md) | Don't use this type, it's simply a helper type for [SavedObjectAttribute](./kibana-plugin-core-server.savedobjectattribute.md) | | [SavedObjectMigrationFn](./kibana-plugin-core-server.savedobjectmigrationfn.md) | A migration function for a [saved object type](./kibana-plugin-core-server.savedobjectstype.md) used to migrate it to a given version | | [SavedObjectSanitizedDoc](./kibana-plugin-core-server.savedobjectsanitizeddoc.md) | Describes Saved Object documents that have passed through the migration framework and are guaranteed to have a references root property. | -| [SavedObjectsClientContract](./kibana-plugin-core-server.savedobjectsclientcontract.md) | Saved Objects is Kibana's data persisentence mechanism allowing plugins to use Elasticsearch for storing plugin state.\#\# SavedObjectsClient errorsSince the SavedObjectsClient has its hands in everything we are a little paranoid about the way we present errors back to application code. Ideally, all errors will be either:1. Caused by bad implementation (ie. undefined is not a function) and as such unpredictable 2. An error that has been classified and decorated appropriately by the decorators in [SavedObjectsErrorHelpers](./kibana-plugin-core-server.savedobjectserrorhelpers.md)Type 1 errors are inevitable, but since all expected/handle-able errors should be Type 2 the isXYZError() helpers exposed at SavedObjectsErrorHelpers should be used to understand and manage error responses from the SavedObjectsClient.Type 2 errors are decorated versions of the source error, so if the elasticsearch client threw an error it will be decorated based on its type. That means that rather than looking for error.body.error.type or doing substring checks on error.body.error.reason, just use the helpers to understand the meaning of the error:\`\`\`js if (SavedObjectsErrorHelpers.isNotFoundError(error)) { // handle 404 }if (SavedObjectsErrorHelpers.isNotAuthorizedError(error)) { // 401 handling should be automatic, but in case you wanted to know }// always rethrow the error unless you handle it throw error; \`\`\`\#\#\# 404s from missing indexFrom the perspective of application code and APIs the SavedObjectsClient is a black box that persists objects. One of the internal details that users have no control over is that we use an elasticsearch index for persistance and that index might be missing.At the time of writing we are in the process of transitioning away from the operating assumption that the SavedObjects index is always available. Part of this transition is handling errors resulting from an index missing. These used to trigger a 500 error in most cases, and in others cause 404s with different error messages.From my (Spencer) perspective, a 404 from the SavedObjectsApi is a 404; The object the request/call was targeting could not be found. This is why \#14141 takes special care to ensure that 404 errors are generic and don't distinguish between index missing or document missing.See [SavedObjectsClient](./kibana-plugin-core-server.savedobjectsclient.md) See [SavedObjectsErrorHelpers](./kibana-plugin-core-server.savedobjectserrorhelpers.md) | +| [SavedObjectsClientContract](./kibana-plugin-core-server.savedobjectsclientcontract.md) | Saved Objects is Kibana's data persisentence mechanism allowing plugins to use Elasticsearch for storing plugin state.\#\# SavedObjectsClient errorsSince the SavedObjectsClient has its hands in everything we are a little paranoid about the way we present errors back to to application code. Ideally, all errors will be either:1. Caused by bad implementation (ie. undefined is not a function) and as such unpredictable 2. An error that has been classified and decorated appropriately by the decorators in [SavedObjectsErrorHelpers](./kibana-plugin-core-server.savedobjectserrorhelpers.md)Type 1 errors are inevitable, but since all expected/handle-able errors should be Type 2 the isXYZError() helpers exposed at SavedObjectsErrorHelpers should be used to understand and manage error responses from the SavedObjectsClient.Type 2 errors are decorated versions of the source error, so if the elasticsearch client threw an error it will be decorated based on its type. That means that rather than looking for error.body.error.type or doing substring checks on error.body.error.reason, just use the helpers to understand the meaning of the error:\`\`\`js if (SavedObjectsErrorHelpers.isNotFoundError(error)) { // handle 404 }if (SavedObjectsErrorHelpers.isNotAuthorizedError(error)) { // 401 handling should be automatic, but in case you wanted to know }// always rethrow the error unless you handle it throw error; \`\`\`\#\#\# 404s from missing indexFrom the perspective of application code and APIs the SavedObjectsClient is a black box that persists objects. One of the internal details that users have no control over is that we use an elasticsearch index for persistance and that index might be missing.At the time of writing we are in the process of transitioning away from the operating assumption that the SavedObjects index is always available. Part of this transition is handling errors resulting from an index missing. These used to trigger a 500 error in most cases, and in others cause 404s with different error messages.From my (Spencer) perspective, a 404 from the SavedObjectsApi is a 404; The object the request/call was targeting could not be found. This is why \#14141 takes special care to ensure that 404 errors are generic and don't distinguish between index missing or document missing.See [SavedObjectsClient](./kibana-plugin-core-server.savedobjectsclient.md) See [SavedObjectsErrorHelpers](./kibana-plugin-core-server.savedobjectserrorhelpers.md) | | [SavedObjectsClientFactory](./kibana-plugin-core-server.savedobjectsclientfactory.md) | Describes the factory used to create instances of the Saved Objects Client. | | [SavedObjectsClientFactoryProvider](./kibana-plugin-core-server.savedobjectsclientfactoryprovider.md) | Provider to invoke to retrieve a [SavedObjectsClientFactory](./kibana-plugin-core-server.savedobjectsclientfactory.md). | | [SavedObjectsClientWrapperFactory](./kibana-plugin-core-server.savedobjectsclientwrapperfactory.md) | Describes the factory used to create instances of Saved Objects Client Wrappers. | diff --git a/docs/development/core/server/kibana-plugin-core-server.savedobjectsclientcontract.md b/docs/development/core/server/kibana-plugin-core-server.savedobjectsclientcontract.md index 537cfbc175671..610356a733126 100644 --- a/docs/development/core/server/kibana-plugin-core-server.savedobjectsclientcontract.md +++ b/docs/development/core/server/kibana-plugin-core-server.savedobjectsclientcontract.md @@ -8,7 +8,7 @@ Saved Objects is Kibana's data persisentence mechanism allowing plugins to use E \#\# SavedObjectsClient errors -Since the SavedObjectsClient has its hands in everything we are a little paranoid about the way we present errors back to application code. Ideally, all errors will be either: +Since the SavedObjectsClient has its hands in everything we are a little paranoid about the way we present errors back to to application code. Ideally, all errors will be either: 1. Caused by bad implementation (ie. undefined is not a function) and as such unpredictable 2. An error that has been classified and decorated appropriately by the decorators in [SavedObjectsErrorHelpers](./kibana-plugin-core-server.savedobjectserrorhelpers.md) diff --git a/src/core/public/doc_links/doc_links_service.ts b/src/core/public/doc_links/doc_links_service.ts index 6c715c681e6e8..fa7ff3b2d4293 100644 --- a/src/core/public/doc_links/doc_links_service.ts +++ b/src/core/public/doc_links/doc_links_service.ts @@ -16,6 +16,7 @@ interface StartDeps { /** @internal */ export class DocLinksService { public setup() {} + public start({ injectedMetadata }: StartDeps): DocLinksStart { const DOC_LINK_VERSION = injectedMetadata.getKibanaBranch(); const ELASTIC_WEBSITE_URL = 'https://www.elastic.co/'; @@ -110,7 +111,7 @@ export class DocLinksService { runtimeFields: `${ELASTICSEARCH_DOCS}runtime.html`, scriptedFields: { scriptFields: `${ELASTICSEARCH_DOCS}search-request-script-fields.html`, - scriptAggs: `${ELASTICSEARCH_DOCS}search-aggregations.html#_values_source`, + scriptAggs: `${ELASTICSEARCH_DOCS}search-aggregations.html`, painless: `${ELASTICSEARCH_DOCS}modules-scripting-painless.html`, painlessApi: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/painless/${DOC_LINK_VERSION}/painless-api-reference.html`, painlessLangSpec: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/painless/${DOC_LINK_VERSION}/painless-lang-spec.html`, @@ -120,7 +121,6 @@ export class DocLinksService { luceneExpressions: `${ELASTICSEARCH_DOCS}modules-scripting-expression.html`, }, indexPatterns: { - loadingData: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/tutorial-load-dataset.html`, introduction: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/index-patterns.html`, fieldFormattersString: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/field-formatters-string.html`, }, @@ -201,10 +201,10 @@ export class DocLinksService { emailActionConfig: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/email-action-type.html#configuring-email`, generalSettings: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/alert-action-settings-kb.html#general-alert-action-settings`, indexAction: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/index-action-type.html`, - esQuery: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/alert-type-es-query.html`, - indexThreshold: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/alert-type-index-threshold.html#index-action-configuration`, + esQuery: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/rule-type-es-query.html`, + indexThreshold: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/rule-type-index-threshold.html`, pagerDutyAction: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/pagerduty-action-type.html`, - preconfiguredConnectors: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/pre-configured-action-types-and-connectors.html`, + preconfiguredConnectors: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/pre-configured-connectors.html`, serviceNowAction: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/servicenow-action-type.html#configuring-servicenow`, setupPrerequisites: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/alerting-getting-started.html#alerting-setup-prerequisites`, slackAction: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/slack-action-type.html#configuring-slack`, @@ -390,7 +390,6 @@ export interface DocLinksStart { readonly luceneExpressions: string; }; readonly indexPatterns: { - readonly loadingData: string; readonly introduction: string; }; readonly addData: string; diff --git a/src/core/public/public.api.md b/src/core/public/public.api.md index 4bab4ea54993b..bf25fcaa75acc 100644 --- a/src/core/public/public.api.md +++ b/src/core/public/public.api.md @@ -570,7 +570,6 @@ export interface DocLinksStart { readonly luceneExpressions: string; }; readonly indexPatterns: { - readonly loadingData: string; readonly introduction: string; }; readonly addData: string; diff --git a/src/dev/cli_dev_mode/get_server_watch_paths.test.ts b/src/dev/cli_dev_mode/get_server_watch_paths.test.ts index 7f84338b4efb8..ab113b96a5f03 100644 --- a/src/dev/cli_dev_mode/get_server_watch_paths.test.ts +++ b/src/dev/cli_dev_mode/get_server_watch_paths.test.ts @@ -28,7 +28,6 @@ it('produces the right watch and ignore list', () => { Array [ /src/core, /src/legacy/server, - /src/legacy/ui, /src/legacy/utils, /config, /x-pack/test/plugin_functional/plugins/resolver_test, diff --git a/src/dev/cli_dev_mode/get_server_watch_paths.ts b/src/dev/cli_dev_mode/get_server_watch_paths.ts index 4e00dd4ca98b9..46aa15659a513 100644 --- a/src/dev/cli_dev_mode/get_server_watch_paths.ts +++ b/src/dev/cli_dev_mode/get_server_watch_paths.ts @@ -41,7 +41,6 @@ export function getServerWatchPaths({ pluginPaths, pluginScanDirs }: Options) { [ fromRoot('src/core'), fromRoot('src/legacy/server'), - fromRoot('src/legacy/ui'), fromRoot('src/legacy/utils'), fromRoot('config'), ...pluginPaths, diff --git a/src/legacy/ui/public/documentation_links/documentation_links.ts b/src/legacy/ui/public/documentation_links/documentation_links.ts deleted file mode 100644 index 933812d29e9bb..0000000000000 --- a/src/legacy/ui/public/documentation_links/documentation_links.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -/* - WARNING: The links in this file are validated during the docs build. This is accomplished with some regex magic that - looks for these particular constants. As a result, we should not add new constants or change the existing ones. - If you absolutely must make a change, talk to Clinton Gormley first so he can update his Perl scripts. - */ -export const DOC_LINK_VERSION = 'stub'; -export const ELASTIC_WEBSITE_URL = 'stub'; - -export const documentationLinks = {}; From 631608e05ef61ffa2cbae0d2a151f3af8e4d7d19 Mon Sep 17 00:00:00 2001 From: James Rodewig <40268737+jrodewig@users.noreply.github.com> Date: Wed, 17 Mar 2021 17:09:34 -0400 Subject: [PATCH 18/50] [DOCS] Migrate ingest pipeline docs to ES reference (#94625) --- .../ingest-pipelines.asciidoc | 170 ------------------ docs/redirects.asciidoc | 5 + docs/user/management.asciidoc | 9 +- 3 files changed, 8 insertions(+), 176 deletions(-) delete mode 100644 docs/management/ingest-pipelines/ingest-pipelines.asciidoc diff --git a/docs/management/ingest-pipelines/ingest-pipelines.asciidoc b/docs/management/ingest-pipelines/ingest-pipelines.asciidoc deleted file mode 100644 index d9745bfef524a..0000000000000 --- a/docs/management/ingest-pipelines/ingest-pipelines.asciidoc +++ /dev/null @@ -1,170 +0,0 @@ -[role="xpack"] -[[ingest-node-pipelines]] -== Ingest Node Pipelines - -*Ingest Node Pipelines* enables you to create and manage {es} -pipelines that perform common transformations and -enrichments on your data. For example, you might remove a field, -rename an existing field, or set a new field. - -To begin, open the main menu, then click *Stack Management > Ingest Node Pipelines*. With *Ingest Node Pipelines*, you can: - -* View a list of your pipelines and drill down into details. -* Create a pipeline that defines a series of tasks, known as processors. -* Test a pipeline before feeding it with real data to ensure the pipeline works as expected. -* Delete a pipeline that is no longer needed. - -[role="screenshot"] -image:management/ingest-pipelines/images/ingest-pipeline-list.png["Ingest node pipeline list"] - -[float] -=== Required permissions - -The minimum required permissions to access *Ingest Node Pipelines* are -the `manage_pipeline` and `cluster:monitor/nodes/info` cluster privileges. - -To add privileges, open the main menu, then click *Stack Management > Roles*. - -[role="screenshot"] -image:management/ingest-pipelines/images/ingest-pipeline-privileges.png["Privileges required for Ingest Node Pipelines"] - -[float] -[[ingest-node-pipelines-manage]] -=== Manage pipelines - -From the list view, you can to drill down into the details of a pipeline. -To -edit, clone, or delete a pipeline, use the *Actions* menu. - -If you don’t have any pipelines, you can create one using the -*Create pipeline* form. You’ll define processors to transform documents -in a specific way. To handle exceptions, you can optionally define -failure processors to execute immediately after a failed processor. -Before creating the pipeline, you can verify it provides the expected output. - -[float] -[[ingest-node-pipelines-example]] -==== Example: Create a pipeline - -In this example, you’ll create a pipeline to handle server logs in the -Common Log Format. The log looks similar to this: - -[source,js] ----------------------------------- -212.87.37.154 - - [05/May/2020:16:21:15 +0000] \"GET /favicon.ico HTTP/1.1\" -200 3638 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) -AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36\" ----------------------------------- - -The log contains an IP address, timestamp, and user agent. You want to give -these three items their own field in {es} for fast search and visualization. -You also want to know where the request is coming from. - -. In *Ingest Node Pipelines*, click *Create a pipeline*. -. Provide a name and description for the pipeline. -. Add a grok processor to parse the log message: - -.. Click *Add a processor* and select the *Grok* processor type. -.. Set the field input to `message` and enter the following grok pattern: -+ -[source,js] ----------------------------------- -%{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] "%{WORD:verb} %{DATA:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response:int} (?:-|%{NUMBER:bytes:int}) %{QS:referrer} %{QS:agent} ----------------------------------- -+ -.. Click *Update* to save the processor. - -. Add processors to map the date, IP, and user agent fields. - -.. Map the appropriate field to each processor type: -+ --- -* **Date**: `timestamp` -* **GeoIP**: `clientip` -* **User agent**: `agent` - -For the **Date** processor, you also need to specify the date format you want to use: `dd/MMM/YYYY:HH:mm:ss Z`. --- -Your form should look similar to this: -+ -[role="screenshot"] -image:management/ingest-pipelines/images/ingest-pipeline-processor.png["Processors for Ingest Node Pipelines"] -+ -Alternatively, you can click the **Import processors** link and define the processors as JSON: -+ -[source,js] ----------------------------------- -{ - "processors": [ - { - "grok": { - "field": "message", - "patterns": ["%{IPORHOST:clientip} %{USER:ident} %{USER:auth} \\[%{HTTPDATE:timestamp}\\] \"%{WORD:verb} %{DATA:request} HTTP/%{NUMBER:httpversion}\" %{NUMBER:response:int} (?:-|%{NUMBER:bytes:int}) %{QS:referrer} %{QS:agent}"] - } - }, - { - "date": { - "field": "timestamp", - "formats": [ "dd/MMM/YYYY:HH:mm:ss Z" ] - } - }, - { - "geoip": { - "field": "clientip" - } - }, - { - "user_agent": { - "field": "agent" - } - } - ] -} ----------------------------------- -+ -The four {ref}/ingest-processors.html[processors] will run sequentially: -{ref}/grok-processor.html[grok], {ref}/date-processor.html[date], -{ref}/geoip-processor.html[geoip], and {ref}/user-agent-processor.html[user_agent]. You can reorder processors using the arrow icon next to each processor. - -. To test the pipeline to verify that it produces the expected results, click *Add documents*. - -. In the *Documents* tab, provide a sample document for testing: -+ -[source,js] ----------------------------------- -[ - { - "_source": { - "message": "212.87.37.154 - - [05/May/2020:16:21:15 +0000] \"GET /favicon.ico HTTP/1.1\" 200 3638 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36\"" - } - } -] ----------------------------------- - -. Click *Run the pipeline* and check if the pipeline worked as expected. -+ -You can also -view the verbose output and refresh the output from this view. - -. If everything looks correct, close the panel, and then click *Create pipeline*. -+ -At this point, you’re ready to use the Elasticsearch index API to load -the logs data. - -. In the Kibana Console, index a document with the pipeline -you created. -+ -[source,js] ----------------------------------- -PUT my-index/_doc/1?pipeline=access_logs -{ - "message": "212.87.37.154 - - [05/May/2020:16:21:15 +0000] \"GET /favicon.ico HTTP/1.1\" 200 3638 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36\"" -} ----------------------------------- - -. To verify, run: -+ -[source,js] ----------------------------------- -GET my-index/_doc/1 ----------------------------------- diff --git a/docs/redirects.asciidoc b/docs/redirects.asciidoc index c7bdff800bb0b..a2ab1c10d9cd5 100644 --- a/docs/redirects.asciidoc +++ b/docs/redirects.asciidoc @@ -280,3 +280,8 @@ This content has moved. Refer to <>. [role="exclude",id="explore-dashboard-data"] This content has moved. Refer to <>. + +[role="exclude",id="ingest-node-pipelines"] +== Ingest Node Pipelines + +This content has moved. See {ref}/ingest.html[Ingest pipelines]. diff --git a/docs/user/management.asciidoc b/docs/user/management.asciidoc index f29718e6d588b..5644cdbfc45ec 100644 --- a/docs/user/management.asciidoc +++ b/docs/user/management.asciidoc @@ -17,10 +17,9 @@ Consult your administrator if you do not have the appropriate access. [cols="50, 50"] |=== -| <> -| Create and manage {es} -pipelines that enable you to perform common transformations and -enrichments on your data. +| {ref}/ingest.html[Ingest Node Pipelines] +| Create and manage ingest pipelines that let you perform common transformations +and enrichments on your data. | {logstash-ref}/logstash-centralized-pipeline-management.html[Logstash Pipelines] | Create, edit, and delete your Logstash pipeline configurations. @@ -187,8 +186,6 @@ include::{kib-repo-dir}/management/alerting/connector-management.asciidoc[] include::{kib-repo-dir}/management/managing-beats.asciidoc[] -include::{kib-repo-dir}/management/ingest-pipelines/ingest-pipelines.asciidoc[] - include::{kib-repo-dir}/management/managing-fields.asciidoc[] include::{kib-repo-dir}/management/managing-licenses.asciidoc[] From 3ec9a17e2eec74d91f1dc6406466dd609152324c Mon Sep 17 00:00:00 2001 From: spalger Date: Wed, 17 Mar 2021 14:16:12 -0700 Subject: [PATCH 19/50] skip failing suite (#94854) --- .../apps/ml/data_frame_analytics/outlier_detection_creation.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts b/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts index 8ce85c58ec1fb..0a00bb3cd757f 100644 --- a/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts +++ b/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts @@ -12,7 +12,8 @@ export default function ({ getService }: FtrProviderContext) { const ml = getService('ml'); const editedDescription = 'Edited description'; - describe('outlier detection creation', function () { + // FAILING: https://github.com/elastic/kibana/issues/94854 + describe.skip('outlier detection creation', function () { before(async () => { await esArchiver.loadIfNeeded('ml/ihp_outlier'); await ml.testResources.createIndexPatternIfNeeded('ft_ihp_outlier', '@timestamp'); From 74b604608aca8ef15db8c99f09c786ece51c63f1 Mon Sep 17 00:00:00 2001 From: Scotty Bollinger Date: Wed, 17 Mar 2021 17:22:59 -0500 Subject: [PATCH 20/50] [Workplace Search] Add conditional props for Gmail (#94855) THis PR adds conditional query params that gmail sends when doing an oauth redirect. --- .../server/routes/workplace_search/sources.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts b/x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts index b56c5880dba43..6638aa82b32ad 100644 --- a/x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts +++ b/x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts @@ -859,6 +859,10 @@ export function registerOauthConnectorParamsRoute({ kibana_host: schema.string(), code: schema.maybe(schema.string()), session_state: schema.maybe(schema.string()), + authuser: schema.maybe(schema.string()), + prompt: schema.maybe(schema.string()), + hd: schema.maybe(schema.string()), + scope: schema.maybe(schema.string()), state: schema.string(), oauth_token: schema.maybe(schema.string()), oauth_verifier: schema.maybe(schema.string()), From 1b65ea91e5993aa3e990493a0ac6dfb90c13dbbb Mon Sep 17 00:00:00 2001 From: Vadim Yakhin Date: Wed, 17 Mar 2021 19:26:50 -0300 Subject: [PATCH 21/50] Remove custom styles (#94839) * Replace custom margin style with EuiFlexGroup gutter * Replace custom padding style with EuiFlexGroup gutter * Remove custom wrapper around Loading on Overview page (alpha) * Replace custom range value output with EuiRange's showInput prop * Remove custom style I'll refer the correct handling of this to design pass * Remove "euiPanel--inset" className, as it doesn't do anything in Amsterdam theme * Remove unused className `euiPanel--noShadow` We're already using hasShadow={false} prop that does the same * Remove `euiPanel--outline` className, as it doesn't do anything in Amsterdam theme * Inline classNames declaration with the goal to remove them later They don't do anything in Amsterdam theme, but I'm not removing them to keep context for design pass. * Remove `eui-textNoWrap` className from buttons, as it's already included in button styles * Remove classNames with no styles attached * Replace custom padding in content_section with EuiSpacer * Remove source-row styles Most of the classNames were redundant and not needed anymore. The ones that were actually used were either replaced with EUI props or deleted, so we could apply EUI styles during design pass. * Replace source_icon styles with EUI components and props * Replace source-card icon styles with EUI prop * Remove className declarations with no styles attached to classes * Fix tests * Increase space between source overview panels * Use smaller icons on source prioritization and connectors pages * Invert SourceIcon default size and size provided via props The default size was "xxl", now it's "m". "m" size is default in EUI, so it's more consistent. * Get rid of   as horizontal spacer --- .../layout/kibana_header_actions.tsx | 32 ++++++------- .../content_section/content_section.scss | 10 ---- .../content_section/content_section.test.tsx | 4 +- .../content_section/content_section.tsx | 5 +- .../license_callout/license_callout.tsx | 11 ++--- .../shared/source_icon/source_icon.scss | 22 --------- .../shared/source_icon/source_icon.test.tsx | 8 +--- .../shared/source_icon/source_icon.tsx | 24 ++-------- .../shared/source_row/source_row.scss | 15 ------ .../shared/source_row/source_row.test.tsx | 2 +- .../shared/source_row/source_row.tsx | 32 ++----------- .../shared/sources_table/sources_table.tsx | 2 +- .../add_source/add_source_header.tsx | 9 +++- .../components/add_source/add_source_list.tsx | 2 +- .../add_source/available_sources_list.tsx | 10 +--- .../add_source/config_completed.tsx | 6 +-- .../add_source/configuration_intro.tsx | 4 +- .../add_source/configure_custom.tsx | 4 +- .../components/add_source/configure_oauth.tsx | 4 +- .../add_source/configured_sources_list.tsx | 8 +--- .../add_source/connect_instance.tsx | 46 +++++++++---------- .../components/add_source/re_authenticate.tsx | 4 +- .../components/add_source/save_custom.tsx | 4 +- .../components/add_source/source_features.tsx | 7 +-- .../display_settings/display_settings.tsx | 2 +- .../content_sources/components/overview.tsx | 38 ++++++--------- .../components/schema/schema.tsx | 2 +- .../components/source_content.tsx | 2 +- .../components/source_info_card.tsx | 11 ++--- .../views/content_sources/sources.scss | 5 -- .../views/content_sources/sources_view.tsx | 2 +- .../group_source_prioritization.tsx | 18 +++----- .../views/groups/components/group_sources.tsx | 12 +++-- .../groups/components/group_users_table.tsx | 2 +- .../views/groups/components/groups_table.tsx | 2 +- .../groups/components/source_option_item.tsx | 2 +- .../views/overview/overview.tsx | 7 +-- .../views/role_mappings/role_mapping.tsx | 2 +- .../components/private_sources_table.tsx | 13 +++--- .../views/security/security.tsx | 12 +++-- .../views/settings/components/connectors.tsx | 19 ++++---- .../settings/components/oauth_application.tsx | 7 +-- 42 files changed, 143 insertions(+), 290 deletions(-) delete mode 100644 x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/content_section/content_section.scss delete mode 100644 x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_icon/source_icon.scss delete mode 100644 x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_row/source_row.scss diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/layout/kibana_header_actions.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/layout/kibana_header_actions.tsx index c79865d25ecd7..95d7920ae0435 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/layout/kibana_header_actions.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/layout/kibana_header_actions.tsx @@ -7,7 +7,7 @@ import React from 'react'; -import { EuiButtonEmpty, EuiText } from '@elastic/eui'; +import { EuiButtonEmpty, EuiText, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { externalUrl, getWorkplaceSearchUrl } from '../../../shared/enterprise_search_url'; import { NAV } from '../../constants'; @@ -16,23 +16,17 @@ export const WorkplaceSearchHeaderActions: React.FC = () => { if (!externalUrl.enterpriseSearchUrl) return null; return ( - <> - - {NAV.PERSONAL_DASHBOARD} - - - {NAV.SEARCH} - - + + + + {NAV.PERSONAL_DASHBOARD} + + + + + {NAV.SEARCH} + + + ); }; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/content_section/content_section.scss b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/content_section/content_section.scss deleted file mode 100644 index 4d7b53e1b000e..0000000000000 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/content_section/content_section.scss +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -.content-section { - padding-bottom: 44px; -} diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/content_section/content_section.test.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/content_section/content_section.test.tsx index 21280926d7aae..d9c2d70e78c08 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/content_section/content_section.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/content_section/content_section.test.tsx @@ -25,7 +25,7 @@ describe('ContentSection', () => { const wrapper = shallow(); expect(wrapper.prop('data-test-subj')).toEqual('contentSection'); - expect(wrapper.prop('className')).toEqual('test content-section'); + expect(wrapper.prop('className')).toEqual('test'); expect(wrapper.find('.children')).toHaveLength(1); }); @@ -48,7 +48,7 @@ describe('ContentSection', () => { ); expect(wrapper.find(EuiSpacer).first().prop('size')).toEqual('s'); - expect(wrapper.find(EuiSpacer)).toHaveLength(1); + expect(wrapper.find(EuiSpacer)).toHaveLength(2); expect(wrapper.find('.header')).toHaveLength(1); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/content_section/content_section.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/content_section/content_section.tsx index e606263ac6f1c..d9a4ed7eee8b8 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/content_section/content_section.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/content_section/content_section.tsx @@ -12,8 +12,6 @@ import { EuiSpacer } from '@elastic/eui'; import { SpacerSizeTypes } from '../../../types'; import { ViewContentHeader } from '../view_content_header'; -import './content_section.scss'; - interface ContentSectionProps { children: React.ReactNode; className?: string; @@ -35,7 +33,7 @@ export const ContentSection: React.FC = ({ headerSpacer, testSubj, }) => ( -
    +
    {title && ( <> @@ -44,5 +42,6 @@ export const ContentSection: React.FC = ({ )} {children} +
    ); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/license_callout/license_callout.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/license_callout/license_callout.tsx index f0e21803a4f58..f278cda96ae83 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/license_callout/license_callout.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/license_callout/license_callout.tsx @@ -19,22 +19,17 @@ export const LicenseCallout: React.FC = ({ message }) => { const title = ( <> {message}{' '} - + Explore Platinum features ); return ( -
    +
    -
    +
    diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_icon/source_icon.scss b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_icon/source_icon.scss deleted file mode 100644 index 551d95c3f24b4..0000000000000 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_icon/source_icon.scss +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -.wrapped-icon { - width: 30px; - height: 30px; - overflow: hidden; - margin-right: 4px; - position: relative; - display: flex; - justify-content: center; - align-items: center; - - img { - max-width: 100%; - max-height: 100%; - } -} diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_icon/source_icon.test.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_icon/source_icon.test.tsx index ee079970a5ebb..4d980ca2f5313 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_icon/source_icon.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_icon/source_icon.test.tsx @@ -14,16 +14,10 @@ import { EuiIcon } from '@elastic/eui'; import { SourceIcon } from './'; describe('SourceIcon', () => { - it('renders unwrapped icon', () => { + it('renders', () => { const wrapper = shallow(); expect(wrapper.find(EuiIcon)).toHaveLength(1); expect(wrapper.find('.user-group-source')).toHaveLength(0); }); - - it('renders wrapped icon', () => { - const wrapper = shallow(); - - expect(wrapper.find('.wrapped-icon')).toHaveLength(1); - }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_icon/source_icon.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_icon/source_icon.tsx index 1d1462542a3f6..34d6c2401b300 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_icon/source_icon.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_icon/source_icon.tsx @@ -11,33 +11,15 @@ import { camelCase } from 'lodash'; import { EuiIcon, IconSize } from '@elastic/eui'; -import './source_icon.scss'; - import { images } from '../assets/source_icons'; interface SourceIconProps { serviceType: string; name: string; className?: string; - wrapped?: boolean; size?: IconSize; } -export const SourceIcon: React.FC = ({ - name, - serviceType, - className, - wrapped, - size = 'xxl', -}) => { - const icon = ( - - ); - return wrapped ? ( -
    - {icon} -
    - ) : ( - <>{icon} - ); -}; +export const SourceIcon: React.FC = ({ name, serviceType, className, size }) => ( + +); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_row/source_row.scss b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_row/source_row.scss deleted file mode 100644 index fb8a47d134269..0000000000000 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_row/source_row.scss +++ /dev/null @@ -1,15 +0,0 @@ -.source-row { - &__icon { - width: 24px; - height: 24px; - } - - &__name { - font-weight: 500; - } - - &__actions a { - opacity: 1.0; - pointer-events: auto; - } -} diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_row/source_row.test.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_row/source_row.test.tsx index 9661471bb1dd7..b3ce0a01d5dd4 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_row/source_row.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_row/source_row.test.tsx @@ -73,7 +73,7 @@ describe('SourceRow', () => { }; const wrapper = shallow(); - expect(wrapper.find('.source-row__document-count').contains('Remote')).toBeTruthy(); + expect(wrapper.find('[data-test-subj="SourceDocumentCount"]').contains('Remote')).toBeTruthy(); }); it('renders details link', () => { diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_row/source_row.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_row/source_row.tsx index a6b2878de6449..38d7945ca1753 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_row/source_row.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/source_row/source_row.tsx @@ -7,7 +7,6 @@ import React from 'react'; -import classNames from 'classnames'; // Prefer importing entire lodash library, e.g. import { get } from "lodash" // eslint-disable-next-line no-restricted-imports import _kebabCase from 'lodash/kebabCase'; @@ -35,8 +34,6 @@ import { import { ContentSourceDetails } from '../../../types'; import { SourceIcon } from '../source_icon'; -import './source_row.scss'; - const CREDENTIALS_INVALID_ERROR_REASON = 1; export interface ISourceRow { @@ -72,15 +69,6 @@ export const SourceRow: React.FC = ({ const showFix = isOrganization && hasError && allowsReauth && errorReason === CREDENTIALS_INVALID_ERROR_REASON; - const rowClass = classNames( - 'source-row', - { 'content-section--disabled': !searchable }, - { 'source-row source-row--error': hasError } - ); - - // eslint-disable-next-line @typescript-eslint/naming-convention - const imageClass = classNames('source-row__icon', { 'source-row__icon--loading': isIndexing }); - const fixLink = ( = ({ ); return ( - + = ({ responsive={false} > - - - - {name} + + {name} @@ -138,17 +120,13 @@ export const SourceRow: React.FC = ({ )} - + {statusMessage} - + {isFederatedSource ? remoteTooltip : parseInt(documentCount, 10).toLocaleString('en-US')} {onSearchableToggle && ( diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/sources_table/sources_table.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/sources_table/sources_table.tsx index 66e7e2e752a1e..9bc3d6ec2f1f4 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/sources_table/sources_table.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/sources_table/sources_table.tsx @@ -27,7 +27,7 @@ export const SourcesTable: React.FC = ({ if (onSearchableToggle) headerItems.push('Searchable'); return ( - + {sources.map((source) => ( diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/add_source_header.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/add_source_header.tsx index 2ecb3c98565b7..a4910f3a68ea2 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/add_source_header.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/add_source_header.tsx @@ -34,11 +34,16 @@ export const AddSourceHeader: React.FC = ({ responsive={false} > - + -

    +

    {name}

    diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/add_source_list.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/add_source_list.tsx index 372187485f277..8819367cacd1f 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/add_source_list.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/add_source_list.tsx @@ -126,7 +126,7 @@ export const AddSourceList: React.FC = () => { - + = ({ sour title={name} description={<>} isDisabled={disabled} - icon={ - - } + icon={} /> ); @@ -79,7 +73,7 @@ export const AvailableSourcesList: React.FC = ({ sour }; const visibleSources = ( - + {sources.map((source, i) => ( {getSourceCard(source)} diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/config_completed.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/config_completed.tsx index 1d4f1f2fca980..8edef425f414c 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/config_completed.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/config_completed.tsx @@ -48,7 +48,7 @@ export const ConfigCompleted: React.FC = ({ header, privateSourcesEnabled, }) => ( -
    + <> {header} = ({ to={getSourcesPath(ADD_SOURCE_PATH, true)} fill={accountContextOnly} color={accountContextOnly ? 'primary' : undefined} - className="eui-textNoWrap" > {CONFIG_COMPLETED_CONFIGURE_NEW_BUTTON} @@ -148,7 +147,6 @@ export const ConfigCompleted: React.FC = ({ = ({ )} -
    + ); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configuration_intro.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configuration_intro.tsx index 917886d69bd19..8a1cdf0b84274 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configuration_intro.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configuration_intro.tsx @@ -43,7 +43,7 @@ export const ConfigurationIntro: React.FC = ({ advanceStep, header, }) => ( -
    + <> {header} = ({ -
    + ); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configure_custom.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configure_custom.tsx index 901c4fc3e707b..b142ddcf4937e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configure_custom.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configure_custom.tsx @@ -48,7 +48,7 @@ export const ConfigureCustom: React.FC = ({ setCustomSourceNameValue(e.target.value); return ( -
    + <> {header}
    @@ -93,6 +93,6 @@ export const ConfigureCustom: React.FC = ({ -
    + ); }; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configure_oauth.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configure_oauth.tsx index 69a2fbd1495c7..ba92e5d790245 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configure_oauth.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configure_oauth.tsx @@ -99,9 +99,9 @@ export const ConfigureOauth: React.FC = ({ name, onFormCrea ); return ( -
    + <> {header} {sectionLoading ? : configfieldsForm} -
    + ); }; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configured_sources_list.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configured_sources_list.tsx index 5f64913410d4c..ac19043a30ca6 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configured_sources_list.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/configured_sources_list.tsx @@ -79,16 +79,12 @@ export const ConfiguredSourcesList: React.FC = ({ responsive={false} > - +

    - {name}  + {name} {!connected && !accountContextOnly && isOrganization && diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/connect_instance.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/connect_instance.tsx index 2290a65912797..a34641784b162 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/connect_instance.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/connect_instance.tsx @@ -263,30 +263,28 @@ export const ConnectInstance: React.FC = ({ ); return ( -
    -
    - - - - - {header} - - - - - + + + + + + {header} - - {formFields} - - - -
    + + + + + + + {formFields} + + + ); }; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/re_authenticate.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/re_authenticate.tsx index 61682dbb87d58..f57118b952eac 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/re_authenticate.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/re_authenticate.tsx @@ -49,7 +49,7 @@ export const ReAuthenticate: React.FC = ({ name, header }) }; return ( -
    + <> {header}
    @@ -86,6 +86,6 @@ export const ReAuthenticate: React.FC = ({ name, header }) -
    + ); }; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/save_custom.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/save_custom.tsx index 5aae4b352a1fb..1bf8239a6b399 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/save_custom.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/save_custom.tsx @@ -60,7 +60,7 @@ export const SaveCustom: React.FC = ({ isOrganization, header, }) => ( -
    + <> {header} @@ -205,5 +205,5 @@ export const SaveCustom: React.FC = ({ -
    + ); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/source_features.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/source_features.tsx index aab16c9114e8a..ad16260b1de7c 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/source_features.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/source_features.tsx @@ -187,12 +187,7 @@ export const SourceFeatures: React.FC = ({ features, objTy {includedFeatures.map((featureId, i) => ( - + diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings.tsx index 681c7a21463c1..e39a8d17e406c 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings.tsx @@ -125,7 +125,7 @@ export const DisplaySettings: React.FC = ({ tabId }) => { onTabClick={onSelectedTabChanged} /> ) : ( - + {DISPLAY_SETTINGS_EMPTY_TITLE}

    } diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/overview.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/overview.tsx index 786184943e317..dc925e21460da 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/overview.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/overview.tsx @@ -116,7 +116,7 @@ export const Overview: React.FC = () => { const emptyState = ( <> - + {SOURCES_NO_CONTENT_TITLE}
    } iconType="documents" @@ -127,12 +127,10 @@ export const Overview: React.FC = () => { ); return ( -
    -
    - -

    {CONTENT_SUMMARY_TITLE}

    -
    -
    + <> + +

    {CONTENT_SUMMARY_TITLE}

    +
    {!summary && } {!!summary && @@ -157,7 +155,7 @@ export const Overview: React.FC = () => { ))} -
    + ); }; @@ -165,7 +163,7 @@ export const Overview: React.FC = () => { const emptyState = ( <> - + {EMPTY_ACTIVITY_TITLE}} iconType="clock" @@ -213,15 +211,13 @@ export const Overview: React.FC = () => { ); return ( -
    -
    - -

    {RECENT_ACTIVITY_TITLE}

    -
    -
    + <> + +

    {RECENT_ACTIVITY_TITLE}

    +
    {activities.length === 0 ? emptyState : activitiesTable} -
    + ); }; @@ -234,11 +230,7 @@ export const Overview: React.FC = () => { {groups.map((group, index) => ( - + {group.name} @@ -306,7 +298,7 @@ export const Overview: React.FC = () => {

    {DOCUMENT_PERMISSIONS_TITLE}

    - + @@ -455,7 +447,7 @@ export const Overview: React.FC = () => { - + diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/schema/schema.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/schema/schema.tsx index 77d1002a9ad26..f31f7049ebf36 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/schema/schema.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/schema/schema.tsx @@ -140,7 +140,7 @@ export const Schema: React.FC = () => { ) : ( - + {SCHEMA_EMPTY_SCHEMA_TITLE}} diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/source_content.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/source_content.tsx index 1a6d97bbf75ba..cc086f9c829d9 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/source_content.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/source_content.tsx @@ -106,7 +106,7 @@ export const SourceContent: React.FC = () => { const isCustomSource = serviceType === CUSTOM_SERVICE_TYPE; const emptyState = ( - + {emptyMessage}} iconType="documents" diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/source_info_card.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/source_info_card.tsx index 25c78afbe4e05..1c3c44887946a 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/source_info_card.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/source_info_card.tsx @@ -35,18 +35,13 @@ export const SourceInfoCard: React.FC = ({ }) => ( - + - + -
    {sourceName}
    +
    {sourceName}
    diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources.scss b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources.scss index 437b8010d6891..f142567fb621f 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources.scss +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources.scss @@ -10,11 +10,6 @@ .source-card-configured { padding: 8px; - &__icon { - width: 2em; - height: 2em; - } - &__not-connected-tooltip { position: relative; top: 3px; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources_view.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources_view.tsx index 247df5556ada0..1ef44a5f26ae0 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources_view.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources_view.tsx @@ -62,7 +62,7 @@ export const SourcesView: React.FC = ({ children }) => { gutterSize="s" > - + {i18n.translate('xpack.enterpriseSearch.workplaceSearch.sourcesView.modal.heading', { diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/group_source_prioritization.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/group_source_prioritization.tsx index df7435bd25461..bee8b4e632a64 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/group_source_prioritization.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/group_source_prioritization.tsx @@ -106,7 +106,7 @@ export const GroupSourcePrioritization: React.FC = () => { const hasSources = contentSources.length > 0; const zeroState = ( - + { ); const sourceTable = ( - + {SOURCE_TABLE_HEADER} {PRIORITY_TABLE_HEADER} @@ -143,14 +143,12 @@ export const GroupSourcePrioritization: React.FC = () => { - - - - {name} + + {name} - + { min={1} max={10} step={1} + showInput value={activeSourcePriorities[id]} onChange={(e: ChangeEvent | MouseEvent) => handleSliderChange(id, e) } /> - -
    - {activeSourcePriorities[id]} -
    -
    diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/group_sources.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/group_sources.tsx index 97739e46caba4..26d56c7435d00 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/group_sources.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/group_sources.tsx @@ -7,6 +7,8 @@ import React, { useState } from 'react'; +import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; + import { SourceIcon } from '../../../components/shared/source_icon'; import { MAX_TABLE_ROW_ICONS } from '../../../constants'; import { ContentSource } from '../../../types'; @@ -26,9 +28,13 @@ export const GroupSources: React.FC = ({ groupSources }) => { return ( <> - {visibleSources.map((source, index) => ( - - ))} + + {visibleSources.map((source, index) => ( + + + + ))} + {hiddenSources.length > 0 && ( { return ( <> - + {users.slice(firstItem, lastItem + 1).map((user: User) => ( diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/groups_table.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/groups_table.tsx index 95292116cba05..deaf223afa6b3 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/groups_table.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/groups_table.tsx @@ -75,7 +75,7 @@ export const GroupsTable: React.FC<{}> = () => { <> {showPagination ? : clearFiltersLink} - + {GROUP_TABLE_HEADER} {SOURCES_TABLE_HEADER} diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/source_option_item.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/source_option_item.tsx index e2da597a83598..7983b3a13f4cd 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/source_option_item.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/source_option_item.tsx @@ -22,7 +22,7 @@ interface SourceOptionItemProps { export const SourceOptionItem: React.FC = ({ source }) => ( - + diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/overview/overview.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/overview/overview.tsx index 0f8f4b6def46c..9242bd8b6fbdd 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/overview/overview.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/overview/overview.tsx @@ -54,13 +54,8 @@ export const Overview: React.FC = () => { initializeOverview(); }, [initializeOverview]); - // TODO: Remove div wrapper once the Overview page is using the full Layout if (dataLoading) { - return ( -
    - -
    - ); + return ; } const hideOnboarding = hasUsers && hasOrgSources && isOldAccount && orgName !== defaultOrgName; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mapping.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mapping.tsx index 4658379cd40c7..cf402f4525f9e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mapping.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mapping.tsx @@ -163,7 +163,7 @@ export const RoleMapping: React.FC = ({ isNew }) => {

    {GROUP_ASSIGNMENT_TITLE}

    -
    +
    = ({ const panelDisabled = !isEnabled || !hasPlatinumLicense; const sectionDisabled = !sectionEnabled; - const panelClass = classNames('euiPanel--outline euiPanel--noShadow', { - 'euiPanel--disabled': panelDisabled, - }); - const tableClass = classNames({ 'euiTable--disabled': sectionDisabled }); const emptyState = ( <> - + {isRemote ? REMOTE_SOURCES_EMPTY_TABLE_TITLE : STANDARD_SOURCES_EMPTY_TABLE_TITLE} @@ -175,7 +171,12 @@ export const PrivateSourcesTable: React.FC = ({ ); return ( - + {sectionHeading} {hasSources && sourcesTable} diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/security/security.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/security/security.tsx index 669015794baef..1248d9caf7e7d 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/security/security.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/security/security.tsx @@ -74,10 +74,6 @@ export const Security: React.FC = () => { if (dataLoading) return ; - const panelClass = classNames('euiPanel--noShadow', { - 'euiPanel--disabled': !hasPlatinumLicense, - }); - const savePrivateSources = () => { saveSourceRestrictions(); hideConfirmModal(); @@ -116,7 +112,13 @@ export const Security: React.FC = () => { ); const allSourcesToggle = ( - + { - + - - - {name} -    - {accountContextOnly && {PRIVATE_SOURCE}} - + + + {name} + + {accountContextOnly && {PRIVATE_SOURCE}} + + diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/components/oauth_application.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/components/oauth_application.tsx index 3f2e55d23722c..929508bdf7b23 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/components/oauth_application.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/components/oauth_application.tsx @@ -92,12 +92,7 @@ export const OauthApplication: React.FC = () => { }; const licenseModal = ( - + From 28942df094988e0e643a033a026e3c319b29aeed Mon Sep 17 00:00:00 2001 From: "Christiane (Tina) Heiligers" Date: Wed, 17 Mar 2021 16:49:59 -0700 Subject: [PATCH 22/50] [core.logging] Deprecates legacy logging dest, json, verbosity and rotate configurations (#94238) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- docs/migration/migrate_8_0.asciidoc | 150 ++++++++++++++ packages/kbn-config/src/env.ts | 5 +- packages/kbn-legacy-logging/src/schema.ts | 9 +- src/cli/serve/serve.js | 25 ++- .../deprecation/core_deprecations.test.ts | 186 ++++++++++++++++-- .../config/deprecation/core_deprecations.ts | 114 ++++++++++- .../config_deprecation.test.ts | 9 +- src/core/server/logging/README.mdx | 21 +- src/core/test_helpers/kbn_server.ts | 1 - src/legacy/server/kbn_server.d.ts | 1 - src/legacy/server/kbn_server.js | 16 +- src/legacy/server/logging/index.js | 6 +- 12 files changed, 481 insertions(+), 62 deletions(-) diff --git a/docs/migration/migrate_8_0.asciidoc b/docs/migration/migrate_8_0.asciidoc index 935a433b39696..52d1d63ce0653 100644 --- a/docs/migration/migrate_8_0.asciidoc +++ b/docs/migration/migrate_8_0.asciidoc @@ -80,6 +80,156 @@ logging: ------------------- See https://github.com/elastic/kibana/pull/87939 for more details. +[float] +==== Logging destination is specified by the appender +*Details:* Previously log destination would be `stdout` and could be changed to `file` using `logging.dest`. + +*Impact:* To restore the previous behavior, in `kibana.yml` use the `console` appender to send logs to `stdout`. +[source,yaml] +------------------- +logging: + root: + appenders: [default, console] +------------------- + +To send logs to `file` with a given file path, you should define a custom appender with `type:file`: +[source,yaml] +------------------- +logging: + appenders: + file: + type: file + fileName: /var/log/kibana.log + layout: + type: pattern + root: + appenders: [default, file] +------------------- + +[float] +==== Specify log event output with root +*Details:* Previously logging output would be specified by `logging.silent` (none), 'logging.quiet' (error messages only) and `logging.verbose` (all). + +*Impact:* To restore the previous behavior, in `kibana.yml` specify `logging.root.level` as one of `off`, `error`, `all`: +[source,yaml] +------------------- +# suppress all logs +logging: + root: + appenders: [default] + level: off +------------------- + +[source,yaml] +------------------- +# only log error messages +logging: + root: + appenders: [default] + level: error +------------------- + +[source,yaml] +------------------- +# log all events +logging: + root: + appenders: [default] + level: all +------------------- + +[float] +==== Suppress all log output with root +*Details:* Previously all logging output would be suppressed if `logging.silent` was true. + +*Impact:* To restore the previous behavior, in `kibana.yml` turn `logging.root.level` to 'off'. +[source,yaml] +------------------- +logging: + root: + appenders: [default] + level: off +------------------- + +[float] +==== Suppress log output with root +*Details:* Previously all logging output other than error messages would be suppressed if `logging.quiet` was true. + +*Impact:* To restore the previous behavior, in `kibana.yml` turn `logging.root.level` to 'error'. +[source,yaml] +------------------- +logging: + root: + appenders: [default] + level: error +------------------- + +[float] +==== Log all output with root +*Details:* Previously all events would be logged if `logging.verbose` was true. + +*Impact:* To restore the previous behavior, in `kibana.yml` turn `logging.root.level` to 'all'. +[source,yaml] +------------------- +logging: + root: + appenders: [default] + level: all +------------------- + +[float] +==== Declare log message format for each custom appender +*Details:* Previously all events would be logged in `json` format when `logging.json` was true. + +*Impact:* To restore the previous behavior, in `kibana.yml` configure the logging format for each custom appender with the `appender.layout` property. There is no default for custom appenders and each one must be configured expilictly. + +[source,yaml] +------------------- +logging: + appenders: + custom_console: + type: console + layout: + type: pattern + custom_json: + type: console + layout: + type: json + loggers: + - name: plugins.myPlugin + appenders: [custom_console] + root: + appenders: [default, custom_json] + level: warn +------------------- + +[float] +==== Configure log rotation with the rolling-file appender +*Details:* Previously log rotation would be enabled when `logging.rotate.enabled` was true. + +*Impact:* To restore the previous behavior, in `kibana.yml` use the `rolling-file` appender. + +[source,yaml] +------------------- +logging: + appenders: + rolling-file: + type: rolling-file + fileName: /var/logs/kibana.log + policy: + type: size-limit + size: 50mb + strategy: + type: numeric + pattern: '-%i' + max: 2 + layout: + type: pattern + loggers: + - name: plugins.myPlugin + appenders: [rolling-file] +------------------- + [float] ==== `xpack.security.authProviders` is no longer valid *Details:* The deprecated `xpack.security.authProviders` setting in the `kibana.yml` file has been removed. diff --git a/packages/kbn-config/src/env.ts b/packages/kbn-config/src/env.ts index 8526cfc7691ef..b6ff5e3b5aab2 100644 --- a/packages/kbn-config/src/env.ts +++ b/packages/kbn-config/src/env.ts @@ -22,8 +22,9 @@ export interface EnvOptions { export interface CliArgs { dev: boolean; envName?: string; - quiet: boolean; - silent: boolean; + /** @deprecated */ + quiet?: boolean; + silent?: boolean; watch: boolean; basePath: boolean; oss: boolean; diff --git a/packages/kbn-legacy-logging/src/schema.ts b/packages/kbn-legacy-logging/src/schema.ts index 2c5271157fb72..76d7381ee8728 100644 --- a/packages/kbn-legacy-logging/src/schema.ts +++ b/packages/kbn-legacy-logging/src/schema.ts @@ -11,7 +11,12 @@ import Joi from 'joi'; const HANDLED_IN_KIBANA_PLATFORM = Joi.any().description( 'This key is handled in the new platform ONLY' ); - +/** + * @deprecated + * + * Legacy logging has been deprecated and will be removed in 8.0. + * Set up logging from the platform logging instead + */ export interface LegacyLoggingConfig { silent: boolean; quiet: boolean; @@ -38,13 +43,11 @@ export const legacyLoggingConfigSchema = Joi.object() root: HANDLED_IN_KIBANA_PLATFORM, silent: Joi.boolean().default(false), - quiet: Joi.boolean().when('silent', { is: true, then: Joi.boolean().default(true).valid(true), otherwise: Joi.boolean().default(false), }), - verbose: Joi.boolean().when('quiet', { is: true, then: Joi.valid(false).default(false), diff --git a/src/cli/serve/serve.js b/src/cli/serve/serve.js index 891f2b0fff797..13c16691bf12a 100644 --- a/src/cli/serve/serve.js +++ b/src/cli/serve/serve.js @@ -51,7 +51,6 @@ function applyConfigOverrides(rawConfig, opts, extraCliOptions) { const get = _.partial(_.get, rawConfig); const has = _.partial(_.has, rawConfig); const merge = _.partial(_.merge, rawConfig); - if (opts.oss) { delete rawConfig.xpack; } @@ -112,10 +111,18 @@ function applyConfigOverrides(rawConfig, opts, extraCliOptions) { if (opts.elasticsearch) set('elasticsearch.hosts', opts.elasticsearch.split(',')); if (opts.port) set('server.port', opts.port); if (opts.host) set('server.host', opts.host); - if (opts.quiet) set('logging.quiet', true); - if (opts.silent) set('logging.silent', true); - if (opts.verbose) set('logging.verbose', true); - if (opts.logFile) set('logging.dest', opts.logFile); + if (opts.silent) { + set('logging.silent', true); + set('logging.root.level', 'off'); + } + if (opts.verbose) { + if (has('logging.root.appenders')) { + set('logging.root.level', 'all'); + } else { + // Only set logging.verbose to true for legacy logging when KP logging isn't configured. + set('logging.verbose', true); + } + } set('plugins.scanDirs', _.compact([].concat(get('plugins.scanDirs'), opts.pluginDir))); set('plugins.paths', _.compact([].concat(get('plugins.paths'), opts.pluginPath))); @@ -140,11 +147,14 @@ export default function (program) { [getConfigPath()] ) .option('-p, --port ', 'The port to bind to', parseInt) - .option('-q, --quiet', 'Prevent all logging except errors') + .option('-q, --quiet', 'Deprecated, set logging level in your configuration') .option('-Q, --silent', 'Prevent all logging') .option('--verbose', 'Turns on verbose logging') .option('-H, --host ', 'The host to bind to') - .option('-l, --log-file ', 'The file to log to') + .option( + '-l, --log-file ', + 'Deprecated, set logging file destination in your configuration' + ) .option( '--plugin-dir ', 'A path to scan for plugins, this can be specified multiple ' + @@ -204,6 +214,7 @@ export default function (program) { cliArgs: { dev: !!opts.dev, envName: unknownOptions.env ? unknownOptions.env.name : undefined, + // no longer supported quiet: !!opts.quiet, silent: !!opts.silent, watch: !!opts.watch, diff --git a/src/core/server/config/deprecation/core_deprecations.test.ts b/src/core/server/config/deprecation/core_deprecations.test.ts index 4d7dafd2162c2..b6b3ab5b8face 100644 --- a/src/core/server/config/deprecation/core_deprecations.test.ts +++ b/src/core/server/config/deprecation/core_deprecations.test.ts @@ -244,17 +244,10 @@ describe('core deprecations', () => { }); expect(messages).toMatchInlineSnapshot(` Array [ - "\\"logging.events.ops\\" has been deprecated and will be removed in 8.0. To access ops data moving forward, please enable debug logs for the \\"metrics.ops\\" context in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.md", + "\\"logging.events.ops\\" has been deprecated and will be removed in 8.0. To access ops data moving forward, please enable debug logs for the \\"metrics.ops\\" context in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx", ] `); }); - - it('does not warn when other events are configured', () => { - const { messages } = applyCoreDeprecations({ - logging: { events: { log: '*' } }, - }); - expect(messages).toEqual([]); - }); }); describe('logging.events.request and logging.events.response', () => { @@ -264,7 +257,7 @@ describe('core deprecations', () => { }); expect(messages).toMatchInlineSnapshot(` Array [ - "\\"logging.events.request\\" and \\"logging.events.response\\" have been deprecated and will be removed in 8.0. To access request and/or response data moving forward, please enable debug logs for the \\"http.server.response\\" context in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.md", + "\\"logging.events.request\\" and \\"logging.events.response\\" have been deprecated and will be removed in 8.0. To access request and/or response data moving forward, please enable debug logs for the \\"http.server.response\\" context in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx", ] `); }); @@ -275,7 +268,7 @@ describe('core deprecations', () => { }); expect(messages).toMatchInlineSnapshot(` Array [ - "\\"logging.events.request\\" and \\"logging.events.response\\" have been deprecated and will be removed in 8.0. To access request and/or response data moving forward, please enable debug logs for the \\"http.server.response\\" context in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.md", + "\\"logging.events.request\\" and \\"logging.events.response\\" have been deprecated and will be removed in 8.0. To access request and/or response data moving forward, please enable debug logs for the \\"http.server.response\\" context in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx", ] `); }); @@ -286,36 +279,187 @@ describe('core deprecations', () => { }); expect(messages).toMatchInlineSnapshot(` Array [ - "\\"logging.events.request\\" and \\"logging.events.response\\" have been deprecated and will be removed in 8.0. To access request and/or response data moving forward, please enable debug logs for the \\"http.server.response\\" context in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.md", + "\\"logging.events.request\\" and \\"logging.events.response\\" have been deprecated and will be removed in 8.0. To access request and/or response data moving forward, please enable debug logs for the \\"http.server.response\\" context in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx", ] `); }); + }); - it('does not warn when other events are configured', () => { + describe('logging.timezone', () => { + it('warns when ops events are used', () => { const { messages } = applyCoreDeprecations({ - logging: { events: { log: '*' } }, + logging: { timezone: 'GMT' }, }); - expect(messages).toEqual([]); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.timezone\\" has been deprecated and will be removed in 8.0. To set the timezone moving forward, please add a timezone date modifier to the log pattern in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx", + ] + `); }); }); - describe('logging.timezone', () => { - it('warns when ops events are used', () => { + describe('logging.dest', () => { + it('warns when dest is used', () => { const { messages } = applyCoreDeprecations({ - logging: { timezone: 'GMT' }, + logging: { dest: 'stdout' }, + }); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.dest\\" has been deprecated and will be removed in 8.0. To set the destination moving forward, you can use the \\"console\\" appender in your logging configuration or define a custom one. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx.", + ] + `); + }); + it('warns when dest path is given', () => { + const { messages } = applyCoreDeprecations({ + logging: { dest: '/log-log.txt' }, + }); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.dest\\" has been deprecated and will be removed in 8.0. To set the destination moving forward, you can use the \\"console\\" appender in your logging configuration or define a custom one. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx.", + ] + `); + }); + }); + + describe('logging.quiet, logging.silent and logging.verbose', () => { + it('warns when quiet is used', () => { + const { messages } = applyCoreDeprecations({ + logging: { quiet: true }, + }); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.quiet\\" has been deprecated and will be removed in 8.0. Moving forward, you can use \\"logging.root.level:error\\" in your logging configuration. ", + ] + `); + }); + it('warns when silent is used', () => { + const { messages } = applyCoreDeprecations({ + logging: { silent: true }, + }); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.silent\\" has been deprecated and will be removed in 8.0. Moving forward, you can use \\"logging.root.level:off\\" in your logging configuration. ", + ] + `); + }); + it('warns when verbose is used', () => { + const { messages } = applyCoreDeprecations({ + logging: { verbose: true }, + }); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.verbose\\" has been deprecated and will be removed in 8.0. Moving forward, you can use \\"logging.root.level:all\\" in your logging configuration. ", + ] + `); + }); + }); + + describe('logging.json', () => { + it('warns when json is used', () => { + const { messages } = applyCoreDeprecations({ + logging: { json: true }, + }); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.json\\" has been deprecated and will be removed in 8.0. To specify log message format moving forward, you can configure the \\"appender.layout\\" property for every custom appender in your logging configuration. There is currently no default layout for custom appenders and each one must be declared explicitly. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx.", + ] + `); + }); + }); + + describe('logging.rotate.enabled, logging.rotate.usePolling, logging.rotate.pollingInterval, logging.rotate.everyBytes and logging.rotate.keepFiles', () => { + it('warns when logging.rotate configurations are used', () => { + const { messages } = applyCoreDeprecations({ + logging: { rotate: { enabled: true } }, + }); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.rotate\\" and sub-options have been deprecated and will be removed in 8.0. Moving forward, you can enable log rotation using the \\"rolling-file\\" appender for a logger in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx#rolling-file-appender", + ] + `); + }); + + it('warns when logging.rotate polling configurations are used', () => { + const { messages } = applyCoreDeprecations({ + logging: { rotate: { enabled: true, usePolling: true, pollingInterval: 5000 } }, + }); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.rotate\\" and sub-options have been deprecated and will be removed in 8.0. Moving forward, you can enable log rotation using the \\"rolling-file\\" appender for a logger in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx#rolling-file-appender", + ] + `); + }); + + it('warns when logging.rotate.everyBytes configurations are used', () => { + const { messages } = applyCoreDeprecations({ + logging: { rotate: { enabled: true, everyBytes: 1048576 } }, }); expect(messages).toMatchInlineSnapshot(` Array [ - "\\"logging.timezone\\" has been deprecated and will be removed in 8.0. To set the timezone moving forward, please add a timezone date modifier to the log pattern in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.md", + "\\"logging.rotate\\" and sub-options have been deprecated and will be removed in 8.0. Moving forward, you can enable log rotation using the \\"rolling-file\\" appender for a logger in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx#rolling-file-appender", ] `); }); - it('does not warn when other events are configured', () => { + it('warns when logging.rotate.keepFiles is used', () => { const { messages } = applyCoreDeprecations({ - logging: { events: { log: '*' } }, + logging: { rotate: { enabled: true, keepFiles: 1024 } }, }); - expect(messages).toEqual([]); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.rotate\\" and sub-options have been deprecated and will be removed in 8.0. Moving forward, you can enable log rotation using the \\"rolling-file\\" appender for a logger in your logging configuration. For more details, see https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx#rolling-file-appender", + ] + `); + }); + }); + + describe('logging.events.log', () => { + it('warns when events.log is used', () => { + const { messages } = applyCoreDeprecations({ + logging: { events: { log: ['info'] } }, + }); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.events.log\\" has been deprecated and will be removed in 8.0. Moving forward, log levels can be customized on a per-logger basis using the new logging configuration. ", + ] + `); + }); + }); + + describe('logging.events.error', () => { + it('warns when events.error is used', () => { + const { messages } = applyCoreDeprecations({ + logging: { events: { error: ['some error'] } }, + }); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.events.error\\" has been deprecated and will be removed in 8.0. Moving forward, you can use \\"logging.root.level: error\\" in your logging configuration. ", + ] + `); + }); + }); + + describe('logging.filter', () => { + it('warns when filter.cookie is used', () => { + const { messages } = applyCoreDeprecations({ + logging: { filter: { cookie: 'none' } }, + }); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.filter\\" has been deprecated and will be removed in 8.0. ", + ] + `); + }); + + it('warns when filter.authorization is used', () => { + const { messages } = applyCoreDeprecations({ + logging: { filter: { authorization: 'none' } }, + }); + expect(messages).toMatchInlineSnapshot(` + Array [ + "\\"logging.filter\\" has been deprecated and will be removed in 8.0. ", + ] + `); }); }); }); diff --git a/src/core/server/config/deprecation/core_deprecations.ts b/src/core/server/config/deprecation/core_deprecations.ts index fbdbaeb14fd59..565b957b2a8e1 100644 --- a/src/core/server/config/deprecation/core_deprecations.ts +++ b/src/core/server/config/deprecation/core_deprecations.ts @@ -109,7 +109,7 @@ const opsLoggingEventDeprecation: ConfigDeprecation = (settings, fromPath, log) '"logging.events.ops" has been deprecated and will be removed ' + 'in 8.0. To access ops data moving forward, please enable debug logs for the ' + '"metrics.ops" context in your logging configuration. For more details, see ' + - 'https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.md' + 'https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx' ); } return settings; @@ -121,7 +121,7 @@ const requestLoggingEventDeprecation: ConfigDeprecation = (settings, fromPath, l '"logging.events.request" and "logging.events.response" have been deprecated and will be removed ' + 'in 8.0. To access request and/or response data moving forward, please enable debug logs for the ' + '"http.server.response" context in your logging configuration. For more details, see ' + - 'https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.md' + 'https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx' ); } return settings; @@ -133,12 +133,111 @@ const timezoneLoggingDeprecation: ConfigDeprecation = (settings, fromPath, log) '"logging.timezone" has been deprecated and will be removed ' + 'in 8.0. To set the timezone moving forward, please add a timezone date modifier to the log pattern ' + 'in your logging configuration. For more details, see ' + - 'https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.md' + 'https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx' ); } return settings; }; +const destLoggingDeprecation: ConfigDeprecation = (settings, fromPath, log) => { + if (has(settings, 'logging.dest')) { + log( + '"logging.dest" has been deprecated and will be removed ' + + 'in 8.0. To set the destination moving forward, you can use the "console" appender ' + + 'in your logging configuration or define a custom one. For more details, see ' + + 'https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx.' + ); + } + return settings; +}; + +const quietLoggingDeprecation: ConfigDeprecation = (settings, fromPath, log) => { + if (has(settings, 'logging.quiet')) { + log( + '"logging.quiet" has been deprecated and will be removed ' + + 'in 8.0. Moving forward, you can use "logging.root.level:error" in your logging configuration. ' + ); + } + return settings; +}; + +const silentLoggingDeprecation: ConfigDeprecation = (settings, fromPath, log) => { + if (has(settings, 'logging.silent')) { + log( + '"logging.silent" has been deprecated and will be removed ' + + 'in 8.0. Moving forward, you can use "logging.root.level:off" in your logging configuration. ' + ); + } + return settings; +}; + +const verboseLoggingDeprecation: ConfigDeprecation = (settings, fromPath, log) => { + if (has(settings, 'logging.verbose')) { + log( + '"logging.verbose" has been deprecated and will be removed ' + + 'in 8.0. Moving forward, you can use "logging.root.level:all" in your logging configuration. ' + ); + } + return settings; +}; + +const jsonLoggingDeprecation: ConfigDeprecation = (settings, fromPath, log) => { + // We silence the deprecation warning when running in development mode because + // the dev CLI code in src/dev/cli_dev_mode/using_server_process.ts manually + // specifies `--logging.json=false`. Since it's executed in a child process, the + // ` legacyLoggingConfigSchema` returns `true` for the TTY check on `process.stdout.isTTY` + if (has(settings, 'logging.json') && settings.env !== 'development') { + log( + '"logging.json" has been deprecated and will be removed ' + + 'in 8.0. To specify log message format moving forward, ' + + 'you can configure the "appender.layout" property for every custom appender in your logging configuration. ' + + 'There is currently no default layout for custom appenders and each one must be declared explicitly. ' + + 'For more details, see ' + + 'https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx.' + ); + } + return settings; +}; + +const logRotateDeprecation: ConfigDeprecation = (settings, fromPath, log) => { + if (has(settings, 'logging.rotate')) { + log( + '"logging.rotate" and sub-options have been deprecated and will be removed in 8.0. ' + + 'Moving forward, you can enable log rotation using the "rolling-file" appender for a logger ' + + 'in your logging configuration. For more details, see ' + + 'https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.mdx#rolling-file-appender' + ); + } + return settings; +}; + +const logEventsLogDeprecation: ConfigDeprecation = (settings, fromPath, log) => { + if (has(settings, 'logging.events.log')) { + log( + '"logging.events.log" has been deprecated and will be removed ' + + 'in 8.0. Moving forward, log levels can be customized on a per-logger basis using the new logging configuration. ' + ); + } + return settings; +}; + +const logEventsErrorDeprecation: ConfigDeprecation = (settings, fromPath, log) => { + if (has(settings, 'logging.events.error')) { + log( + '"logging.events.error" has been deprecated and will be removed ' + + 'in 8.0. Moving forward, you can use "logging.root.level: error" in your logging configuration. ' + ); + } + return settings; +}; + +const logFilterDeprecation: ConfigDeprecation = (settings, fromPath, log) => { + if (has(settings, 'logging.filter')) { + log('"logging.filter" has been deprecated and will be removed ' + 'in 8.0. '); + } + return settings; +}; + export const coreDeprecationProvider: ConfigDeprecationProvider = ({ rename, unusedFromRoot }) => [ unusedFromRoot('savedObjects.indexCheckTimeout'), unusedFromRoot('server.xsrf.token'), @@ -176,4 +275,13 @@ export const coreDeprecationProvider: ConfigDeprecationProvider = ({ rename, unu opsLoggingEventDeprecation, requestLoggingEventDeprecation, timezoneLoggingDeprecation, + destLoggingDeprecation, + quietLoggingDeprecation, + silentLoggingDeprecation, + verboseLoggingDeprecation, + jsonLoggingDeprecation, + logRotateDeprecation, + logEventsLogDeprecation, + logEventsErrorDeprecation, + logFilterDeprecation, ]; diff --git a/src/core/server/config/integration_tests/config_deprecation.test.ts b/src/core/server/config/integration_tests/config_deprecation.test.ts index 4cb0ec02d85f7..5b672774c515a 100644 --- a/src/core/server/config/integration_tests/config_deprecation.test.ts +++ b/src/core/server/config/integration_tests/config_deprecation.test.ts @@ -23,13 +23,17 @@ describe('configuration deprecations', () => { } }); - it('should not log deprecation warnings for default configuration', async () => { + it('should not log deprecation warnings for default configuration that is not one of `logging.verbose`, `logging.quiet` or `logging.silent`', async () => { root = kbnTestServer.createRoot(); await root.setup(); const logs = loggingSystemMock.collect(mockLoggingSystem); - expect(logs.warn.flat()).toMatchInlineSnapshot(`Array []`); + expect(logs.warn.flat()).toMatchInlineSnapshot(` + Array [ + "\\"logging.silent\\" has been deprecated and will be removed in 8.0. Moving forward, you can use \\"logging.root.level:off\\" in your logging configuration. ", + ] + `); }); it('should log deprecation warnings for core deprecations', async () => { @@ -47,6 +51,7 @@ describe('configuration deprecations', () => { Array [ "optimize.lazy is deprecated and is no longer used", "optimize.lazyPort is deprecated and is no longer used", + "\\"logging.silent\\" has been deprecated and will be removed in 8.0. Moving forward, you can use \\"logging.root.level:off\\" in your logging configuration. ", ] `); }); diff --git a/src/core/server/logging/README.mdx b/src/core/server/logging/README.mdx index 63a7d8ecade6c..08e4ed34204c0 100644 --- a/src/core/server/logging/README.mdx +++ b/src/core/server/logging/README.mdx @@ -563,9 +563,9 @@ The log will be less verbose with `warn` level for the `server` context name: ### Logging config migration Compatibility with the legacy logging system is assured until the end of the `v7` version. -All log messages handled by `root` context are forwarded to the legacy logging service. If you re-write +All log messages handled by `root` context are forwarded to the legacy logging service using a `default` appender. If you re-write root appenders, make sure that it contains `default` appender to provide backward compatibility. -**Note**: If you define an appender for a context name, the log messages aren't handled by the +**Note**: If you define an appender for a context name, the log messages for that specific context aren't handled by the `root` context anymore and not forwarded to the legacy logging service. #### logging.dest @@ -659,6 +659,23 @@ and you can enable them by adjusting the minimum required [logging level](#log-l #### logging.filter TBD +#### logging.rotate +Specify the options for the logging rotate feature and only applicable when logs are written to file. +With the new logging config, the log rotation feature is provided by the `rolling-file` [appender](#rolling-file-appender). + +**`logging.rotate.enabled` and `logging.rotate.usePolling`** +Enables log rotation when `enabled` is set to `true`. The `usePolling` option is optional and can be used in systems where the watch api is not accurate. +With the new logging config log rotation is provided by the rolling file appender. Polling will apply by default when the `rolling-file` appender is configured. + +**`logging.rotate.pollingInterval`** +The number of milliseconds for the polling strategy in the case when `logging.rotate.usePolling` is enabled and defaults to 10000. +Possible range from 5000 to 3600000. With the new logging config an time interval can be configured with the +[TimeIntervalTriggeringPolicy](#timeintervaltriggeringpolicy) + +**`logging.rotate.everyBytes` and `logging.rotate.keepFiles`** +Maximum size of a log file and the number of most recent log files to keep on disk. With the new logging config the log size limit can be configured with the +[SizeLimitTriggeringPolicy](#sizelimitriggeringpolicy) and the number of files to keep with the `numeric` strategy `max` option. + ### Logging configuration via CLI | legacy logging | Kibana Platform logging| diff --git a/src/core/test_helpers/kbn_server.ts b/src/core/test_helpers/kbn_server.ts index 14f614643ac9f..5e274712ad3a7 100644 --- a/src/core/test_helpers/kbn_server.ts +++ b/src/core/test_helpers/kbn_server.ts @@ -60,7 +60,6 @@ export function createRootWithSettings( configs: [], cliArgs: { dev: false, - quiet: false, silent: false, watch: false, basePath: false, diff --git a/src/legacy/server/kbn_server.d.ts b/src/legacy/server/kbn_server.d.ts index 57ecaeab209ed..3fe0f5899668f 100644 --- a/src/legacy/server/kbn_server.d.ts +++ b/src/legacy/server/kbn_server.d.ts @@ -33,7 +33,6 @@ declare module 'hapi' { interface Server { config: () => KibanaConfig; - logWithMetadata: (tags: string[], message: string, meta: Record) => void; newPlatform: KbnServer['newPlatform']; } } diff --git a/src/legacy/server/kbn_server.js b/src/legacy/server/kbn_server.js index d2eebb7b0cd23..4bc76b6a7706f 100644 --- a/src/legacy/server/kbn_server.js +++ b/src/legacy/server/kbn_server.js @@ -94,20 +94,13 @@ export default class KbnServer { async listen() { await this.ready(); - const { server, config } = this; + const { server } = this; if (process.env.isDevCliChild) { // help parent process know when we are ready process.send(['SERVER_LISTENING']); } - server.log( - ['listening', 'info'], - `Server running at ${server.info.uri}${ - config.get('server.rewriteBasePath') ? config.get('server.basePath') : '' - }` - ); - return server; } @@ -133,13 +126,6 @@ export default class KbnServer { const loggingConfig = config.get('logging'); const opsConfig = config.get('ops'); - const subset = { - ops: opsConfig, - logging: loggingConfig, - }; - const plain = JSON.stringify(subset, null, 2); - this.server.log(['info', 'config'], 'New logging configuration:\n' + plain); - reconfigureLogging(this.server, loggingConfig, opsConfig.interval); } } diff --git a/src/legacy/server/logging/index.js b/src/legacy/server/logging/index.js index 0a3d7e3e0a5a9..1b2ae59f4aa00 100644 --- a/src/legacy/server/logging/index.js +++ b/src/legacy/server/logging/index.js @@ -6,13 +6,9 @@ * Side Public License, v 1. */ -import { setupLogging, setupLoggingRotate, attachMetaData } from '@kbn/legacy-logging'; +import { setupLogging, setupLoggingRotate } from '@kbn/legacy-logging'; export async function loggingMixin(kbnServer, server, config) { - server.decorate('server', 'logWithMetadata', (tags, message, metadata = {}) => { - server.log(tags, attachMetaData(message, metadata)); - }); - const loggingConfig = config.get('logging'); const opsInterval = config.get('ops.interval'); From e1371b3d33b2a2b8de9275655f75bbe74f3995b8 Mon Sep 17 00:00:00 2001 From: Scotty Bollinger Date: Wed, 17 Mar 2021 18:55:35 -0500 Subject: [PATCH 23/50] [Workplace Search] Fix confirm modal (#94844) This PR addresses an issue where the confirmation modal when removing a content source connector was brokedn. The issue was that the component was not passed the props to render correctly --- .../settings/components/source_config.tsx | 8 +++++ .../views/settings/constants.ts | 29 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/constants.ts diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/components/source_config.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/components/source_config.tsx index 47a24e7912c3c..5372917b3eba2 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/components/source_config.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/components/source_config.tsx @@ -18,6 +18,11 @@ import { AddSourceHeader } from '../../content_sources/components/add_source/add import { AddSourceLogic } from '../../content_sources/components/add_source/add_source_logic'; import { SaveConfig } from '../../content_sources/components/add_source/save_config'; import { staticSourceData } from '../../content_sources/source_data'; +import { + CONFIRM_REMOVE_CONFIG_TITLE, + CONFIRM_REMOVE_CONFIG_CONFIRM_BUTTON_TEXT, + CONFIRM_REMOVE_CONFIG_CANCEL_BUTTON_TEXT, +} from '../constants'; import { SettingsLogic } from '../settings_logic'; interface SourceConfigProps { @@ -60,6 +65,9 @@ export const SourceConfig: React.FC = ({ sourceIndex }) => { onConfirm={() => deleteSourceConfig(serviceType, name)} onCancel={hideConfirmModal} buttonColor="danger" + title={CONFIRM_REMOVE_CONFIG_TITLE} + confirmButtonText={CONFIRM_REMOVE_CONFIG_CONFIRM_BUTTON_TEXT} + cancelButtonText={CONFIRM_REMOVE_CONFIG_CANCEL_BUTTON_TEXT} > {i18n.translate( 'xpack.enterpriseSearch.workplaceSearch.settings.confirmRemoveConfig.message', diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/constants.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/constants.ts new file mode 100644 index 0000000000000..b40edc1d0d1bd --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/constants.ts @@ -0,0 +1,29 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; + +export const CONFIRM_REMOVE_CONFIG_TITLE = i18n.translate( + 'xpack.enterpriseSearch.workplaceSearch.settings.confirmRemoveConfigTitle', + { + defaultMessage: 'Remove configuration', + } +); + +export const CONFIRM_REMOVE_CONFIG_CONFIRM_BUTTON_TEXT = i18n.translate( + 'xpack.enterpriseSearch.workplaceSearch.settings.confirmRemoveConfigConfirmButtonText', + { + defaultMessage: 'Remove', + } +); + +export const CONFIRM_REMOVE_CONFIG_CANCEL_BUTTON_TEXT = i18n.translate( + 'xpack.enterpriseSearch.workplaceSearch.settings.confirmRemoveConfigCancelButtonText', + { + defaultMessage: 'Cancel', + } +); From a4c41851e84b4d74b2c5a569d32f80b503a5f820 Mon Sep 17 00:00:00 2001 From: spalger Date: Wed, 17 Mar 2021 17:42:17 -0700 Subject: [PATCH 24/50] skip flaky suite (#93188) --- .../apps/ml/data_frame_analytics/feature_importance.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/ml/data_frame_analytics/feature_importance.ts b/x-pack/test/functional/apps/ml/data_frame_analytics/feature_importance.ts index 49728603c246c..a629cb0a9c241 100644 --- a/x-pack/test/functional/apps/ml/data_frame_analytics/feature_importance.ts +++ b/x-pack/test/functional/apps/ml/data_frame_analytics/feature_importance.ts @@ -14,7 +14,8 @@ export default function ({ getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const ml = getService('ml'); - describe('total feature importance panel and decision path popover', function () { + // FLAKY: https://github.com/elastic/kibana/issues/93188 + describe.skip('total feature importance panel and decision path popover', function () { const testDataList: Array<{ suiteTitle: string; archive: string; From 6df27f322fbbe5520d28b2f1b6f8957edbb21a30 Mon Sep 17 00:00:00 2001 From: John Dorlus Date: Wed, 17 Mar 2021 21:13:01 -0400 Subject: [PATCH 25/50] Re-Enabling Grok Debugger Functional UI Tests (#91274) * Adding .only clause for testing purposes. * Removing .only and reenabling test. Also changing back to group 13. * Removing .only and reenabling test. Also changing back to group 13. * Removed comment mentioning github issue. Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/test/functional/apps/grok_debugger/grok_debugger.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/x-pack/test/functional/apps/grok_debugger/grok_debugger.js b/x-pack/test/functional/apps/grok_debugger/grok_debugger.js index c21731a2bdc8a..0cd00c55ea1bb 100644 --- a/x-pack/test/functional/apps/grok_debugger/grok_debugger.js +++ b/x-pack/test/functional/apps/grok_debugger/grok_debugger.js @@ -11,8 +11,7 @@ export default function ({ getService, getPageObjects }) { const esArchiver = getService('esArchiver'); const PageObjects = getPageObjects(['grokDebugger']); - // https://github.com/elastic/kibana/issues/84440 - describe.skip('grok debugger app', function () { + describe('grok debugger app', function () { this.tags('includeFirefox'); before(async () => { await esArchiver.load('empty_kibana'); From ad18739de7cdda29326a65ad6dc48be16eb695f5 Mon Sep 17 00:00:00 2001 From: Aaron Caldwell Date: Wed, 17 Mar 2021 21:40:51 -0400 Subject: [PATCH 26/50] [Maps] Add endpoint to server for creating empty index & index pattern (#94028) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/maps/common/constants.ts | 3 + x-pack/plugins/maps/common/index.ts | 9 +++ x-pack/plugins/maps/common/types.ts | 24 +++++++ x-pack/plugins/maps/config.ts | 2 + .../plugins/maps/server/create_doc_source.ts | 64 +++++++++++++++++++ x-pack/plugins/maps/server/plugin.ts | 5 +- x-pack/plugins/maps/server/routes.js | 55 +++++++++++++++- .../apis/maps/create_doc_source.js | 48 ++++++++++++++ .../test/api_integration/apis/maps/index.js | 1 + x-pack/test/functional/config.js | 1 + 10 files changed, 208 insertions(+), 4 deletions(-) create mode 100644 x-pack/plugins/maps/common/index.ts create mode 100644 x-pack/plugins/maps/common/types.ts create mode 100644 x-pack/plugins/maps/server/create_doc_source.ts create mode 100644 x-pack/test/api_integration/apis/maps/create_doc_source.js diff --git a/x-pack/plugins/maps/common/constants.ts b/x-pack/plugins/maps/common/constants.ts index f1e0ac25aa127..070ad6ee98f00 100644 --- a/x-pack/plugins/maps/common/constants.ts +++ b/x-pack/plugins/maps/common/constants.ts @@ -40,6 +40,7 @@ export const MAP_PATH = 'map'; export const GIS_API_PATH = `api/${APP_ID}`; export const INDEX_SETTINGS_API_PATH = `${GIS_API_PATH}/indexSettings`; export const FONTS_API_PATH = `${GIS_API_PATH}/fonts`; +export const INDEX_SOURCE_API_PATH = `${GIS_API_PATH}/docSource`; export const API_ROOT_PATH = `/${GIS_API_PATH}`; export const MVT_GETTILE_API_PATH = 'mvt/getTile'; @@ -295,3 +296,5 @@ export const DEFAULT_PERCENTILES = [50, 75, 90, 95, 99]; export type RawValue = string | number | boolean | undefined | null; export type FieldFormatter = (value: RawValue) => string | number; + +export const INDEX_META_DATA_CREATED_BY = 'maps-drawing-data-ingest'; diff --git a/x-pack/plugins/maps/common/index.ts b/x-pack/plugins/maps/common/index.ts new file mode 100644 index 0000000000000..f4d74984a7d78 --- /dev/null +++ b/x-pack/plugins/maps/common/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './constants'; +export * from './types'; diff --git a/x-pack/plugins/maps/common/types.ts b/x-pack/plugins/maps/common/types.ts new file mode 100644 index 0000000000000..806eac597ac57 --- /dev/null +++ b/x-pack/plugins/maps/common/types.ts @@ -0,0 +1,24 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export interface CreateDocSourceResp { + success: boolean; + error?: Error; +} + +export interface IndexSourceMappings { + _meta?: { + created_by: string; + }; + properties: { + [key: string]: any; + }; +} + +export interface BodySettings { + [key: string]: any; +} diff --git a/x-pack/plugins/maps/config.ts b/x-pack/plugins/maps/config.ts index 104ba00263545..781967714be03 100644 --- a/x-pack/plugins/maps/config.ts +++ b/x-pack/plugins/maps/config.ts @@ -10,6 +10,7 @@ import { schema, TypeOf } from '@kbn/config-schema'; export interface MapsConfigType { enabled: boolean; showMapVisualizationTypes: boolean; + enableDrawingFeature: boolean; showMapsInspectorAdapter: boolean; preserveDrawingBuffer: boolean; } @@ -17,6 +18,7 @@ export interface MapsConfigType { export const configSchema = schema.object({ enabled: schema.boolean({ defaultValue: true }), showMapVisualizationTypes: schema.boolean({ defaultValue: false }), + enableDrawingFeature: schema.boolean({ defaultValue: false }), // flag used in functional testing showMapsInspectorAdapter: schema.boolean({ defaultValue: false }), // flag used in functional testing diff --git a/x-pack/plugins/maps/server/create_doc_source.ts b/x-pack/plugins/maps/server/create_doc_source.ts new file mode 100644 index 0000000000000..641a2acf42384 --- /dev/null +++ b/x-pack/plugins/maps/server/create_doc_source.ts @@ -0,0 +1,64 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ElasticsearchClient, IScopedClusterClient } from 'kibana/server'; +import { + INDEX_META_DATA_CREATED_BY, + CreateDocSourceResp, + IndexSourceMappings, + BodySettings, +} from '../common'; +import { IndexPatternsService } from '../../../../src/plugins/data/common'; + +const DEFAULT_SETTINGS = { number_of_shards: 1 }; +const DEFAULT_MAPPINGS = { + _meta: { + created_by: INDEX_META_DATA_CREATED_BY, + }, +}; + +export async function createDocSource( + index: string, + mappings: IndexSourceMappings, + { asCurrentUser }: IScopedClusterClient, + indexPatternsService: IndexPatternsService +): Promise { + try { + await createIndex(index, mappings, asCurrentUser); + await indexPatternsService.createAndSave( + { + title: index, + }, + true + ); + + return { + success: true, + }; + } catch (error) { + return { + success: false, + error, + }; + } +} + +async function createIndex( + indexName: string, + mappings: IndexSourceMappings, + asCurrentUser: ElasticsearchClient +) { + const body: { mappings: IndexSourceMappings; settings: BodySettings } = { + mappings: { + ...DEFAULT_MAPPINGS, + ...mappings, + }, + settings: DEFAULT_SETTINGS, + }; + + await asCurrentUser.indices.create({ index: indexName, body }); +} diff --git a/x-pack/plugins/maps/server/plugin.ts b/x-pack/plugins/maps/server/plugin.ts index 690a1d0d4772d..f0c8a051f8f79 100644 --- a/x-pack/plugins/maps/server/plugin.ts +++ b/x-pack/plugins/maps/server/plugin.ts @@ -168,11 +168,12 @@ export class MapsPlugin implements Plugin { }); initRoutes( - core.http.createRouter(), + core, () => lastLicenseId, emsSettings, this.kibanaVersion, - this._logger + this._logger, + currentConfig.enableDrawingFeature ); this._initHomeData(home, core.http.basePath.prepend, emsSettings); diff --git a/x-pack/plugins/maps/server/routes.js b/x-pack/plugins/maps/server/routes.js index 9ff366b791b04..d4c0652fa535c 100644 --- a/x-pack/plugins/maps/server/routes.js +++ b/x-pack/plugins/maps/server/routes.js @@ -24,6 +24,7 @@ import { INDEX_SETTINGS_API_PATH, FONTS_API_PATH, API_ROOT_PATH, + INDEX_SOURCE_API_PATH, } from '../common/constants'; import { EMSClient } from '@elastic/ems-client'; import fetch from 'node-fetch'; @@ -33,6 +34,7 @@ import { schema } from '@kbn/config-schema'; import fs from 'fs'; import path from 'path'; import { initMVTRoutes } from './mvt/mvt_routes'; +import { createDocSource } from './create_doc_source'; const EMPTY_EMS_CLIENT = { async getFileLayers() { @@ -53,9 +55,18 @@ const EMPTY_EMS_CLIENT = { addQueryParams() {}, }; -export function initRoutes(router, getLicenseId, emsSettings, kbnVersion, logger) { +export async function initRoutes( + core, + getLicenseId, + emsSettings, + kbnVersion, + logger, + drawingFeatureEnabled +) { let emsClient; let lastLicenseId; + const router = core.http.createRouter(); + const [, { data: dataPlugin }] = await core.getStartServices(); function getEMSClient() { const currentLicenseId = getLicenseId(); @@ -555,7 +566,6 @@ export function initRoutes(router, getLicenseId, emsSettings, kbnVersion, logger }, async (context, request, response) => { const { query } = request; - if (!query.indexPatternTitle) { logger.warn(`Required query parameter 'indexPatternTitle' not provided.`); return response.custom({ @@ -587,6 +597,47 @@ export function initRoutes(router, getLicenseId, emsSettings, kbnVersion, logger } ); + if (drawingFeatureEnabled) { + router.post( + { + path: `/${INDEX_SOURCE_API_PATH}`, + validate: { + body: schema.object({ + index: schema.string(), + mappings: schema.any(), + }), + }, + options: { + body: { + accepts: ['application/json'], + }, + }, + }, + async (context, request, response) => { + const { index, mappings } = request.body; + const indexPatternsService = await dataPlugin.indexPatterns.indexPatternsServiceFactory( + context.core.savedObjects.client, + context.core.elasticsearch.client.asCurrentUser + ); + const result = await createDocSource( + index, + mappings, + context.core.elasticsearch.client, + indexPatternsService + ); + if (result.success) { + return response.ok({ body: result }); + } else { + logger.error(result.error); + return response.custom({ + body: result.error.message, + statusCode: 500, + }); + } + } + ); + } + function checkEMSProxyEnabled() { const proxyEMSInMaps = emsSettings.isProxyElasticMapsServiceInMaps(); if (!proxyEMSInMaps) { diff --git a/x-pack/test/api_integration/apis/maps/create_doc_source.js b/x-pack/test/api_integration/apis/maps/create_doc_source.js new file mode 100644 index 0000000000000..73d6668019df7 --- /dev/null +++ b/x-pack/test/api_integration/apis/maps/create_doc_source.js @@ -0,0 +1,48 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; + +export default function ({ getService }) { + const supertest = getService('supertest'); + + describe('doc source creation', () => { + it('should create a new index and pattern but not clobber an existing one', async () => { + const resp = await supertest + .post(`/api/maps/docSource`) + .set('kbn-xsrf', 'kibana') + .send({ + index: 'testing123', + mappings: { properties: { coordinates: { type: 'geo_point' } } }, + }) + .expect(200); + + expect(resp.body.success).to.be(true); + + // Repeated index fails. We don't want the user clobbering indexes + await supertest + .post(`/api/maps/docSource`) + .set('kbn-xsrf', 'kibana') + .send({ + index: 'testing123', + mappings: { properties: { coordinates: { type: 'geo_point' } } }, + }) + .expect(500); + }); + + it('should fail to create index and pattern with invalid index', async () => { + await supertest + .post(`/api/maps/docSource`) + .set('kbn-xsrf', 'kibana') + .send({ + index: '_testing456', + mappings: { properties: { coordinates: { type: 'geo_point' } } }, + }) + .expect(500); + }); + }); +} diff --git a/x-pack/test/api_integration/apis/maps/index.js b/x-pack/test/api_integration/apis/maps/index.js index fd5de3177eacb..898c3d56ecc2f 100644 --- a/x-pack/test/api_integration/apis/maps/index.js +++ b/x-pack/test/api_integration/apis/maps/index.js @@ -14,6 +14,7 @@ export default function ({ loadTestFile, getService }) { }); describe('', () => { + loadTestFile(require.resolve('./create_doc_source')); loadTestFile(require.resolve('./fonts_api')); loadTestFile(require.resolve('./index_settings')); loadTestFile(require.resolve('./migrations')); diff --git a/x-pack/test/functional/config.js b/x-pack/test/functional/config.js index 4d63f033f8756..9b1df72aa78c8 100644 --- a/x-pack/test/functional/config.js +++ b/x-pack/test/functional/config.js @@ -83,6 +83,7 @@ export default async function ({ readConfigFile }) { '--server.uuid=5b2de169-2785-441b-ae8c-186a1936b17d', '--xpack.maps.showMapsInspectorAdapter=true', '--xpack.maps.preserveDrawingBuffer=true', + '--xpack.maps.enableDrawingFeature=true', '--xpack.reporting.queue.pollInterval=3000', // make it explicitly the default '--xpack.reporting.csv.maxSizeBytes=2850', // small-ish limit for cutting off a 1999 byte report '--stats.maximumWaitTimeForAllCollectorsInS=1', From f4da06349d7a023e8c4b124f374fbae7d6655791 Mon Sep 17 00:00:00 2001 From: Constance Date: Wed, 17 Mar 2021 20:01:50 -0700 Subject: [PATCH 27/50] [Curation] Add promoted/hidden documents section & logic + Restore defaults button (#94769) * Set up promoted & hidden documents logic * Set up result utility for converting CurationResult to Result * Set up AddResultButton in documents sections - not hooked up to anything right now, but will be in the next PR * Add HiddenDocuments section * Add PromotedDocuments section w/ draggable results * Update OrganicDocuments results with promote/hide actions * Add the Restore Defaults button+logic * PR feedback: key ID Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../components/curations/constants.ts | 35 ++++ .../curations/curation/curation.test.tsx | 32 +++- .../curations/curation/curation.tsx | 28 ++- .../curations/curation/curation_logic.test.ts | 161 +++++++++++++++++- .../curations/curation/curation_logic.ts | 77 ++++++++- .../documents/hidden_documents.test.tsx | 83 +++++++++ .../curation/documents/hidden_documents.tsx | 99 +++++++++++ .../curations/curation/documents/index.ts | 2 + .../documents/organic_documents.test.tsx | 25 ++- .../curation/documents/organic_documents.tsx | 20 ++- .../documents/promoted_documents.test.tsx | 116 +++++++++++++ .../curation/documents/promoted_documents.tsx | 124 ++++++++++++++ .../results/add_result_button.test.tsx | 31 ++++ .../curation/results/add_result_button.tsx | 21 +++ .../curations/curation/results/index.ts | 2 + .../curations/curation/results/utils.test.ts | 46 +++++ .../curations/curation/results/utils.ts | 52 ++++++ .../components/curations/utils.test.ts | 22 ++- .../app_search/components/curations/utils.ts | 11 ++ 19 files changed, 970 insertions(+), 17 deletions(-) create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/hidden_documents.test.tsx create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/hidden_documents.tsx create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/promoted_documents.test.tsx create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/promoted_documents.tsx create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/add_result_button.test.tsx create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/add_result_button.tsx create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/utils.test.ts create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/utils.ts diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/constants.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/constants.ts index 8d70f1c049b1f..57af8cada9890 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/constants.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/constants.ts @@ -32,8 +32,43 @@ export const SUCCESS_MESSAGE = i18n.translate( 'xpack.enterpriseSearch.appSearch.engine.curations.deleteSuccessMessage', { defaultMessage: 'Successfully removed curation.' } ); +export const RESTORE_CONFIRMATION = i18n.translate( + 'xpack.enterpriseSearch.appSearch.engine.curations.restoreConfirmation', + { + defaultMessage: + 'Are you sure you want to clear your changes and return to your default results?', + } +); export const RESULT_ACTIONS_DIRECTIONS = i18n.translate( 'xpack.enterpriseSearch.appSearch.engine.curations.resultActionsDescription', { defaultMessage: 'Promote results by clicking the star, hide them by clicking the eye.' } ); +export const PROMOTE_DOCUMENT_ACTION = { + title: i18n.translate('xpack.enterpriseSearch.appSearch.engine.curations.promoteButtonLabel', { + defaultMessage: 'Promote this result', + }), + iconType: 'starPlusEmpty', + iconColor: 'primary', +}; +export const DEMOTE_DOCUMENT_ACTION = { + title: i18n.translate('xpack.enterpriseSearch.appSearch.engine.curations.demoteButtonLabel', { + defaultMessage: 'Demote this result', + }), + iconType: 'starMinusFilled', + iconColor: 'primary', +}; +export const HIDE_DOCUMENT_ACTION = { + title: i18n.translate('xpack.enterpriseSearch.appSearch.engine.curations.hideButtonLabel', { + defaultMessage: 'Hide this result', + }), + iconType: 'eyeClosed', + iconColor: 'danger', +}; +export const SHOW_DOCUMENT_ACTION = { + title: i18n.translate('xpack.enterpriseSearch.appSearch.engine.curations.showButtonLabel', { + defaultMessage: 'Show this result', + }), + iconType: 'eye', + iconColor: 'primary', +}; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.test.tsx index 748b5670e1d1d..bbf1b95e251da 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.test.tsx @@ -12,7 +12,7 @@ import { setMockActions, setMockValues, rerender } from '../../../../__mocks__'; import React from 'react'; import { useParams } from 'react-router-dom'; -import { shallow } from 'enzyme'; +import { shallow, ShallowWrapper } from 'enzyme'; import { EuiPageHeader } from '@elastic/eui'; @@ -34,6 +34,7 @@ describe('Curation', () => { }; const actions = { loadCuration: jest.fn(), + resetCuration: jest.fn(), }; beforeEach(() => { @@ -75,4 +76,33 @@ describe('Curation', () => { rerender(wrapper); expect(actions.loadCuration).toHaveBeenCalledTimes(2); }); + + describe('restore defaults button', () => { + let restoreDefaultsButton: ShallowWrapper; + let confirmSpy: jest.SpyInstance; + + beforeAll(() => { + const wrapper = shallow(); + const headerActions = wrapper.find(EuiPageHeader).prop('rightSideItems'); + restoreDefaultsButton = shallow(headerActions![0] as React.ReactElement); + + confirmSpy = jest.spyOn(window, 'confirm'); + }); + + afterAll(() => { + confirmSpy.mockRestore(); + }); + + it('resets the curation upon user confirmation', () => { + confirmSpy.mockReturnValueOnce(true); + restoreDefaultsButton.simulate('click'); + expect(actions.resetCuration).toHaveBeenCalled(); + }); + + it('does not reset the curation if the user cancels', () => { + confirmSpy.mockReturnValueOnce(false); + restoreDefaultsButton.simulate('click'); + expect(actions.resetCuration).not.toHaveBeenCalled(); + }); + }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.tsx index 221c2419b7448..85e91dabc6108 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.tsx @@ -10,17 +10,18 @@ import { useParams } from 'react-router-dom'; import { useValues, useActions } from 'kea'; -import { EuiPageHeader, EuiSpacer, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import { EuiPageHeader, EuiSpacer, EuiFlexGroup, EuiFlexItem, EuiButton } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; import { FlashMessages } from '../../../../shared/flash_messages'; import { SetAppSearchChrome as SetPageChrome } from '../../../../shared/kibana_chrome'; import { BreadcrumbTrail } from '../../../../shared/kibana_chrome/generate_breadcrumbs'; import { Loading } from '../../../../shared/loading'; -import { MANAGE_CURATION_TITLE } from '../constants'; +import { MANAGE_CURATION_TITLE, RESTORE_CONFIRMATION } from '../constants'; import { CurationLogic } from './curation_logic'; -import { OrganicDocuments } from './documents'; +import { PromotedDocuments, OrganicDocuments, HiddenDocuments } from './documents'; import { ActiveQuerySelect, ManageQueriesModal } from './queries'; interface Props { @@ -29,7 +30,7 @@ interface Props { export const Curation: React.FC = ({ curationsBreadcrumb }) => { const { curationId } = useParams() as { curationId: string }; - const { loadCuration } = useActions(CurationLogic({ curationId })); + const { loadCuration, resetCuration } = useActions(CurationLogic({ curationId })); const { dataLoading, queries } = useValues(CurationLogic({ curationId })); useEffect(() => { @@ -43,7 +44,18 @@ export const Curation: React.FC = ({ curationsBreadcrumb }) => { { + if (window.confirm(RESTORE_CONFIRMATION)) resetCuration(); + }} + > + {i18n.translate('xpack.enterpriseSearch.appSearch.actions.restoreDefaults', { + defaultMessage: 'Restore defaults', + })} + , + ]} responsive={false} /> @@ -59,9 +71,11 @@ export const Curation: React.FC = ({ curationsBreadcrumb }) => { - {/* TODO: PromotedDocuments section */} + + - {/* TODO: HiddenDocuments section */} + + {/* TODO: AddResult flyout */} diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.test.ts index 821dd21478027..17f7cd7cd154e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.test.ts @@ -51,6 +51,10 @@ describe('CurationLogic', () => { queriesLoading: false, activeQuery: '', organicDocumentsLoading: false, + promotedIds: [], + promotedDocumentsLoading: false, + hiddenIds: [], + hiddenDocumentsLoading: false, }; beforeEach(() => { @@ -64,7 +68,7 @@ describe('CurationLogic', () => { describe('actions', () => { describe('onCurationLoad', () => { - it('should set curation, queries, activeQuery, & all loading states to false', () => { + it('should set curation, queries, activeQuery, promotedIds, hiddenIds, & all loading states to false', () => { mount(); CurationLogic.actions.onCurationLoad(MOCK_CURATION_RESPONSE); @@ -74,9 +78,13 @@ describe('CurationLogic', () => { curation: MOCK_CURATION_RESPONSE, queries: ['some search'], activeQuery: 'some search', + promotedIds: ['some-promoted-document'], + hiddenIds: ['some-hidden-document'], dataLoading: false, queriesLoading: false, organicDocumentsLoading: false, + promotedDocumentsLoading: false, + hiddenDocumentsLoading: false, }); }); @@ -95,6 +103,8 @@ describe('CurationLogic', () => { dataLoading: true, queriesLoading: true, organicDocumentsLoading: true, + promotedDocumentsLoading: true, + hiddenDocumentsLoading: true, }); CurationLogic.actions.onCurationError(); @@ -104,6 +114,8 @@ describe('CurationLogic', () => { dataLoading: false, queriesLoading: false, organicDocumentsLoading: false, + promotedDocumentsLoading: false, + hiddenDocumentsLoading: false, }); }); }); @@ -136,6 +148,121 @@ describe('CurationLogic', () => { }); }); }); + + describe('setPromotedIds', () => { + it('should set promotedIds state & promotedDocumentsLoading to true', () => { + mount(); + + CurationLogic.actions.setPromotedIds(['hello', 'world']); + + expect(CurationLogic.values).toEqual({ + ...DEFAULT_VALUES, + promotedIds: ['hello', 'world'], + promotedDocumentsLoading: true, + }); + }); + }); + + describe('addPromotedId', () => { + it('should set promotedIds state & promotedDocumentsLoading to true', () => { + mount({ promotedIds: ['hello'] }); + + CurationLogic.actions.addPromotedId('world'); + + expect(CurationLogic.values).toEqual({ + ...DEFAULT_VALUES, + promotedIds: ['hello', 'world'], + promotedDocumentsLoading: true, + }); + }); + }); + + describe('removePromotedId', () => { + it('should set promotedIds state & promotedDocumentsLoading to true', () => { + mount({ promotedIds: ['hello', 'deleteme', 'world'] }); + + CurationLogic.actions.removePromotedId('deleteme'); + + expect(CurationLogic.values).toEqual({ + ...DEFAULT_VALUES, + promotedIds: ['hello', 'world'], + promotedDocumentsLoading: true, + }); + }); + }); + + describe('clearPromotedId', () => { + it('should reset promotedIds state & set promotedDocumentsLoading to true', () => { + mount({ promotedIds: ['hello', 'world'] }); + + CurationLogic.actions.clearPromotedIds(); + + expect(CurationLogic.values).toEqual({ + ...DEFAULT_VALUES, + promotedIds: [], + promotedDocumentsLoading: true, + }); + }); + }); + + describe('addHiddenId', () => { + it('should set hiddenIds state & hiddenDocumentsLoading to true', () => { + mount({ hiddenIds: ['hello'] }); + + CurationLogic.actions.addHiddenId('world'); + + expect(CurationLogic.values).toEqual({ + ...DEFAULT_VALUES, + hiddenIds: ['hello', 'world'], + hiddenDocumentsLoading: true, + }); + }); + }); + + describe('removeHiddenId', () => { + it('should set hiddenIds state & hiddenDocumentsLoading to true', () => { + mount({ hiddenIds: ['hello', 'deleteme', 'world'] }); + + CurationLogic.actions.removeHiddenId('deleteme'); + + expect(CurationLogic.values).toEqual({ + ...DEFAULT_VALUES, + hiddenIds: ['hello', 'world'], + hiddenDocumentsLoading: true, + }); + }); + }); + + describe('clearHiddenId', () => { + it('should reset hiddenIds state & set hiddenDocumentsLoading to true', () => { + mount({ hiddenIds: ['hello', 'world'] }); + + CurationLogic.actions.clearHiddenIds(); + + expect(CurationLogic.values).toEqual({ + ...DEFAULT_VALUES, + hiddenIds: [], + hiddenDocumentsLoading: true, + }); + }); + }); + + describe('resetCuration', () => { + it('should clear promotedIds & hiddenIds & set dataLoading to true', () => { + mount({ promotedIds: ['hello'], hiddenIds: ['world'] }); + + CurationLogic.actions.resetCuration(); + + expect(CurationLogic.values).toEqual({ + ...DEFAULT_VALUES, + dataLoading: true, + promotedIds: [], + promotedDocumentsLoading: true, + hiddenIds: [], + hiddenDocumentsLoading: true, + }); + }); + }); }); describe('listeners', () => { @@ -187,6 +314,8 @@ describe('CurationLogic', () => { { queries: ['a', 'b', 'c'], activeQuery: 'b', + promotedIds: ['d', 'e', 'f'], + hiddenIds: ['g'], }, { curationId: 'cur-123456789' } ); @@ -199,7 +328,7 @@ describe('CurationLogic', () => { expect(http.put).toHaveBeenCalledWith( '/api/app_search/engines/some-engine/curations/cur-123456789', { - body: '{"queries":["a","b","c"],"query":"b","promoted":[],"hidden":[]}', // Uses state currently in CurationLogic + body: '{"queries":["a","b","c"],"query":"b","promoted":["d","e","f"],"hidden":["g"]}', // Uses state currently in CurationLogic } ); expect(CurationLogic.actions.onCurationLoad).toHaveBeenCalledWith(MOCK_CURATION_RESPONSE); @@ -249,6 +378,34 @@ describe('CurationLogic', () => { it('setActiveQuery', () => { CurationLogic.actions.setActiveQuery('test'); }); + + it('setPromotedIds', () => { + CurationLogic.actions.setPromotedIds(['test']); + }); + + it('addPromotedId', () => { + CurationLogic.actions.addPromotedId('test'); + }); + + it('removePromotedId', () => { + CurationLogic.actions.removePromotedId('test'); + }); + + it('clearPromotedIds', () => { + CurationLogic.actions.clearPromotedIds(); + }); + + it('addHiddenId', () => { + CurationLogic.actions.addHiddenId('test'); + }); + + it('removeHiddenId', () => { + CurationLogic.actions.removeHiddenId('test'); + }); + + it('clearHiddenIds', () => { + CurationLogic.actions.clearHiddenIds(); + }); }); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts index c3ee1aac57ace..9fa2d353b4ef2 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts @@ -14,6 +14,7 @@ import { ENGINE_CURATIONS_PATH } from '../../../routes'; import { EngineLogic, generateEnginePath } from '../../engine'; import { Curation } from '../types'; +import { addDocument, removeDocument } from '../utils'; interface CurationValues { dataLoading: boolean; @@ -22,6 +23,10 @@ interface CurationValues { queriesLoading: boolean; activeQuery: string; organicDocumentsLoading: boolean; + promotedIds: string[]; + promotedDocumentsLoading: boolean; + hiddenIds: string[]; + hiddenDocumentsLoading: boolean; } interface CurationActions { @@ -31,6 +36,14 @@ interface CurationActions { onCurationError(): void; updateQueries(queries: Curation['queries']): { queries: Curation['queries'] }; setActiveQuery(query: string): { query: string }; + setPromotedIds(promotedIds: string[]): { promotedIds: string[] }; + addPromotedId(id: string): { id: string }; + removePromotedId(id: string): { id: string }; + clearPromotedIds(): void; + addHiddenId(id: string): { id: string }; + removeHiddenId(id: string): { id: string }; + clearHiddenIds(): void; + resetCuration(): void; } interface CurationProps { @@ -46,12 +59,21 @@ export const CurationLogic = kea ({ queries }), setActiveQuery: (query) => ({ query }), + setPromotedIds: (promotedIds) => ({ promotedIds }), + addPromotedId: (id) => ({ id }), + removePromotedId: (id) => ({ id }), + clearPromotedIds: true, + addHiddenId: (id) => ({ id }), + removeHiddenId: (id) => ({ id }), + clearHiddenIds: true, + resetCuration: true, }), reducers: () => ({ dataLoading: [ true, { loadCuration: () => true, + resetCuration: () => true, onCurationLoad: () => false, onCurationError: () => false, }, @@ -99,6 +121,46 @@ export const CurationLogic = kea false, }, ], + promotedIds: [ + [], + { + onCurationLoad: (_, { curation }) => curation.promoted.map((document) => document.id), + setPromotedIds: (_, { promotedIds }) => promotedIds, + addPromotedId: (promotedIds, { id }) => addDocument(promotedIds, id), + removePromotedId: (promotedIds, { id }) => removeDocument(promotedIds, id), + clearPromotedIds: () => [], + }, + ], + promotedDocumentsLoading: [ + false, + { + setPromotedIds: () => true, + addPromotedId: () => true, + removePromotedId: () => true, + clearPromotedIds: () => true, + onCurationLoad: () => false, + onCurationError: () => false, + }, + ], + hiddenIds: [ + [], + { + onCurationLoad: (_, { curation }) => curation.hidden.map((document) => document.id), + addHiddenId: (hiddenIds, { id }) => addDocument(hiddenIds, id), + removeHiddenId: (hiddenIds, { id }) => removeDocument(hiddenIds, id), + clearHiddenIds: () => [], + }, + ], + hiddenDocumentsLoading: [ + false, + { + addHiddenId: () => true, + removeHiddenId: () => true, + clearHiddenIds: () => true, + onCurationLoad: () => false, + onCurationError: () => false, + }, + ], }), listeners: ({ actions, values, props }) => ({ loadCuration: async () => { @@ -131,8 +193,8 @@ export const CurationLogic = kea actions.updateCuration(), + setPromotedIds: () => actions.updateCuration(), + addPromotedId: () => actions.updateCuration(), + removePromotedId: () => actions.updateCuration(), + clearPromotedIds: () => actions.updateCuration(), + addHiddenId: () => actions.updateCuration(), + removeHiddenId: () => actions.updateCuration(), + clearHiddenIds: () => actions.updateCuration(), + resetCuration: () => { + actions.clearPromotedIds(); + actions.clearHiddenIds(); + }, }), }); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/hidden_documents.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/hidden_documents.test.tsx new file mode 100644 index 0000000000000..7ffa45c285320 --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/hidden_documents.test.tsx @@ -0,0 +1,83 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { setMockValues, setMockActions } from '../../../../../__mocks__'; + +import React from 'react'; + +import { shallow } from 'enzyme'; + +import { EuiEmptyPrompt, EuiButtonEmpty } from '@elastic/eui'; + +import { DataPanel } from '../../../data_panel'; +import { CurationResult } from '../results'; + +import { HiddenDocuments } from './'; + +describe('HiddenDocuments', () => { + const values = { + curation: { + hidden: [ + { id: 'mock-document-1' }, + { id: 'mock-document-2' }, + { id: 'mock-document-3' }, + { id: 'mock-document-4' }, + { id: 'mock-document-5' }, + ], + }, + hiddenDocumentsLoading: false, + }; + const actions = { + removeHiddenId: jest.fn(), + clearHiddenIds: jest.fn(), + }; + + beforeEach(() => { + jest.clearAllMocks(); + setMockValues(values); + setMockActions(actions); + }); + + it('renders a list of hidden documents', () => { + const wrapper = shallow(); + + expect(wrapper.find(CurationResult)).toHaveLength(5); + }); + + it('renders an empty state & hides the panel actions when empty', () => { + setMockValues({ ...values, curation: { hidden: [] } }); + const wrapper = shallow(); + + expect(wrapper.find(EuiEmptyPrompt)).toHaveLength(1); + expect(wrapper.find(DataPanel).prop('action')).toBe(false); + }); + + it('renders a loading state', () => { + setMockValues({ ...values, hiddenDocumentsLoading: true }); + const wrapper = shallow(); + + expect(wrapper.find(DataPanel).prop('isLoading')).toEqual(true); + }); + + describe('actions', () => { + it('renders results with an action button that un-hides the result', () => { + const wrapper = shallow(); + const result = wrapper.find(CurationResult).last(); + result.prop('actions')[0].onClick(); + + expect(actions.removeHiddenId).toHaveBeenCalledWith('mock-document-5'); + }); + + it('renders a restore all button that un-hides all hidden results', () => { + const wrapper = shallow(); + const panelActions = shallow(wrapper.find(DataPanel).prop('action') as React.ReactElement); + + panelActions.find(EuiButtonEmpty).simulate('click'); + expect(actions.clearHiddenIds).toHaveBeenCalled(); + }); + }); +}); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/hidden_documents.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/hidden_documents.tsx new file mode 100644 index 0000000000000..feb0bcf9a389b --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/hidden_documents.tsx @@ -0,0 +1,99 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +import { useValues, useActions } from 'kea'; + +import { EuiButtonEmpty, EuiFlexGroup, EuiFlexItem, EuiEmptyPrompt } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +import { DataPanel } from '../../../data_panel'; + +import { SHOW_DOCUMENT_ACTION } from '../../constants'; +import { CurationLogic } from '../curation_logic'; +import { AddResultButton, CurationResult, convertToResultFormat } from '../results'; + +export const HiddenDocuments: React.FC = () => { + const { clearHiddenIds, removeHiddenId } = useActions(CurationLogic); + const { curation, hiddenDocumentsLoading } = useValues(CurationLogic); + + const documents = curation.hidden; + const hasDocuments = documents.length > 0; + + return ( + + {i18n.translate( + 'xpack.enterpriseSearch.appSearch.engine.curations.hiddenDocuments.title', + { defaultMessage: 'Hidden documents' } + )} + + } + subtitle={i18n.translate( + 'xpack.enterpriseSearch.appSearch.engine.curations.hiddenDocuments.description', + { defaultMessage: 'Hidden documents will not appear in organic results.' } + )} + action={ + hasDocuments && ( + + + + + + + {i18n.translate( + 'xpack.enterpriseSearch.appSearch.engine.curations.hiddenDocuments.removeAllButtonLabel', + { defaultMessage: 'Restore all' } + )} + + + + ) + } + isLoading={hiddenDocumentsLoading} + > + {hasDocuments ? ( + documents.map((document) => ( + removeHiddenId(document.id), + }, + ]} + /> + )) + ) : ( + + {i18n.translate( + 'xpack.enterpriseSearch.appSearch.engine.curations.hiddenDocuments.emptyTitle', + { defaultMessage: 'No documents are being hidden for this query' } + )} + + } + body={i18n.translate( + 'xpack.enterpriseSearch.appSearch.engine.curations.hiddenDocuments.emptyDescription', + { + defaultMessage: + 'Hide documents by clicking the eye icon on the organic results above, or search and hide a result manually.', + } + )} + actions={} + /> + )} + + ); +}; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/index.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/index.ts index fdaadeb5ced95..3548f6f298069 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/index.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/index.ts @@ -5,4 +5,6 @@ * 2.0. */ +export { PromotedDocuments } from './promoted_documents'; export { OrganicDocuments } from './organic_documents'; +export { HiddenDocuments } from './hidden_documents'; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/organic_documents.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/organic_documents.test.tsx index fd26cb1acf7a6..2a83ecfcada44 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/organic_documents.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/organic_documents.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { setMockValues } from '../../../../../__mocks__'; +import { setMockValues, setMockActions } from '../../../../../__mocks__'; import React from 'react'; @@ -31,10 +31,15 @@ describe('OrganicDocuments', () => { activeQuery: 'world', organicDocumentsLoading: false, }; + const actions = { + addPromotedId: jest.fn(), + addHiddenId: jest.fn(), + }; beforeEach(() => { jest.clearAllMocks(); setMockValues(values); + setMockActions(actions); }); it('renders a list of organic results', () => { @@ -64,4 +69,22 @@ describe('OrganicDocuments', () => { expect(wrapper.find(EuiEmptyPrompt)).toHaveLength(1); }); + + describe('actions', () => { + it('renders results with an action button that promotes the result', () => { + const wrapper = shallow(); + const result = wrapper.find(CurationResult).first(); + result.prop('actions')[1].onClick(); + + expect(actions.addPromotedId).toHaveBeenCalledWith('mock-document-1'); + }); + + it('renders results with an action button that hides the result', () => { + const wrapper = shallow(); + const result = wrapper.find(CurationResult).last(); + result.prop('actions')[0].onClick(); + + expect(actions.addHiddenId).toHaveBeenCalledWith('mock-document-3'); + }); + }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/organic_documents.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/organic_documents.tsx index 3aa65a14e7a2f..a3a761feefcd2 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/organic_documents.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/organic_documents.tsx @@ -7,7 +7,7 @@ import React from 'react'; -import { useValues } from 'kea'; +import { useValues, useActions } from 'kea'; import { EuiLoadingContent, EuiEmptyPrompt } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; @@ -15,11 +15,16 @@ import { i18n } from '@kbn/i18n'; import { DataPanel } from '../../../data_panel'; import { Result } from '../../../result/types'; -import { RESULT_ACTIONS_DIRECTIONS } from '../../constants'; +import { + RESULT_ACTIONS_DIRECTIONS, + PROMOTE_DOCUMENT_ACTION, + HIDE_DOCUMENT_ACTION, +} from '../../constants'; import { CurationLogic } from '../curation_logic'; import { CurationResult } from '../results'; export const OrganicDocuments: React.FC = () => { + const { addPromotedId, addHiddenId } = useActions(CurationLogic); const { curation, activeQuery, organicDocumentsLoading } = useValues(CurationLogic); const documents = curation.organic; @@ -48,7 +53,16 @@ export const OrganicDocuments: React.FC = () => { addHiddenId(document.id.raw), + }, + { + ...PROMOTE_DOCUMENT_ACTION, + onClick: () => addPromotedId(document.id.raw), + }, + ]} /> )) ) : organicDocumentsLoading ? ( diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/promoted_documents.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/promoted_documents.test.tsx new file mode 100644 index 0000000000000..7240a443b76e9 --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/promoted_documents.test.tsx @@ -0,0 +1,116 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { setMockValues, setMockActions } from '../../../../../__mocks__'; + +import React from 'react'; + +import { shallow } from 'enzyme'; + +import { EuiDragDropContext, EuiDraggable, EuiEmptyPrompt, EuiButtonEmpty } from '@elastic/eui'; + +import { DataPanel } from '../../../data_panel'; +import { CurationResult } from '../results'; + +import { PromotedDocuments } from './'; + +describe('PromotedDocuments', () => { + const values = { + curation: { + promoted: [ + { id: 'mock-document-1' }, + { id: 'mock-document-2' }, + { id: 'mock-document-3' }, + { id: 'mock-document-4' }, + ], + }, + promotedIds: ['mock-document-1', 'mock-document-2', 'mock-document-3', 'mock-document-4'], + promotedDocumentsLoading: false, + }; + const actions = { + setPromotedIds: jest.fn(), + clearPromotedIds: jest.fn(), + removePromotedId: jest.fn(), + }; + + beforeEach(() => { + jest.clearAllMocks(); + setMockValues(values); + setMockActions(actions); + }); + + const getDraggableChildren = (draggableWrapper: any) => { + return draggableWrapper.renderProp('children')({}, {}, {}); + }; + + it('renders a list of draggable promoted documents', () => { + const wrapper = shallow(); + + expect(wrapper.find(EuiDraggable)).toHaveLength(4); + + wrapper.find(EuiDraggable).forEach((draggableWrapper) => { + expect(getDraggableChildren(draggableWrapper).find(CurationResult).exists()).toBe(true); + }); + }); + + it('renders an empty state & hides the panel actions when empty', () => { + setMockValues({ ...values, curation: { promoted: [] } }); + const wrapper = shallow(); + + expect(wrapper.find(EuiEmptyPrompt)).toHaveLength(1); + expect(wrapper.find(DataPanel).prop('action')).toBe(false); + }); + + it('renders a loading state', () => { + setMockValues({ ...values, promotedDocumentsLoading: true }); + const wrapper = shallow(); + + expect(wrapper.find(DataPanel).prop('isLoading')).toEqual(true); + }); + + describe('actions', () => { + it('renders results with an action button that demotes the result', () => { + const wrapper = shallow(); + const result = getDraggableChildren(wrapper.find(EuiDraggable).last()); + result.prop('actions')[0].onClick(); + + expect(actions.removePromotedId).toHaveBeenCalledWith('mock-document-4'); + }); + + it('renders a demote all button that demotes all hidden results', () => { + const wrapper = shallow(); + const panelActions = shallow(wrapper.find(DataPanel).prop('action') as React.ReactElement); + + panelActions.find(EuiButtonEmpty).simulate('click'); + expect(actions.clearPromotedIds).toHaveBeenCalled(); + }); + + describe('draggging', () => { + it('calls setPromotedIds with the reordered list when users are done dragging', () => { + const wrapper = shallow(); + wrapper.find(EuiDragDropContext).simulate('dragEnd', { + source: { index: 3 }, + destination: { index: 0 }, + }); + + expect(actions.setPromotedIds).toHaveBeenCalledWith([ + 'mock-document-4', + 'mock-document-1', + 'mock-document-2', + 'mock-document-3', + ]); + }); + + it('does not error if source/destination are unavailable on drag end', () => { + const wrapper = shallow(); + wrapper.find(EuiDragDropContext).simulate('dragEnd', {}); + + expect(actions.setPromotedIds).not.toHaveBeenCalled(); + }); + }); + }); +}); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/promoted_documents.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/promoted_documents.tsx new file mode 100644 index 0000000000000..18f7a7bd8b960 --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/documents/promoted_documents.tsx @@ -0,0 +1,124 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +import { useValues, useActions } from 'kea'; + +import { + EuiFlexGroup, + EuiFlexItem, + EuiEmptyPrompt, + EuiButtonEmpty, + EuiDragDropContext, + DropResult, + EuiDroppable, + EuiDraggable, + euiDragDropReorder, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +import { DataPanel } from '../../../data_panel'; + +import { DEMOTE_DOCUMENT_ACTION } from '../../constants'; +import { CurationLogic } from '../curation_logic'; +import { AddResultButton, CurationResult, convertToResultFormat } from '../results'; + +export const PromotedDocuments: React.FC = () => { + const { curation, promotedIds, promotedDocumentsLoading } = useValues(CurationLogic); + const documents = curation.promoted; + const hasDocuments = documents.length > 0; + + const { setPromotedIds, clearPromotedIds, removePromotedId } = useActions(CurationLogic); + const reorderPromotedIds = ({ source, destination }: DropResult) => { + if (source && destination) { + const reorderedIds = euiDragDropReorder(promotedIds, source.index, destination.index); + setPromotedIds(reorderedIds); + } + }; + + return ( + + {i18n.translate( + 'xpack.enterpriseSearch.appSearch.engine.curations.promotedDocuments.title', + { defaultMessage: 'Promoted documents' } + )} + + } + subtitle={i18n.translate( + 'xpack.enterpriseSearch.appSearch.engine.curations.promotedDocuments.description', + { + defaultMessage: + 'Promoted results appear before organic results. Documents can be re-ordered.', + } + )} + action={ + hasDocuments && ( + + + + + + + {i18n.translate( + 'xpack.enterpriseSearch.appSearch.engine.curations.promotedDocuments.removeAllButtonLabel', + { defaultMessage: 'Demote all' } + )} + + + + ) + } + isLoading={promotedDocumentsLoading} + > + {hasDocuments ? ( + + + {documents.map((document, i: number) => ( + + {(provided) => ( + removePromotedId(document.id), + }, + ]} + dragHandleProps={provided.dragHandleProps} + /> + )} + + ))} + + + ) : ( + } + /> + )} + + ); +}; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/add_result_button.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/add_result_button.test.tsx new file mode 100644 index 0000000000000..78f5325ee567b --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/add_result_button.test.tsx @@ -0,0 +1,31 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +import { shallow, ShallowWrapper } from 'enzyme'; + +import { EuiButton } from '@elastic/eui'; + +import { AddResultButton } from './'; + +describe('AddResultButton', () => { + let wrapper: ShallowWrapper; + + beforeAll(() => { + wrapper = shallow(); + }); + + it('renders', () => { + expect(wrapper.find(EuiButton)).toHaveLength(1); + }); + + it('opens the add result flyout on click', () => { + wrapper.find(EuiButton).simulate('click'); + // TODO: assert on logic action + }); +}); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/add_result_button.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/add_result_button.tsx new file mode 100644 index 0000000000000..9bbc62ae51a0b --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/add_result_button.tsx @@ -0,0 +1,21 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +import { EuiButton } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +export const AddResultButton: React.FC = () => { + return ( + {} /* TODO */} iconType="plusInCircle" size="s" fill> + {i18n.translate('xpack.enterpriseSearch.appSearch.engine.curations.addResult.buttonLabel', { + defaultMessage: 'Add result manually', + })} + + ); +}; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/index.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/index.ts index bbdb87bbe4fa9..3c6339f0c1942 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/index.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/index.ts @@ -5,4 +5,6 @@ * 2.0. */ +export { AddResultButton } from './add_result_button'; export { CurationResult } from './curation_result'; +export { convertToResultFormat } from './utils'; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/utils.test.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/utils.test.ts new file mode 100644 index 0000000000000..7bc05f34511a0 --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/utils.test.ts @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { convertToResultFormat, convertIdToMeta } from './utils'; + +describe('convertToResultFormat', () => { + it('converts curation results to a format that the Result component can use', () => { + expect( + convertToResultFormat({ + id: 'some-id', + someField: 'some flat string', + anotherField: '123456', + }) + ).toEqual({ + _meta: { + id: 'some-id', + }, + id: { + raw: 'some-id', + snippet: null, + }, + someField: { + raw: 'some flat string', + snippet: null, + }, + anotherField: { + raw: '123456', + snippet: null, + }, + }); + }); +}); + +describe('convertIdToMeta', () => { + it('creates an approximate _meta object based on the curation result ID', () => { + expect(convertIdToMeta('some-id')).toEqual({ id: 'some-id' }); + expect(convertIdToMeta('some-engine|some-id')).toEqual({ + id: 'some-id', + engine: 'some-engine', + }); + }); +}); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/utils.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/utils.ts new file mode 100644 index 0000000000000..b5a5bf1b5a90a --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/results/utils.ts @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { Result } from '../../../result/types'; +import { CurationResult } from '../../types'; + +/** + * The `promoted` and `hidden` keys from the internal curations endpoints + * currently return a document data structure that our Result component can't + * correctly parse - we need to attempt to naively transform the data in order + * to display it in a Result + * + * TODO: Ideally someday we can update our internal curations endpoint to return + * the same Result-ready data structure that the `organic` endpoint uses, and + * remove this file when that happens + */ + +export const convertToResultFormat = (document: CurationResult): Result => { + const result = {} as Result; + + // Convert `key: 'value'` into `key: { raw: 'value' }` + Object.entries(document).forEach(([key, value]) => { + result[key] = { + raw: value, + snippet: null, // Don't try to provide a snippet, we can't really guesstimate it + }; + }); + + // Add the _meta obj needed by Result + result._meta = convertIdToMeta(document.id); + + return result; +}; + +export const convertIdToMeta = (id: string): Result['_meta'] => { + const splitId = id.split('|'); + const isMetaEngine = splitId.length > 1; + + return isMetaEngine + ? { + engine: splitId[0], + id: splitId[1], + } + : ({ id } as Result['_meta']); + // Note: We're casting this as _meta even though `engine` is missing, + // since for source engines the engine shouldn't matter / be displayed, + // but if needed we could likely populate this from EngineLogic.values +}; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/utils.test.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/utils.test.ts index 435b76458db06..51618ed4e3741 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/utils.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/utils.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { convertToDate } from './utils'; +import { convertToDate, addDocument, removeDocument } from './utils'; describe('convertToDate', () => { it('converts the English-only server timestamps to a parseable Date', () => { @@ -16,3 +16,23 @@ describe('convertToDate', () => { expect(date.getFullYear()).toEqual(1970); }); }); + +describe('addDocument', () => { + it('adds a new document to the end of the document array without mutating the original array', () => { + const originalDocuments = ['hello']; + const newDocuments = addDocument(originalDocuments, 'world'); + + expect(newDocuments).toEqual(['hello', 'world']); + expect(newDocuments).not.toBe(originalDocuments); // Would fail if we had mutated the array + }); +}); + +describe('removeDocument', () => { + it('removes a specific document from the array without mutating the original array', () => { + const originalDocuments = ['lorem', 'ipsum', 'dolor', 'sit', 'amet']; + const newDocuments = removeDocument(originalDocuments, 'dolor'); + + expect(newDocuments).toEqual(['lorem', 'ipsum', 'sit', 'amet']); + expect(newDocuments).not.toBe(originalDocuments); // Would fail if we had mutated the array + }); +}); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/utils.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/utils.ts index 2ef73e1de4e91..8af2636128304 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/utils.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/utils.ts @@ -14,3 +14,14 @@ export const convertToDate = (serverDateString: string): Date => { .replace('AM', ' AM'); return new Date(readableDateString); }; + +export const addDocument = (documentArray: string[], newDocument: string) => { + return [...documentArray, newDocument]; +}; + +export const removeDocument = (documentArray: string[], deletedDocument: string) => { + const newArray = [...documentArray]; + const indexToDelete = newArray.indexOf(deletedDocument); + newArray.splice(indexToDelete, 1); + return newArray; +}; From 34b6267893402d0ba99a00d93844cb951dcd0085 Mon Sep 17 00:00:00 2001 From: John Schulz Date: Wed, 17 Mar 2021 23:46:03 -0400 Subject: [PATCH 28/50] Collapse two unenroll functions into one (#94848) ## Summary Refactoring in progress towards https://github.com/elastic/kibana/issues/90437 Collapse `forceUninstallAgents` into `uninstallAgents` into one function with an option. The pseudocode diff is ```diff - function uninstallAgents() { - // filtering logic A - // side effects A - } - function forceUninstallAgents() { - // filtering logic A - // side effects B - } + function uninstallAgents({ flag: boolean}) { + // filtering logic A + // if flag: side effects B + // else: side effects A + } ``` actually, there is [_one difference_](https://github.com/elastic/kibana/pull/94848/files/5564f253831a8a94e2b2bbb808afe6d2019016d7#diff-ecc3c625f2366949f1723e56b8477f6afb552ccfbcf3a71e0c28b2062fd05195) in the filtering logic ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../server/routes/agent/unenroll_handler.ts | 17 +-- .../fleet/server/services/agents/unenroll.ts | 123 +++++++++--------- 2 files changed, 68 insertions(+), 72 deletions(-) diff --git a/x-pack/plugins/fleet/server/routes/agent/unenroll_handler.ts b/x-pack/plugins/fleet/server/routes/agent/unenroll_handler.ts index 245ef4afdeb11..558a9a8afbb0b 100644 --- a/x-pack/plugins/fleet/server/routes/agent/unenroll_handler.ts +++ b/x-pack/plugins/fleet/server/routes/agent/unenroll_handler.ts @@ -52,19 +52,20 @@ export const postBulkAgentsUnenrollHandler: RequestHandler< body: { message: 'Requires Gold license' }, }); } + const soClient = context.core.savedObjects.client; const esClient = context.core.elasticsearch.client.asInternalUser; - const unenrollAgents = - request.body?.force === true ? AgentService.forceUnenrollAgents : AgentService.unenrollAgents; + const agentOptions = Array.isArray(request.body.agents) + ? { agentIds: request.body.agents } + : { kuery: request.body.agents }; try { - if (Array.isArray(request.body.agents)) { - await unenrollAgents(soClient, esClient, { agentIds: request.body.agents }); - } else { - await unenrollAgents(soClient, esClient, { kuery: request.body.agents }); - } - + await AgentService.unenrollAgents(soClient, esClient, { + ...agentOptions, + force: request.body?.force, + }); const body: PostBulkAgentUnenrollResponse = {}; + return response.ok({ body }); } catch (error) { return defaultIngestErrorHandler({ error, response }); diff --git a/x-pack/plugins/fleet/server/services/agents/unenroll.ts b/x-pack/plugins/fleet/server/services/agents/unenroll.ts index 14f9aa46e9fa6..8cf7396eaa8de 100644 --- a/x-pack/plugins/fleet/server/services/agents/unenroll.ts +++ b/x-pack/plugins/fleet/server/services/agents/unenroll.ts @@ -56,14 +56,18 @@ export async function unenrollAgent( export async function unenrollAgents( soClient: SavedObjectsClientContract, esClient: ElasticsearchClient, - options: GetAgentsOptions + options: GetAgentsOptions & { force?: boolean } ) { + // start with all agents specified const agents = await getAgents(esClient, options); - // Filter to agents that are not already unenrolled, or unenrolling - const agentsEnrolled = agents.filter( - (agent) => !agent.unenrollment_started_at && !agent.unenrolled_at - ); + // Filter to those not already unenrolled, or unenrolling + const agentsEnrolled = agents.filter((agent) => { + if (options.force) { + return !agent.unenrolled_at; + } + return !agent.unenrollment_started_at && !agent.unenrolled_at; + }); // And which are allowed to unenroll const settled = await Promise.allSettled( agentsEnrolled.map((agent) => @@ -71,30 +75,59 @@ export async function unenrollAgents( ) ); const agentsToUpdate = agentsEnrolled.filter((_, index) => settled[index].status === 'fulfilled'); - const now = new Date().toISOString(); - // Create unenroll action for each agent - await bulkCreateAgentActions( - soClient, - esClient, - agentsToUpdate.map((agent) => ({ - agent_id: agent.id, - created_at: now, - type: 'UNENROLL', - })) - ); + if (options.force) { + // Get all API keys that need to be invalidated + const apiKeys = agentsToUpdate.reduce((keys, agent) => { + if (agent.access_api_key_id) { + keys.push(agent.access_api_key_id); + } + if (agent.default_api_key_id) { + keys.push(agent.default_api_key_id); + } + + return keys; + }, []); + + // Invalidate all API keys + if (apiKeys.length) { + await APIKeyService.invalidateAPIKeys(soClient, apiKeys); + } + // Update the necessary agents + return bulkUpdateAgents( + esClient, + agentsToUpdate.map((agent) => ({ + agentId: agent.id, + data: { + active: false, + unenrolled_at: now, + }, + })) + ); + } else { + // Create unenroll action for each agent + await bulkCreateAgentActions( + soClient, + esClient, + agentsToUpdate.map((agent) => ({ + agent_id: agent.id, + created_at: now, + type: 'UNENROLL', + })) + ); - // Update the necessary agents - return bulkUpdateAgents( - esClient, - agentsToUpdate.map((agent) => ({ - agentId: agent.id, - data: { - unenrollment_started_at: now, - }, - })) - ); + // Update the necessary agents + return bulkUpdateAgents( + esClient, + agentsToUpdate.map((agent) => ({ + agentId: agent.id, + data: { + unenrollment_started_at: now, + }, + })) + ); + } } export async function forceUnenrollAgent( @@ -118,41 +151,3 @@ export async function forceUnenrollAgent( unenrolled_at: new Date().toISOString(), }); } - -export async function forceUnenrollAgents( - soClient: SavedObjectsClientContract, - esClient: ElasticsearchClient, - options: GetAgentsOptions -) { - // Filter to agents that are not already unenrolled - const agents = await getAgents(esClient, options); - const agentsToUpdate = agents.filter((agent) => !agent.unenrolled_at); - const now = new Date().toISOString(); - const apiKeys: string[] = []; - - // Get all API keys that need to be invalidated - agentsToUpdate.forEach((agent) => { - if (agent.access_api_key_id) { - apiKeys.push(agent.access_api_key_id); - } - if (agent.default_api_key_id) { - apiKeys.push(agent.default_api_key_id); - } - }); - - // Invalidate all API keys - if (apiKeys.length) { - APIKeyService.invalidateAPIKeys(soClient, apiKeys); - } - // Update the necessary agents - return bulkUpdateAgents( - esClient, - agentsToUpdate.map((agent) => ({ - agentId: agent.id, - data: { - active: false, - unenrolled_at: now, - }, - })) - ); -} From 85d5f40d0cc425dddaebfaf92af9a3577e69c9c5 Mon Sep 17 00:00:00 2001 From: Nicolas Chaulet Date: Wed, 17 Mar 2021 23:50:08 -0400 Subject: [PATCH 29/50] [Fleet] Fix version on agent details screen (#94867) --- .../components/agent_details/agent_details_overview.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_details/agent_details_overview.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_details/agent_details_overview.tsx index 5492d13f8ab93..482861b3db9e8 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_details/agent_details_overview.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_details/agent_details_overview.tsx @@ -55,7 +55,7 @@ export const AgentDetailsOverviewSection: React.FunctionComponent<{ {agentPolicy.name || agentPolicy.id} From 051be907637b5098ab9e83904bdb3fc9cf1e0a2f Mon Sep 17 00:00:00 2001 From: Xavier Mouligneau <189600+XavierM@users.noreply.github.com> Date: Wed, 17 Mar 2021 23:52:52 -0400 Subject: [PATCH 30/50] [SECURITY SOLUTIONS][Alerts Actions] Fix migration from 7.11.0/7.11.1 to 7.12 (#94722) * do not modify connector with the right structure * review trying to bring back incident to live when we can * manage custom action * fix cypress test Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../server/saved_objects/migrations.test.ts | 126 ++++++++++ .../server/saved_objects/migrations.ts | 217 ++++++++++-------- .../integration/cases/connectors.spec.ts | 2 +- .../exceptions/exceptions_modal.spec.ts | 2 +- .../timelines/data_providers.spec.ts | 2 +- .../timelines/flyout_button.spec.ts | 2 +- .../rule_actions/migrations.ts | 217 ++++++++++-------- 7 files changed, 382 insertions(+), 186 deletions(-) diff --git a/x-pack/plugins/alerting/server/saved_objects/migrations.test.ts b/x-pack/plugins/alerting/server/saved_objects/migrations.test.ts index 64663f8330b24..676ce1d27d2fc 100644 --- a/x-pack/plugins/alerting/server/saved_objects/migrations.test.ts +++ b/x-pack/plugins/alerting/server/saved_objects/migrations.test.ts @@ -571,6 +571,132 @@ describe('7.11.2', () => { } as SavedObjectUnsanitizedDoc; expect(isAnyActionSupportIncidents(doc)).toBe(false); }); + + test('it does not transforms alerts when the right structure connectors is already applied', () => { + const migration7112 = getMigrations(encryptedSavedObjectsSetup)['7.11.2']; + const alert = getMockData({ + actions: [ + { + actionTypeId: '.server-log', + group: 'threshold met', + params: { + level: 'info', + message: 'log message', + }, + id: '99257478-e591-4560-b264-441bdd4fe1d9', + }, + { + actionTypeId: '.servicenow', + group: 'threshold met', + params: { + subAction: 'pushToService', + subActionParams: { + incident: { + short_description: 'SN short desc', + description: 'SN desc', + severity: '2', + impact: '2', + urgency: '2', + }, + comments: [{ commentId: '1', comment: 'sn comment' }], + }, + }, + id: '1266562a-4e1f-4305-99ca-1b44c469b26e', + }, + ], + }); + + expect(migration7112(alert, migrationContext)).toEqual(alert); + }); + + test('if incident attribute is an empty object, copy back the related attributes from subActionParams back to incident', () => { + const migration7112 = getMigrations(encryptedSavedObjectsSetup)['7.11.2']; + const alert = getMockData({ + actions: [ + { + actionTypeId: '.server-log', + group: 'threshold met', + params: { + level: 'info', + message: 'log message', + }, + id: '99257478-e591-4560-b264-441bdd4fe1d9', + }, + { + actionTypeId: '.servicenow', + group: 'threshold met', + params: { + subAction: 'pushToService', + subActionParams: { + short_description: 'SN short desc', + description: 'SN desc', + severity: '2', + impact: '2', + urgency: '2', + incident: {}, + comments: [{ commentId: '1', comment: 'sn comment' }], + }, + }, + id: '1266562a-4e1f-4305-99ca-1b44c469b26e', + }, + ], + }); + + expect(migration7112(alert, migrationContext)).toEqual({ + ...alert, + attributes: { + ...alert.attributes, + actions: [ + alert.attributes.actions![0], + { + actionTypeId: '.servicenow', + group: 'threshold met', + params: { + subAction: 'pushToService', + subActionParams: { + incident: { + short_description: 'SN short desc', + description: 'SN desc', + severity: '2', + impact: '2', + urgency: '2', + }, + comments: [{ commentId: '1', comment: 'sn comment' }], + }, + }, + id: '1266562a-4e1f-4305-99ca-1b44c469b26e', + }, + ], + }, + }); + }); + + test('custom action does not get migrated/loss', () => { + const migration7112 = getMigrations(encryptedSavedObjectsSetup)['7.11.2']; + const alert = getMockData({ + actions: [ + { + actionTypeId: '.mike', + group: 'threshold met', + params: { + subAction: 'pushToService', + subActionParams: { + short_description: 'SN short desc', + description: 'SN desc', + severity: '2', + impact: '2', + urgency: '2', + incident: {}, + comments: [{ commentId: '1', comment: 'sn comment' }], + }, + }, + id: '1266562a-4e1f-4305-99ca-1b44c469b26e', + }, + ], + }); + + expect(migration7112(alert, migrationContext)).toEqual(alert); + }); }); function getUpdatedAt(): string { diff --git a/x-pack/plugins/alerting/server/saved_objects/migrations.ts b/x-pack/plugins/alerting/server/saved_objects/migrations.ts index f2f956a0a2b26..729290498561f 100644 --- a/x-pack/plugins/alerting/server/saved_objects/migrations.ts +++ b/x-pack/plugins/alerting/server/saved_objects/migrations.ts @@ -10,6 +10,7 @@ import { SavedObjectUnsanitizedDoc, SavedObjectMigrationFn, SavedObjectMigrationContext, + SavedObjectAttributes, } from '../../../../../src/core/server'; import { RawAlert, RawAlertAction } from '../types'; import { EncryptedSavedObjectsPluginSetup } from '../../../encrypted_saved_objects/server'; @@ -180,113 +181,147 @@ function initializeExecutionStatus( }; } +function isEmptyObject(obj: {}) { + for (const attr in obj) { + if (Object.prototype.hasOwnProperty.call(obj, attr)) { + return false; + } + } + return true; +} + function restructureConnectorsThatSupportIncident( doc: SavedObjectUnsanitizedDoc ): SavedObjectUnsanitizedDoc { const { actions } = doc.attributes; const newActions = actions.reduce((acc, action) => { - if (action.params.subAction !== 'pushToService') { - return [...acc, action]; - } - - if (action.actionTypeId === '.servicenow') { - const { title, comments, comment, description, severity, urgency, impact } = action.params - .subActionParams as { - title: string; - description?: string; - severity?: string; - urgency?: string; - impact?: string; - comment?: string; - comments?: Array<{ commentId: string; comment: string }>; - }; - return [ - ...acc, - { - ...action, - params: { - subAction: 'pushToService', - subActionParams: { - incident: { - short_description: title, - description, - severity, - urgency, - impact, + if ( + ['.servicenow', '.jira', '.resilient'].includes(action.actionTypeId) && + action.params.subAction === 'pushToService' + ) { + // Future developer, we needed to do that because when we created this migration + // we forget to think about user already using 7.11.0 and having an incident attribute build the right way + // IMPORTANT -> if you change this code please do the same inside of this file + // x-pack/plugins/alerting/server/saved_objects/migrations.ts + const subActionParamsIncident = + (action.params?.subActionParams as SavedObjectAttributes)?.incident ?? null; + if (subActionParamsIncident != null && !isEmptyObject(subActionParamsIncident)) { + return [...acc, action]; + } + if (action.actionTypeId === '.servicenow') { + const { + title, + comments, + comment, + description, + severity, + urgency, + impact, + short_description: shortDescription, + } = action.params.subActionParams as { + title: string; + description?: string; + severity?: string; + urgency?: string; + impact?: string; + comment?: string; + comments?: Array<{ commentId: string; comment: string }>; + short_description?: string; + }; + return [ + ...acc, + { + ...action, + params: { + subAction: 'pushToService', + subActionParams: { + incident: { + short_description: shortDescription ?? title, + description, + severity, + urgency, + impact, + }, + comments: [ + ...(comments ?? []), + ...(comment != null ? [{ commentId: '1', comment }] : []), + ], }, - comments: [ - ...(comments ?? []), - ...(comment != null ? [{ commentId: '1', comment }] : []), - ], }, }, - }, - ] as RawAlertAction[]; - } - - if (action.actionTypeId === '.jira') { - const { title, comments, description, issueType, priority, labels, parent } = action.params - .subActionParams as { - title: string; - description: string; - issueType: string; - priority?: string; - labels?: string[]; - parent?: string; - comments?: unknown[]; - }; - return [ - ...acc, - { - ...action, - params: { - subAction: 'pushToService', - subActionParams: { - incident: { - summary: title, - description, - issueType, - priority, - labels, - parent, + ] as RawAlertAction[]; + } else if (action.actionTypeId === '.jira') { + const { + title, + comments, + description, + issueType, + priority, + labels, + parent, + summary, + } = action.params.subActionParams as { + title: string; + description: string; + issueType: string; + priority?: string; + labels?: string[]; + parent?: string; + comments?: unknown[]; + summary?: string; + }; + return [ + ...acc, + { + ...action, + params: { + subAction: 'pushToService', + subActionParams: { + incident: { + summary: summary ?? title, + description, + issueType, + priority, + labels, + parent, + }, + comments, }, - comments, }, }, - }, - ] as RawAlertAction[]; - } - - if (action.actionTypeId === '.resilient') { - const { title, comments, description, incidentTypes, severityCode } = action.params - .subActionParams as { - title: string; - description: string; - incidentTypes?: number[]; - severityCode?: number; - comments?: unknown[]; - }; - return [ - ...acc, - { - ...action, - params: { - subAction: 'pushToService', - subActionParams: { - incident: { - name: title, - description, - incidentTypes, - severityCode, + ] as RawAlertAction[]; + } else if (action.actionTypeId === '.resilient') { + const { title, comments, description, incidentTypes, severityCode, name } = action.params + .subActionParams as { + title: string; + description: string; + incidentTypes?: number[]; + severityCode?: number; + comments?: unknown[]; + name?: string; + }; + return [ + ...acc, + { + ...action, + params: { + subAction: 'pushToService', + subActionParams: { + incident: { + name: name ?? title, + description, + incidentTypes, + severityCode, + }, + comments, }, - comments, }, }, - }, - ] as RawAlertAction[]; + ] as RawAlertAction[]; + } } - return acc; + return [...acc, action]; }, [] as RawAlertAction[]); return { diff --git a/x-pack/plugins/security_solution/cypress/integration/cases/connectors.spec.ts b/x-pack/plugins/security_solution/cypress/integration/cases/connectors.spec.ts index a3291af3a9eb6..996df2a8fe60a 100644 --- a/x-pack/plugins/security_solution/cypress/integration/cases/connectors.spec.ts +++ b/x-pack/plugins/security_solution/cypress/integration/cases/connectors.spec.ts @@ -43,7 +43,7 @@ describe('Cases connectors', () => { }; beforeEach(() => { cleanKibana(); - cy.intercept('POST', '/api/actions/action').as('createConnector'); + cy.intercept('POST', '/api/actions/connector').as('createConnector'); cy.intercept('POST', '/api/cases/configure', (req) => { const connector = req.body.connector; req.reply((res) => { diff --git a/x-pack/plugins/security_solution/cypress/integration/exceptions/exceptions_modal.spec.ts b/x-pack/plugins/security_solution/cypress/integration/exceptions/exceptions_modal.spec.ts index 154e90d509c61..2e0599dfcae21 100644 --- a/x-pack/plugins/security_solution/cypress/integration/exceptions/exceptions_modal.spec.ts +++ b/x-pack/plugins/security_solution/cypress/integration/exceptions/exceptions_modal.spec.ts @@ -133,7 +133,7 @@ describe('Exceptions modal', () => { closeExceptionBuilderModal(); }); - it('Does not overwrite values of nested entry items', () => { + it.skip('Does not overwrite values of nested entry items', () => { openExceptionModalFromRuleSettings(); cy.get(LOADING_SPINNER).should('not.exist'); diff --git a/x-pack/plugins/security_solution/cypress/integration/timelines/data_providers.spec.ts b/x-pack/plugins/security_solution/cypress/integration/timelines/data_providers.spec.ts index dbaba4d4f5c7b..cb93007f19c9c 100644 --- a/x-pack/plugins/security_solution/cypress/integration/timelines/data_providers.spec.ts +++ b/x-pack/plugins/security_solution/cypress/integration/timelines/data_providers.spec.ts @@ -74,7 +74,7 @@ describe('timeline data providers', () => { }); }); - it('sets the background to euiColorSuccess with a 10% alpha channel when the user starts dragging a host, but is not hovering over the data providers', () => { + it.skip('sets the background to euiColorSuccess with a 10% alpha channel when the user starts dragging a host, but is not hovering over the data providers', () => { dragFirstHostToTimeline(); if (Cypress.browser.name === 'firefox') { diff --git a/x-pack/plugins/security_solution/cypress/integration/timelines/flyout_button.spec.ts b/x-pack/plugins/security_solution/cypress/integration/timelines/flyout_button.spec.ts index 25b790b57bc06..6b6463803ee37 100644 --- a/x-pack/plugins/security_solution/cypress/integration/timelines/flyout_button.spec.ts +++ b/x-pack/plugins/security_solution/cypress/integration/timelines/flyout_button.spec.ts @@ -76,7 +76,7 @@ describe('timeline flyout button', () => { closeTimelineUsingCloseButton(); }); - it('sets the data providers background to euiColorSuccess with a 10% alpha channel when the user starts dragging a host, but is not hovering over the data providers area', () => { + it.skip('sets the data providers background to euiColorSuccess with a 10% alpha channel when the user starts dragging a host, but is not hovering over the data providers area', () => { dragFirstHostToTimeline(); if (Cypress.browser.name === 'firefox') { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/migrations.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/migrations.ts index 2180dbb68524d..4b66c20e5784a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/migrations.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/migrations.ts @@ -8,117 +8,152 @@ import { SavedObjectUnsanitizedDoc, SavedObjectSanitizedDoc, + SavedObjectAttributes, } from '../../../../../../../src/core/server'; import { IRuleActionsAttributesSavedObjectAttributes, RuleAlertAction } from './types'; +function isEmptyObject(obj: {}) { + for (const attr in obj) { + if (Object.prototype.hasOwnProperty.call(obj, attr)) { + return false; + } + } + return true; +} + export const ruleActionsSavedObjectMigration = { '7.11.2': ( doc: SavedObjectUnsanitizedDoc ): SavedObjectSanitizedDoc => { const { actions } = doc.attributes; const newActions = actions.reduce((acc, action) => { - if (action.params.subAction !== 'pushToService') { - return [...acc, action]; - } - - if (action.action_type_id === '.servicenow') { - const { title, comments, comment, description, severity, urgency, impact } = action.params - .subActionParams as { - title: string; - description?: string; - severity?: string; - urgency?: string; - impact?: string; - comment?: string; - comments?: Array<{ commentId: string; comment: string }>; - }; - return [ - ...acc, - { - ...action, - params: { - subAction: 'pushToService', - subActionParams: { - incident: { - short_description: title, - description, - severity, - urgency, - impact, + if ( + ['.servicenow', '.jira', '.resilient'].includes(action.action_type_id) && + action.params.subAction === 'pushToService' + ) { + // Future developer, we needed to do that because when we created this migration + // we forget to think about user already using 7.11.0 and having an incident attribute build the right way + // IMPORTANT -> if you change this code please do the same inside of this file + // x-pack/plugins/alerting/server/saved_objects/migrations.ts + const subActionParamsIncident = + (action.params?.subActionParams as SavedObjectAttributes)?.incident ?? null; + if (subActionParamsIncident != null && !isEmptyObject(subActionParamsIncident)) { + return [...acc, action]; + } + if (action.action_type_id === '.servicenow') { + const { + title, + comments, + comment, + description, + severity, + urgency, + impact, + short_description: shortDescription, + } = action.params.subActionParams as { + title: string; + description?: string; + severity?: string; + urgency?: string; + impact?: string; + comment?: string; + comments?: Array<{ commentId: string; comment: string }>; + short_description?: string; + }; + return [ + ...acc, + { + ...action, + params: { + subAction: 'pushToService', + subActionParams: { + incident: { + short_description: shortDescription ?? title, + description, + severity, + urgency, + impact, + }, + comments: [ + ...(comments ?? []), + ...(comment != null ? [{ commentId: '1', comment }] : []), + ], }, - comments: [ - ...(comments ?? []), - ...(comment != null ? [{ commentId: '1', comment }] : []), - ], }, }, - }, - ] as RuleAlertAction[]; - } - - if (action.action_type_id === '.jira') { - const { title, comments, description, issueType, priority, labels, parent } = action.params - .subActionParams as { - title: string; - description: string; - issueType: string; - priority?: string; - labels?: string[]; - parent?: string; - comments?: unknown[]; - }; - return [ - ...acc, - { - ...action, - params: { - subAction: 'pushToService', - subActionParams: { - incident: { - summary: title, - description, - issueType, - priority, - labels, - parent, + ] as RuleAlertAction[]; + } else if (action.action_type_id === '.jira') { + const { + title, + comments, + description, + issueType, + priority, + labels, + parent, + summary, + } = action.params.subActionParams as { + title: string; + description: string; + issueType: string; + priority?: string; + labels?: string[]; + parent?: string; + comments?: unknown[]; + summary?: string; + }; + return [ + ...acc, + { + ...action, + params: { + subAction: 'pushToService', + subActionParams: { + incident: { + summary: summary ?? title, + description, + issueType, + priority, + labels, + parent, + }, + comments, }, - comments, }, }, - }, - ] as RuleAlertAction[]; - } - - if (action.action_type_id === '.resilient') { - const { title, comments, description, incidentTypes, severityCode } = action.params - .subActionParams as { - title: string; - description: string; - incidentTypes?: number[]; - severityCode?: number; - comments?: unknown[]; - }; - return [ - ...acc, - { - ...action, - params: { - subAction: 'pushToService', - subActionParams: { - incident: { - name: title, - description, - incidentTypes, - severityCode, + ] as RuleAlertAction[]; + } else if (action.action_type_id === '.resilient') { + const { title, comments, description, incidentTypes, severityCode, name } = action.params + .subActionParams as { + title: string; + description: string; + incidentTypes?: number[]; + severityCode?: number; + comments?: unknown[]; + name?: string; + }; + return [ + ...acc, + { + ...action, + params: { + subAction: 'pushToService', + subActionParams: { + incident: { + name: name ?? title, + description, + incidentTypes, + severityCode, + }, + comments, }, - comments, }, }, - }, - ] as RuleAlertAction[]; + ] as RuleAlertAction[]; + } } - return acc; + return [...acc, action]; }, [] as RuleAlertAction[]); return { From 90e301344955124fff2744427821d0d55dad34b3 Mon Sep 17 00:00:00 2001 From: Joe Reuter Date: Thu, 18 Mar 2021 08:18:59 +0100 Subject: [PATCH 31/50] add mocks for Lens plugin (#94593) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/lens/public/mocks.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 x-pack/plugins/lens/public/mocks.ts diff --git a/x-pack/plugins/lens/public/mocks.ts b/x-pack/plugins/lens/public/mocks.ts new file mode 100644 index 0000000000000..10d3be1d1b57d --- /dev/null +++ b/x-pack/plugins/lens/public/mocks.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { LensPublicStart } from '.'; + +export type Start = jest.Mocked; + +const createStartContract = (): Start => { + const startContract: Start = { + EmbeddableComponent: jest.fn(() => null), + canUseEditor: jest.fn(() => true), + navigateToPrefilledEditor: jest.fn(), + }; + return startContract; +}; + +export const lensPluginMock = { + createStartContract, +}; From 52a1ce17233079138ee4cf6bd9f86eaa6266ea7a Mon Sep 17 00:00:00 2001 From: Joe Reuter Date: Thu, 18 Mar 2021 08:21:39 +0100 Subject: [PATCH 32/50] [Lens] Runtime field editor (#91882) --- api_docs/lens.json | 14 +- .../field_editor/form_fields/script_field.tsx | 5 +- test/functional/services/field_editor.ts | 44 +++++ test/functional/services/index.ts | 2 + x-pack/plugins/lens/kibana.json | 3 +- .../indexpattern_datasource/datapanel.scss | 4 + .../datapanel.test.tsx | 82 +++++++- .../indexpattern_datasource/datapanel.tsx | 181 ++++++++++++++++-- .../field_item.test.tsx | 22 ++- .../indexpattern_datasource/field_item.tsx | 34 ++++ .../indexpattern_datasource/field_list.tsx | 4 + .../fields_accordion.tsx | 13 +- .../public/indexpattern_datasource/index.ts | 5 +- .../indexpattern.test.ts | 2 + .../indexpattern_datasource/indexpattern.tsx | 5 + .../public/indexpattern_datasource/loader.ts | 1 + .../public/indexpattern_datasource/types.ts | 1 + x-pack/plugins/lens/public/plugin.ts | 2 + x-pack/plugins/lens/tsconfig.json | 1 + x-pack/test/functional/apps/lens/index.ts | 1 + .../functional/apps/lens/runtime_fields.ts | 66 +++++++ .../test/functional/page_objects/lens_page.ts | 32 ++++ 22 files changed, 488 insertions(+), 36 deletions(-) create mode 100644 test/functional/services/field_editor.ts create mode 100644 x-pack/test/functional/apps/lens/runtime_fields.ts diff --git a/api_docs/lens.json b/api_docs/lens.json index 1c7581a8a1db6..235f2021e9823 100644 --- a/api_docs/lens.json +++ b/api_docs/lens.json @@ -330,7 +330,7 @@ "description": [], "source": { "path": "x-pack/plugins/lens/public/indexpattern_datasource/types.ts", - "lineNumber": 72 + "lineNumber": 73 }, "signature": [ "Record boolean" @@ -542,7 +542,7 @@ ], "source": { "path": "x-pack/plugins/lens/public/plugin.ts", - "lineNumber": 79 + "lineNumber": 81 }, "initialIsOpen": false }, @@ -1553,7 +1553,7 @@ "description": [], "source": { "path": "x-pack/plugins/lens/public/indexpattern_datasource/types.ts", - "lineNumber": 75 + "lineNumber": 76 }, "signature": [ "{ columns: Record; columnOrder: string[]; incompleteColumns?: Record | undefined; }" diff --git a/src/plugins/index_pattern_field_editor/public/components/field_editor/form_fields/script_field.tsx b/src/plugins/index_pattern_field_editor/public/components/field_editor/form_fields/script_field.tsx index d15445f3e10ae..29945e15874b7 100644 --- a/src/plugins/index_pattern_field_editor/public/components/field_editor/form_fields/script_field.tsx +++ b/src/plugins/index_pattern_field_editor/public/components/field_editor/form_fields/script_field.tsx @@ -91,7 +91,10 @@ export const ScriptField = React.memo(({ existingConcreteFields, links, syntaxEr const painlessSyntaxErrors = PainlessLang.getSyntaxErrors(); // It is possible for there to be more than one editor in a view, // so we need to get the syntax errors based on the editor (aka model) ID - const editorHasSyntaxErrors = editorId && painlessSyntaxErrors[editorId].length > 0; + const editorHasSyntaxErrors = + editorId && + painlessSyntaxErrors[editorId] && + painlessSyntaxErrors[editorId].length > 0; if (editorHasSyntaxErrors) { return resolve({ diff --git a/test/functional/services/field_editor.ts b/test/functional/services/field_editor.ts new file mode 100644 index 0000000000000..5cd1f2c4f6202 --- /dev/null +++ b/test/functional/services/field_editor.ts @@ -0,0 +1,44 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { FtrProviderContext } from '../ftr_provider_context'; + +export function FieldEditorProvider({ getService }: FtrProviderContext) { + const browser = getService('browser'); + const retry = getService('retry'); + const testSubjects = getService('testSubjects'); + + class FieldEditor { + public async setName(name: string) { + await testSubjects.setValue('nameField > input', name); + } + public async enableValue() { + await testSubjects.setEuiSwitch('valueRow > toggle', 'check'); + } + public async disableValue() { + await testSubjects.setEuiSwitch('valueRow > toggle', 'uncheck'); + } + public async typeScript(script: string) { + const editor = await (await testSubjects.find('valueRow')).findByClassName( + 'react-monaco-editor-container' + ); + const textarea = await editor.findByClassName('monaco-mouse-cursor-text'); + + await textarea.click(); + await browser.pressKeys(script); + } + public async save() { + await retry.try(async () => { + await testSubjects.click('fieldSaveButton'); + await testSubjects.missingOrFail('fieldSaveButton', { timeout: 2000 }); + }); + } + } + + return new FieldEditor(); +} diff --git a/test/functional/services/index.ts b/test/functional/services/index.ts index 07d5ef950d21e..0dd7f20debcbd 100644 --- a/test/functional/services/index.ts +++ b/test/functional/services/index.ts @@ -31,6 +31,7 @@ import { FilterBarProvider } from './filter_bar'; import { FlyoutProvider } from './flyout'; import { GlobalNavProvider } from './global_nav'; import { InspectorProvider } from './inspector'; +import { FieldEditorProvider } from './field_editor'; import { ManagementMenuProvider } from './management'; import { QueryBarProvider } from './query_bar'; import { RemoteProvider } from './remote'; @@ -74,6 +75,7 @@ export const services = { browser: BrowserProvider, pieChart: PieChartProvider, inspector: InspectorProvider, + fieldEditor: FieldEditorProvider, vegaDebugInspector: VegaDebugInspectorViewProvider, appsMenu: AppsMenuProvider, globalNav: GlobalNavProvider, diff --git a/x-pack/plugins/lens/kibana.json b/x-pack/plugins/lens/kibana.json index d473d728dc361..a5c19911f60b9 100644 --- a/x-pack/plugins/lens/kibana.json +++ b/x-pack/plugins/lens/kibana.json @@ -15,7 +15,8 @@ "uiActions", "embeddable", "share", - "presentationUtil" + "presentationUtil", + "indexPatternFieldEditor" ], "optionalPlugins": [ "usageCollection", diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.scss b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.scss index 715d15e99ec20..bfb1106f5080e 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.scss +++ b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.scss @@ -4,6 +4,10 @@ padding: $euiSize $euiSize 0; } +.lnsInnerIndexPatternDataPanel__switcher { + min-width: 0; +} + .lnsInnerIndexPatternDataPanel__header { display: flex; align-items: center; diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx index 03f281e90f6b5..fef8ee171830d 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { ChangeEvent } from 'react'; +import React, { ChangeEvent, ReactElement } from 'react'; import { createMockedDragDropContext } from './mocks'; import { dataPluginMock } from '../../../../../src/plugins/data/public/mocks'; import { InnerIndexPatternDataPanel, IndexPatternDataPanel, MemoizedDataPanel } from './datapanel'; @@ -19,6 +19,7 @@ import { ChangeIndexPattern } from './change_indexpattern'; import { EuiProgress, EuiLoadingSpinner } from '@elastic/eui'; import { documentField } from './document_field'; import { chartPluginMock } from '../../../../../src/plugins/charts/public/mocks'; +import { indexPatternFieldEditorPluginMock } from '../../../../../src/plugins/index_pattern_field_editor/public/mocks'; import { getFieldByNameFactory } from './pure_helpers'; const fieldsOne = [ @@ -240,14 +241,16 @@ describe('IndexPattern Data Panel', () => { let defaultProps: Parameters[0] & { showNoDataPopover: () => void; }; - let core: ReturnType; + let core: ReturnType; beforeEach(() => { - core = coreMock.createSetup(); + core = coreMock.createStart(); defaultProps = { indexPatternRefs: [], existingFields: {}, data: dataPluginMock.createStartContract(), + indexPatternFieldEditor: indexPatternFieldEditorPluginMock.createStartContract(), + onUpdateIndexPattern: jest.fn(), dragDropContext: createMockedDragDropContext(), currentIndexPatternId: '1', indexPatterns: initialState.indexPatterns, @@ -806,5 +809,78 @@ describe('IndexPattern Data Panel', () => { 'memory', ]); }); + describe('edit field list', () => { + beforeEach(() => { + props.indexPatternFieldEditor.userPermissions.editIndexPattern = () => true; + }); + it('should call field editor plugin on clicking add button', async () => { + const mockIndexPattern = {}; + (props.data.indexPatterns.get as jest.Mock).mockImplementation(() => + Promise.resolve(mockIndexPattern) + ); + const wrapper = mountWithIntl(); + act(() => { + (wrapper + .find('[data-test-subj="lnsIndexPatternActions-popover"]') + .first() + .prop('children') as ReactElement).props.items[0].props.onClick(); + }); + + // wait for indx pattern to be loaded + await new Promise((r) => setTimeout(r, 0)); + + expect(props.indexPatternFieldEditor.openEditor).toHaveBeenCalledWith( + expect.objectContaining({ + ctx: expect.objectContaining({ + indexPattern: mockIndexPattern, + }), + }) + ); + }); + + it('should reload index pattern if callback gets called', async () => { + const mockIndexPattern = { + id: '1', + fields: [ + { + name: 'fieldOne', + aggregatable: true, + }, + ], + metaFields: [], + }; + (props.data.indexPatterns.get as jest.Mock).mockImplementation(() => + Promise.resolve(mockIndexPattern) + ); + const wrapper = mountWithIntl(); + act(() => { + (wrapper + .find('[data-test-subj="lnsIndexPatternActions-popover"]') + .first() + .prop('children') as ReactElement).props.items[0].props.onClick(); + }); + // wait for indx pattern to be loaded + await new Promise((r) => setTimeout(r, 0)); + await (props.indexPatternFieldEditor.openEditor as jest.Mock).mock.calls[0][0].onSave(); + // wait for indx pattern to be loaded + await new Promise((r) => setTimeout(r, 0)); + expect(props.onUpdateIndexPattern).toHaveBeenCalledWith( + expect.objectContaining({ + fields: [ + expect.objectContaining({ + name: 'fieldOne', + }), + expect.anything(), + ], + }) + ); + }); + + it('should not render add button without permissions', () => { + props.indexPatternFieldEditor.userPermissions.editIndexPattern = () => false; + const wrapper = mountWithIntl(); + expect(wrapper.find('[data-test-subj="indexPattern-add-field"]').exists()).toBe(false); + }); + }); }); }); diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.tsx index 6405309870f0c..4e86725d5100c 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.tsx @@ -7,7 +7,7 @@ import './datapanel.scss'; import { uniq, groupBy } from 'lodash'; -import React, { useState, memo, useCallback, useMemo } from 'react'; +import React, { useState, memo, useCallback, useMemo, useRef, useEffect } from 'react'; import { EuiFlexGroup, EuiFlexItem, @@ -20,9 +20,11 @@ import { EuiFilterGroup, EuiFilterButton, EuiScreenReaderOnly, + EuiButtonIcon, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; +import { CoreStart } from 'kibana/public'; import { DataPublicPluginStart, EsQueryConfig, Query, Filter } from 'src/plugins/data/public'; import { htmlIdGenerator } from '@elastic/eui'; import { DatasourceDataPanelProps, DataType, StateSetter } from '../types'; @@ -34,12 +36,13 @@ import { IndexPatternRef, } from './types'; import { trackUiEvent } from '../lens_ui_telemetry'; -import { syncExistingFields } from './loader'; +import { loadIndexPatterns, syncExistingFields } from './loader'; import { fieldExists } from './pure_helpers'; import { Loader } from '../loader'; import { esQuery, IIndexPattern } from '../../../../../src/plugins/data/public'; +import { IndexPatternFieldEditorStart } from '../../../../../src/plugins/index_pattern_field_editor/public'; -export type Props = DatasourceDataPanelProps & { +export type Props = Omit, 'core'> & { data: DataPublicPluginStart; changeIndexPattern: ( id: string, @@ -47,6 +50,8 @@ export type Props = DatasourceDataPanelProps & { setState: StateSetter ) => void; charts: ChartsPluginSetup; + core: CoreStart; + indexPatternFieldEditor: IndexPatternFieldEditorStart; }; import { LensFieldIcon } from './lens_field_icon'; import { ChangeIndexPattern } from './change_indexpattern'; @@ -112,6 +117,7 @@ export function IndexPatternDataPanel({ dateRange, changeIndexPattern, charts, + indexPatternFieldEditor, showNoDataPopover, dropOntoWorkspace, hasSuggestionForField, @@ -122,6 +128,19 @@ export function IndexPatternDataPanel({ [state, setState, changeIndexPattern] ); + const onUpdateIndexPattern = useCallback( + (indexPattern: IndexPattern) => { + setState((prevState) => ({ + ...prevState, + indexPatterns: { + ...prevState.indexPatterns, + [indexPattern.id]: indexPattern, + }, + })); + }, + [setState] + ); + const indexPatternList = uniq( Object.values(state.layers) .map((l) => l.indexPatternId) @@ -165,6 +184,7 @@ export function IndexPatternDataPanel({ dateRange.fromDate, dateRange.toDate, indexPatternList.map((x) => `${x.title}:${x.timeFieldName}`).join(','), + state.indexPatterns, ]} /> @@ -205,7 +225,9 @@ export function IndexPatternDataPanel({ core={core} data={data} charts={charts} + indexPatternFieldEditor={indexPatternFieldEditor} onChangeIndexPattern={onChangeIndexPattern} + onUpdateIndexPattern={onUpdateIndexPattern} existingFields={state.existingFields} existenceFetchFailed={state.existenceFetchFailed} dropOntoWorkspace={dropOntoWorkspace} @@ -254,21 +276,26 @@ export const InnerIndexPatternDataPanel = function InnerIndexPatternDataPanel({ filters, dragDropContext, onChangeIndexPattern, + onUpdateIndexPattern, core, data, + indexPatternFieldEditor, existingFields, charts, dropOntoWorkspace, hasSuggestionForField, -}: Omit & { +}: Omit & { data: DataPublicPluginStart; + core: CoreStart; currentIndexPatternId: string; indexPatternRefs: IndexPatternRef[]; indexPatterns: Record; dragDropContext: DragContextState; onChangeIndexPattern: (newId: string) => void; + onUpdateIndexPattern: (indexPattern: IndexPattern) => void; existingFields: IndexPatternPrivateState['existingFields']; charts: ChartsPluginSetup; + indexPatternFieldEditor: IndexPatternFieldEditorStart; existenceFetchFailed?: boolean; }) { const [localState, setLocalState] = useState({ @@ -289,6 +316,8 @@ export const InnerIndexPatternDataPanel = function InnerIndexPatternDataPanel({ const fieldInfoUnavailable = existenceFetchFailed || currentIndexPattern.hasRestrictions; + const editPermission = indexPatternFieldEditor.userPermissions.editIndexPattern(); + const unfilteredFieldGroups: FieldGroups = useMemo(() => { const containsData = (field: IndexPatternField) => { const overallField = currentIndexPattern.getFieldByName(field.name); @@ -456,6 +485,48 @@ export const InnerIndexPatternDataPanel = function InnerIndexPatternDataPanel({ [nameFilter, typeFilter] ); + const closeFieldEditor = useRef<() => void | undefined>(); + + useEffect(() => { + return () => { + // Make sure to close the editor when unmounting + if (closeFieldEditor.current) { + closeFieldEditor.current(); + } + }; + }, []); + + const editField = useMemo( + () => + editPermission + ? async (fieldName?: string, uiAction: 'edit' | 'add' = 'edit') => { + trackUiEvent(`open_field_editor_${uiAction}`); + const indexPatternInstance = await data.indexPatterns.get(currentIndexPattern.id); + closeFieldEditor.current = indexPatternFieldEditor.openEditor({ + ctx: { + indexPattern: indexPatternInstance, + }, + fieldName, + onSave: async () => { + trackUiEvent(`save_field_${uiAction}`); + const newlyMappedIndexPattern = await loadIndexPatterns({ + indexPatternsService: data.indexPatterns, + cache: {}, + patterns: [currentIndexPattern.id], + }); + onUpdateIndexPattern(newlyMappedIndexPattern[currentIndexPattern.id]); + }, + }); + } + : undefined, + [data, indexPatternFieldEditor, currentIndexPattern, editPermission, onUpdateIndexPattern] + ); + + const addField = useMemo( + () => (editPermission && editField ? () => editField(undefined, 'add') : undefined), + [editField, editPermission] + ); + const fieldProps = useMemo( () => ({ core, @@ -479,6 +550,8 @@ export const InnerIndexPatternDataPanel = function InnerIndexPatternDataPanel({ ] ); + const [popoverOpen, setPopoverOpen] = useState(false); + return ( -
    - { - onChangeIndexPattern(newId); - clearLocalState(); - }} - /> -
    + + + { + onChangeIndexPattern(newId); + clearLocalState(); + }} + /> + + {addField && ( + + { + setPopoverOpen(false); + }} + ownFocus + data-test-subj="lnsIndexPatternActions-popover" + button={ + { + setPopoverOpen(!popoverOpen); + }} + /> + } + > + { + setPopoverOpen(false); + addField(); + }} + > + {i18n.translate('xpack.lens.indexPatterns.addFieldButton', { + defaultMessage: 'Add field to index pattern', + })} + , + { + setPopoverOpen(false); + core.application.navigateToApp('management', { + path: `/kibana/indexPatterns/patterns/${currentIndexPattern.id}`, + }); + }} + > + {i18n.translate('xpack.lens.indexPatterns.manageFieldButton', { + defaultMessage: 'Manage index pattern fields', + })} + , + ]} + /> + + + )} +
    diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/field_item.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/field_item.test.tsx index ac82d9d3c4363..dcc11ea426117 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/field_item.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/field_item.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React from 'react'; +import React, { MouseEvent, ReactElement } from 'react'; import { ReactWrapper } from 'enzyme'; import { act } from 'react-dom/test-utils'; import { EuiLoadingSpinner, EuiPopover } from '@elastic/eui'; @@ -125,6 +125,26 @@ describe('IndexPattern Field Item', () => { ); }); + it('should render edit field button if callback is set', () => { + core.http.post.mockImplementation(() => { + return new Promise(() => {}); + }); + const editFieldSpy = jest.fn(); + const wrapper = mountWithIntl( + + ); + clickField(wrapper, 'bytes'); + wrapper.update(); + const popoverContent = wrapper.find(EuiPopover).prop('children'); + act(() => { + mountWithIntl(popoverContent as ReactElement) + .find('[data-test-subj="lnsFieldListPanelEdit"]') + .first() + .prop('onClick')!({} as MouseEvent); + }); + expect(editFieldSpy).toHaveBeenCalledWith('bytes'); + }); + it('should request field stats every time the button is clicked', async () => { let resolveFunction: (arg: unknown) => void; diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx index 3b4940263c4bd..3094b6463fe15 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx @@ -72,6 +72,7 @@ export interface FieldItemProps { itemIndex: number; groupIndex: number; dropOntoWorkspace: DatasourceDataPanelProps['dropOntoWorkspace']; + editField?: (name: string) => void; hasSuggestionForField: DatasourceDataPanelProps['hasSuggestionForField']; } @@ -105,10 +106,22 @@ export const InnerFieldItem = function InnerFieldItem(props: FieldItemProps) { itemIndex, groupIndex, dropOntoWorkspace, + editField, } = props; const [infoIsOpen, setOpen] = useState(false); + const closeAndEdit = useMemo( + () => + editField + ? (name: string) => { + editField(name); + setOpen(false); + } + : undefined, + [editField, setOpen] + ); + const dropOntoWorkspaceAndClose = useCallback( (droppedField: DragDropIdentifier) => { dropOntoWorkspace(droppedField); @@ -256,6 +269,7 @@ export const InnerFieldItem = function InnerFieldItem(props: FieldItemProps) { @@ -270,11 +284,13 @@ function FieldPanelHeader({ field, hasSuggestionForField, dropOntoWorkspace, + editField, }: { field: IndexPatternField; indexPatternId: string; hasSuggestionForField: DatasourceDataPanelProps['hasSuggestionForField']; dropOntoWorkspace: DatasourceDataPanelProps['dropOntoWorkspace']; + editField?: (name: string) => void; }) { const draggableField = { indexPatternId, @@ -298,6 +314,22 @@ function FieldPanelHeader({ dropOntoWorkspace={dropOntoWorkspace} field={draggableField} /> + {editField && ( + + editField(field.name)} + iconType="pencil" + data-test-subj="lnsFieldListPanelEdit" + aria-label={i18n.translate('xpack.lens.indexPattern.editFieldLabel', { + defaultMessage: 'Edit index pattern field', + })} + /> + + )}
    ); } @@ -314,6 +346,7 @@ function FieldItemPopoverContents(props: State & FieldItemProps) { chartsThemeService, data: { fieldFormats }, dropOntoWorkspace, + editField, hasSuggestionForField, hideDetails, } = props; @@ -345,6 +378,7 @@ function FieldItemPopoverContents(props: State & FieldItemProps) { field={field} dropOntoWorkspace={dropOntoWorkspace} hasSuggestionForField={hasSuggestionForField} + editField={editField} /> ); diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/field_list.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/field_list.tsx index 0f6cf6b980ac7..01ba0726d9e4d 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/field_list.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/field_list.tsx @@ -52,6 +52,7 @@ export const FieldList = React.memo(function FieldList({ existFieldsInIndex, dropOntoWorkspace, hasSuggestionForField, + editField, }: { exists: (field: IndexPatternField) => boolean; fieldGroups: FieldGroups; @@ -66,6 +67,7 @@ export const FieldList = React.memo(function FieldList({ existFieldsInIndex: boolean; dropOntoWorkspace: DatasourceDataPanelProps['dropOntoWorkspace']; hasSuggestionForField: DatasourceDataPanelProps['hasSuggestionForField']; + editField?: (name: string) => void; }) { const [pageSize, setPageSize] = useState(PAGINATION_SIZE); const [scrollContainer, setScrollContainer] = useState(undefined); @@ -141,6 +143,7 @@ export const FieldList = React.memo(function FieldList({ {...fieldProps} exists={exists(field)} field={field} + editField={editField} hideDetails={true} key={field.name} itemIndex={index} @@ -165,6 +168,7 @@ export const FieldList = React.memo(function FieldList({ label={fieldGroup.title} helpTooltip={fieldGroup.helpText} exists={exists} + editField={editField} hideDetails={fieldGroup.hideDetails} hasLoaded={!!hasSyncedExistingFields} fieldsCount={fieldGroup.fields.length} diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/fields_accordion.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/fields_accordion.tsx index 249212657565d..74ea13a81539f 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/fields_accordion.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/fields_accordion.tsx @@ -54,6 +54,7 @@ export interface FieldsAccordionProps { groupIndex: number; dropOntoWorkspace: DatasourceDataPanelProps['dropOntoWorkspace']; hasSuggestionForField: DatasourceDataPanelProps['hasSuggestionForField']; + editField?: (name: string) => void; } export const FieldsAccordion = memo(function InnerFieldsAccordion({ @@ -74,6 +75,7 @@ export const FieldsAccordion = memo(function InnerFieldsAccordion({ groupIndex, dropOntoWorkspace, hasSuggestionForField, + editField, }: FieldsAccordionProps) { const renderField = useCallback( (field: IndexPatternField, index) => ( @@ -87,9 +89,18 @@ export const FieldsAccordion = memo(function InnerFieldsAccordion({ groupIndex={groupIndex} dropOntoWorkspace={dropOntoWorkspace} hasSuggestionForField={hasSuggestionForField} + editField={editField} /> ), - [fieldProps, exists, hideDetails, dropOntoWorkspace, hasSuggestionForField, groupIndex] + [ + fieldProps, + exists, + hideDetails, + dropOntoWorkspace, + hasSuggestionForField, + groupIndex, + editField, + ] ); const renderButton = useMemo(() => { diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/index.ts b/x-pack/plugins/lens/public/indexpattern_datasource/index.ts index 0a05a351fb14a..a556c6ce0c095 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/index.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/index.ts @@ -9,6 +9,7 @@ import { CoreSetup } from 'kibana/public'; import { Storage } from '../../../../../src/plugins/kibana_utils/public'; import { ExpressionsSetup } from '../../../../../src/plugins/expressions/public'; import { ChartsPluginSetup } from '../../../../../src/plugins/charts/public'; +import { IndexPatternFieldEditorStart } from '../../../../../src/plugins/index_pattern_field_editor/public'; import { DataPublicPluginSetup, DataPublicPluginStart, @@ -24,6 +25,7 @@ export interface IndexPatternDatasourceSetupPlugins { export interface IndexPatternDatasourceStartPlugins { data: DataPublicPluginStart; + indexPatternFieldEditor: IndexPatternFieldEditorStart; } export class IndexPatternDatasource { @@ -42,7 +44,7 @@ export class IndexPatternDatasource { getTimeScaleFunction, getSuffixFormatter, } = await import('../async_services'); - return core.getStartServices().then(([coreStart, { data }]) => { + return core.getStartServices().then(([coreStart, { data, indexPatternFieldEditor }]) => { data.fieldFormats.register([getSuffixFormatter(data.fieldFormats.deserialize)]); expressions.registerFunction(getTimeScaleFunction(data)); expressions.registerFunction(counterRate); @@ -53,6 +55,7 @@ export class IndexPatternDatasource { storage: new Storage(localStorage), data, charts, + indexPatternFieldEditor, }); }) as Promise; }); diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern.test.ts b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern.test.ts index bc4bb028696b8..b8dc7edc81bb2 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern.test.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern.test.ts @@ -16,6 +16,7 @@ import { chartPluginMock } from '../../../../../src/plugins/charts/public/mocks' import { getFieldByNameFactory } from './pure_helpers'; import { operationDefinitionMap, getErrorMessages } from './operations'; import { createMockedReferenceOperation } from './operations/mocks'; +import { indexPatternFieldEditorPluginMock } from 'src/plugins/index_pattern_field_editor/public/mocks'; jest.mock('./loader'); jest.mock('../id_generator'); @@ -170,6 +171,7 @@ describe('IndexPattern Data Source', () => { core: coreMock.createStart(), data: dataPluginMock.createStartContract(), charts: chartPluginMock.createSetupContract(), + indexPatternFieldEditor: indexPatternFieldEditorPluginMock.createStartContract(), }); baseState = { diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern.tsx index 64da5e4fb9f74..1f571ac6744a9 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern.tsx @@ -12,6 +12,7 @@ import { I18nProvider } from '@kbn/i18n/react'; import { CoreStart, SavedObjectReference } from 'kibana/public'; import { i18n } from '@kbn/i18n'; import { IStorageWrapper } from 'src/plugins/kibana_utils/public'; +import { IndexPatternFieldEditorStart } from '../../../../../src/plugins/index_pattern_field_editor/public'; import { DatasourceDimensionEditorProps, DatasourceDimensionTriggerProps, @@ -76,11 +77,13 @@ export function getIndexPatternDatasource({ storage, data, charts, + indexPatternFieldEditor, }: { core: CoreStart; storage: IStorageWrapper; data: DataPublicPluginStart; charts: ChartsPluginSetup; + indexPatternFieldEditor: IndexPatternFieldEditorStart; }) { const uiSettings = core.uiSettings; const onIndexPatternLoadError = (err: Error) => @@ -191,7 +194,9 @@ export function getIndexPatternDatasource({ changeIndexPattern={handleChangeIndexPattern} data={data} charts={charts} + indexPatternFieldEditor={indexPatternFieldEditor} {...props} + core={core} /> , domElement diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts b/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts index 92b0e27c3d1a7..04f137a6a0211 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts @@ -68,6 +68,7 @@ export async function loadIndexPatterns({ meta: indexPattern.metaFields.includes(field.name), esTypes: field.esTypes, scripted: field.scripted, + runtime: Boolean(field.runtimeField), }; // Simplifies tests by hiding optional properties instead of undefined diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/types.ts b/x-pack/plugins/lens/public/indexpattern_datasource/types.ts index f45f963ee174f..79155184a5f6d 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/types.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/types.ts @@ -57,6 +57,7 @@ export type IndexPatternField = IFieldType & { displayName: string; aggregationRestrictions?: Partial; meta?: boolean; + runtime?: boolean; }; export interface IndexPatternLayer { diff --git a/x-pack/plugins/lens/public/plugin.ts b/x-pack/plugins/lens/public/plugin.ts index c667ddea06b33..60d2c7199cb9b 100644 --- a/x-pack/plugins/lens/public/plugin.ts +++ b/x-pack/plugins/lens/public/plugin.ts @@ -21,6 +21,7 @@ import { ChartsPluginSetup, ChartsPluginStart } from '../../../../src/plugins/ch import { PresentationUtilPluginStart } from '../../../../src/plugins/presentation_util/public'; import { EmbeddableStateTransfer } from '../../../../src/plugins/embeddable/public'; import { EditorFrameService } from './editor_frame_service'; +import { IndexPatternFieldEditorStart } from '../../../../src/plugins/index_pattern_field_editor/public'; import { IndexPatternDatasource, IndexPatternDatasourceSetupPlugins, @@ -74,6 +75,7 @@ export interface LensPluginStartDependencies { charts: ChartsPluginStart; savedObjectsTagging?: SavedObjectTaggingPluginStart; presentationUtil: PresentationUtilPluginStart; + indexPatternFieldEditor: IndexPatternFieldEditorStart; } export interface LensPublicStart { diff --git a/x-pack/plugins/lens/tsconfig.json b/x-pack/plugins/lens/tsconfig.json index dfddccbf20392..134f0b4185b84 100644 --- a/x-pack/plugins/lens/tsconfig.json +++ b/x-pack/plugins/lens/tsconfig.json @@ -21,6 +21,7 @@ { "path": "../global_search/tsconfig.json"}, { "path": "../saved_objects_tagging/tsconfig.json"}, { "path": "../../../src/plugins/data/tsconfig.json"}, + { "path": "../../../src/plugins/index_pattern_field_editor/tsconfig.json"}, { "path": "../../../src/plugins/charts/tsconfig.json"}, { "path": "../../../src/plugins/expressions/tsconfig.json"}, { "path": "../../../src/plugins/navigation/tsconfig.json" }, diff --git a/x-pack/test/functional/apps/lens/index.ts b/x-pack/test/functional/apps/lens/index.ts index 31b7b665fb2f0..38ba1f698ecce 100644 --- a/x-pack/test/functional/apps/lens/index.ts +++ b/x-pack/test/functional/apps/lens/index.ts @@ -31,6 +31,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./smokescreen')); loadTestFile(require.resolve('./add_to_dashboard')); loadTestFile(require.resolve('./table')); + loadTestFile(require.resolve('./runtime_fields')); loadTestFile(require.resolve('./dashboard')); loadTestFile(require.resolve('./persistent_context')); loadTestFile(require.resolve('./colors')); diff --git a/x-pack/test/functional/apps/lens/runtime_fields.ts b/x-pack/test/functional/apps/lens/runtime_fields.ts new file mode 100644 index 0000000000000..9b8ef3a8b6905 --- /dev/null +++ b/x-pack/test/functional/apps/lens/runtime_fields.ts @@ -0,0 +1,66 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const PageObjects = getPageObjects(['visualize', 'lens', 'common', 'header']); + const filterBar = getService('filterBar'); + const fieldEditor = getService('fieldEditor'); + const retry = getService('retry'); + + describe('lens runtime fields', () => { + it('should be able to add runtime field and use it', async () => { + await PageObjects.visualize.navigateToNewVisualization(); + await PageObjects.visualize.clickVisType('lens'); + await PageObjects.lens.goToTimeRange(); + await PageObjects.lens.switchToVisualization('lnsDatatable'); + await PageObjects.lens.clickAddField(); + await fieldEditor.setName('runtimefield'); + await fieldEditor.enableValue(); + await fieldEditor.typeScript("emit('abc')"); + await fieldEditor.save(); + await PageObjects.lens.searchField('runtime'); + await PageObjects.lens.waitForField('runtimefield'); + await PageObjects.lens.dragFieldToWorkspace('runtimefield'); + await PageObjects.lens.waitForVisualization(); + expect(await PageObjects.lens.getDatatableHeaderText(0)).to.equal( + 'Top values of runtimefield' + ); + expect(await PageObjects.lens.getDatatableCellText(0, 0)).to.eql('abc'); + }); + + it('should able to filter runtime fields', async () => { + await retry.try(async () => { + await PageObjects.lens.clickTableCellAction(0, 0, 'lensDatatableFilterOut'); + await PageObjects.lens.waitForVisualization(); + expect(await PageObjects.lens.isShowingNoResults()).to.equal(true); + }); + await filterBar.removeAllFilters(); + await PageObjects.lens.waitForVisualization(); + }); + + it('should able to edit field', async () => { + await PageObjects.lens.clickField('runtimefield'); + await PageObjects.lens.editField(); + await fieldEditor.setName('runtimefield2'); + await fieldEditor.save(); + await PageObjects.lens.searchField('runtime'); + await PageObjects.lens.waitForField('runtimefield2'); + await PageObjects.lens.dragFieldToDimensionTrigger( + 'runtimefield2', + 'lnsDatatable_rows > lns-dimensionTrigger' + ); + await PageObjects.lens.waitForVisualization(); + expect(await PageObjects.lens.getDatatableHeaderText(0)).to.equal( + 'Top values of runtimefield2' + ); + expect(await PageObjects.lens.getDatatableCellText(0, 0)).to.eql('abc'); + }); + }); +} diff --git a/x-pack/test/functional/page_objects/lens_page.ts b/x-pack/test/functional/page_objects/lens_page.ts index 48bede9754c58..2022b19b14644 100644 --- a/x-pack/test/functional/page_objects/lens_page.ts +++ b/x-pack/test/functional/page_objects/lens_page.ts @@ -172,6 +172,32 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont await PageObjects.header.waitUntilLoadingHasFinished(); }, + /** + * Drags field to workspace + * + * @param field - the desired field for the dimension + * */ + async clickField(field: string) { + await testSubjects.click(`lnsFieldListPanelField-${field}`); + }, + + async editField() { + await retry.try(async () => { + await testSubjects.click('lnsFieldListPanelEdit'); + await testSubjects.missingOrFail('lnsFieldListPanelEdit'); + }); + }, + + async searchField(name: string) { + await testSubjects.setValue('lnsIndexPatternFieldSearch', name); + }, + + async waitForField(field: string) { + await retry.try(async () => { + await testSubjects.existOrFail(`lnsFieldListPanelField-${field}`); + }); + }, + /** * Copies field to chosen destination that is defined by distance of `steps` * (right arrow presses) from it @@ -772,5 +798,11 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont return firstCount === secondCount; }); }, + + async clickAddField() { + await testSubjects.click('lnsIndexPatternActions'); + await testSubjects.existOrFail('indexPattern-add-field'); + await testSubjects.click('indexPattern-add-field'); + }, }); } From 628bb4b3775aba5fee822e76fc8152ccc6866087 Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Thu, 18 Mar 2021 10:07:39 +0100 Subject: [PATCH 33/50] [Ingest Pipelines] Fix serialization and deserialization of user input for "patterns" fields (#94689) * updated serialization and deserialization behavior of dissect and gsub processors, also addded a test * also fix grok processor * pivot input checking to use JSON.stringify and JSON.parse Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../drag_and_drop_text_list.tsx | 20 +++++-- .../processor_form/processors/dissect.tsx | 7 ++- .../processor_form/processors/grok.tsx | 14 +++-- .../processor_form/processors/gsub.tsx | 9 +++- .../processor_form/processors/shared.test.ts | 53 +++++++++++++++++++ .../processor_form/processors/shared.ts | 51 +++++++++++++++++- 6 files changed, 142 insertions(+), 12 deletions(-) create mode 100644 x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/shared.test.ts diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/field_components/drag_and_drop_text_list.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/field_components/drag_and_drop_text_list.tsx index abe4eb0fa5916..03bdc2ceb9579 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/field_components/drag_and_drop_text_list.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/field_components/drag_and_drop_text_list.tsx @@ -44,7 +44,15 @@ interface Props { /** * Validation to be applied to every text item */ - textValidation?: ValidationFunc; + textValidations?: Array>; + /** + * Serializer to be applied to every text item + */ + textSerializer?: (v: string) => O; + /** + * Deserializer to be applied to every text item + */ + textDeserializer?: (v: unknown) => string; } const i18nTexts = { @@ -63,7 +71,9 @@ function DragAndDropTextListComponent({ onAdd, onRemove, addLabel, - textValidation, + textValidations, + textDeserializer, + textSerializer, }: Props): JSX.Element { const [droppableId] = useState(() => uuid.v4()); const [firstItemId] = useState(() => uuid.v4()); @@ -133,9 +143,11 @@ function DragAndDropTextListComponent({ path={item.path} config={{ - validations: textValidation - ? [{ validator: textValidation }] + validations: textValidations + ? textValidations.map((validator) => ({ validator })) : undefined, + deserializer: textDeserializer, + serializer: textSerializer, }} readDefaultValueOnForm={!item.isNew} > diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/dissect.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/dissect.tsx index 6652ad277cc26..3864581317e38 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/dissect.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/dissect.tsx @@ -22,7 +22,7 @@ import { import { FieldNameField } from './common_fields/field_name_field'; import { IgnoreMissingField } from './common_fields/ignore_missing_field'; -import { EDITOR_PX_HEIGHT, from } from './shared'; +import { EDITOR_PX_HEIGHT, from, to, isJSONStringValidator } from './shared'; const { emptyField } = fieldValidators; @@ -34,6 +34,8 @@ const getFieldsConfig = (esDocUrl: string): Record => { label: i18n.translate('xpack.ingestPipelines.pipelineEditor.dissectForm.patternFieldLabel', { defaultMessage: 'Pattern', }), + deserializer: to.escapeBackslashes, + serializer: from.unescapeBackslashes, helpText: ( => { ) ), }, + { + validator: isJSONStringValidator, + }, ], }, /* Optional field config */ diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/grok.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/grok.tsx index f15441ea1f92b..ae2d341c58c30 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/grok.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/grok.tsx @@ -5,6 +5,7 @@ * 2.0. */ +import { flow } from 'lodash'; import React, { FunctionComponent } from 'react'; import { i18n } from '@kbn/i18n'; @@ -22,7 +23,7 @@ import { XJsonEditor, DragAndDropTextList } from '../field_components'; import { FieldNameField } from './common_fields/field_name_field'; import { IgnoreMissingField } from './common_fields/ignore_missing_field'; -import { FieldsConfig, to, from, EDITOR_PX_HEIGHT } from './shared'; +import { FieldsConfig, to, from, EDITOR_PX_HEIGHT, isJSONStringValidator } from './shared'; const { isJsonField, emptyField } = fieldValidators; @@ -46,7 +47,10 @@ const patternsValidation: ValidationFunc = ({ value, f } }; -const patternValidation = emptyField(valueRequiredMessage); +const patternValidations: Array> = [ + emptyField(valueRequiredMessage), + isJSONStringValidator, +]; const fieldsConfig: FieldsConfig = { /* Required field configs */ @@ -54,6 +58,8 @@ const fieldsConfig: FieldsConfig = { label: i18n.translate('xpack.ingestPipelines.pipelineEditor.grokForm.patternsFieldLabel', { defaultMessage: 'Patterns', }), + deserializer: flow(String, to.escapeBackslashes), + serializer: from.unescapeBackslashes, helpText: i18n.translate('xpack.ingestPipelines.pipelineEditor.grokForm.patternsHelpText', { defaultMessage: 'Grok expressions used to match and extract named capture groups. Uses the first matching expression.', @@ -133,7 +139,9 @@ export const Grok: FunctionComponent = () => { onAdd={addItem} onRemove={removeItem} addLabel={i18nTexts.addPatternLabel} - textValidation={patternValidation} + textValidations={patternValidations} + textDeserializer={fieldsConfig.patterns?.deserializer} + textSerializer={fieldsConfig.patterns?.serializer} /> ); }} diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/gsub.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/gsub.tsx index edfa59ea80281..11d06f3cca6fb 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/gsub.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/gsub.tsx @@ -5,6 +5,7 @@ * 2.0. */ +import { flow } from 'lodash'; import React, { FunctionComponent } from 'react'; import { i18n } from '@kbn/i18n'; @@ -12,7 +13,7 @@ import { FIELD_TYPES, fieldValidators, UseField, Field } from '../../../../../.. import { TextEditor } from '../field_components'; -import { EDITOR_PX_HEIGHT, FieldsConfig } from './shared'; +import { EDITOR_PX_HEIGHT, FieldsConfig, from, to, isJSONStringValidator } from './shared'; import { FieldNameField } from './common_fields/field_name_field'; import { IgnoreMissingField } from './common_fields/ignore_missing_field'; import { TargetField } from './common_fields/target_field'; @@ -26,7 +27,8 @@ const fieldsConfig: FieldsConfig = { label: i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.patternFieldLabel', { defaultMessage: 'Pattern', }), - deserializer: String, + deserializer: flow(String, to.escapeBackslashes), + serializer: from.unescapeBackslashes, helpText: i18n.translate('xpack.ingestPipelines.pipelineEditor.gsubForm.patternFieldHelpText', { defaultMessage: 'Regular expression used to match substrings in the field.', }), @@ -38,6 +40,9 @@ const fieldsConfig: FieldsConfig = { }) ), }, + { + validator: isJSONStringValidator, + }, ], }, diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/shared.test.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/shared.test.ts new file mode 100644 index 0000000000000..4b01f22a9383d --- /dev/null +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/shared.test.ts @@ -0,0 +1,53 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { from, to } from './shared'; + +describe('shared', () => { + describe('deserialization helpers', () => { + // This is the text that will be passed to the text input + test('to.escapeBackslashes', () => { + // this input loaded from the server + const input1 = 'my\ttab'; + expect(to.escapeBackslashes(input1)).toBe('my\\ttab'); + + // this input loaded from the server + const input2 = 'my\\ttab'; + expect(to.escapeBackslashes(input2)).toBe('my\\\\ttab'); + + // this input loaded from the server + const input3 = '\t\n\rOK'; + expect(to.escapeBackslashes(input3)).toBe('\\t\\n\\rOK'); + + const input4 = `%{clientip} %{ident} %{auth} [%{@timestamp}] \"%{verb} %{request} HTTP/%{httpversion}\" %{status} %{size}`; + expect(to.escapeBackslashes(input4)).toBe( + '%{clientip} %{ident} %{auth} [%{@timestamp}] \\"%{verb} %{request} HTTP/%{httpversion}\\" %{status} %{size}' + ); + }); + }); + + describe('serialization helpers', () => { + test('from.unescapeBackslashes', () => { + // user typed in "my\ttab" + const input1 = 'my\\ttab'; + expect(from.unescapeBackslashes(input1)).toBe('my\ttab'); + + // user typed in "my\\tab" + const input2 = 'my\\\\ttab'; + expect(from.unescapeBackslashes(input2)).toBe('my\\ttab'); + + // user typed in "\t\n\rOK" + const input3 = '\\t\\n\\rOK'; + expect(from.unescapeBackslashes(input3)).toBe('\t\n\rOK'); + + const input5 = `%{clientip} %{ident} %{auth} [%{@timestamp}] \\"%{verb} %{request} HTTP/%{httpversion}\\" %{status} %{size}`; + expect(from.unescapeBackslashes(input5)).toBe( + `%{clientip} %{ident} %{auth} [%{@timestamp}] \"%{verb} %{request} HTTP/%{httpversion}\" %{status} %{size}` + ); + }); + }); +}); diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/shared.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/shared.ts index 399da3c05c783..bafba412c767f 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/shared.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/components/processor_form/processors/shared.ts @@ -5,11 +5,12 @@ * 2.0. */ -import { FunctionComponent } from 'react'; +import type { FunctionComponent } from 'react'; import * as rt from 'io-ts'; +import { i18n } from '@kbn/i18n'; import { isRight } from 'fp-ts/lib/Either'; -import { FieldConfig } from '../../../../../../shared_imports'; +import { FieldConfig, ValidationFunc } from '../../../../../../shared_imports'; export const arrayOfStrings = rt.array(rt.string); @@ -36,6 +37,17 @@ export const to = { arrayOfStrings: (v: unknown): string[] => isArrayOfStrings(v) ? v : typeof v === 'string' && v.length ? [v] : [], jsonString: (v: unknown) => (v ? JSON.stringify(v, null, 2) : '{}'), + /** + * Useful when deserializing strings that will be rendered inside of text areas or text inputs. We want + * a string like: "my\ttab" to render the same, not to render as "mytab". + */ + escapeBackslashes: (v: unknown) => { + if (typeof v === 'string') { + const s = JSON.stringify(v); + return s.slice(1, s.length - 1); + } + return v; + }, }; /** @@ -69,6 +81,41 @@ export const from = { optionalArrayOfStrings: (v: string[]) => (v.length ? v : undefined), undefinedIfValue: (value: unknown) => (v: boolean) => (v === value ? undefined : v), emptyStringToUndefined: (v: unknown) => (v === '' ? undefined : v), + /** + * Useful when serializing user input from a

    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 literal 29766 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ⅈ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 W40`n<#;wFsQ&-hI^jzhP|9=3~zrafX diff --git a/test/interpreter_functional/screenshots/baseline/partial_test_1.png b/test/interpreter_functional/screenshots/baseline/partial_test_1.png index 9d52fb30b7d65235550c501ec11f2306ed89668d..5e43b52099d153aff3ea2d477e5f8ea54e2d12e7 100644 GIT binary patch literal 11453 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 YWlej&7OBP1@0|}6)fEcwKYH;$09^9LfdBvi diff --git a/test/interpreter_functional/screenshots/baseline/partial_test_2.png b/test/interpreter_functional/screenshots/baseline/partial_test_2.png index b828012f39307b5a991228ee76ae94bb695a25eb..9cb5e255ec99b29650a8b78fd7c1f20d59d80c68 100644 GIT binary patch literal 16064 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 literal 22893 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 E0F#*TO#lD@ diff --git a/test/interpreter_functional/screenshots/baseline/partial_test_3.png b/test/interpreter_functional/screenshots/baseline/partial_test_3.png index 93a8e53540744bada4360e60a48df113aed0ca51..b0edb637e0047abede245dead9edde3230cef14d 100644 GIT binary patch literal 10750 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