Commit graph

13829 commits

Author SHA1 Message Date
Frank Hassanabad 2f80e44d3b
[Security Solution][Detection Engine] Fixes indicator matches mapping UI where invalid list values can cause overwrites of other values (#89066)
## Summary

This fixes the ReactJS keys to not use array indexes for the ReactJS keys which fixes  https://github.com/elastic/kibana/issues/84893 as well as a few other bugs that I will show below. The fix for the ReactJS keys is to add a unique id version 4 `uuid.v4()` to the incoming threat_mapping and the entities. On save out to elastic I remove the id. This is considered [better practices for ReactJS keys](https://reactjs.org/docs/lists-and-keys.html)

Down the road we might augment the arrays to have that id information but for now I add them when we get the data and then remove them as we save the data.

This PR also:
* Fixes tech debt around the hooks to remove the disabling of the `react-hooks/exhaustive-deps` in a few areas
* Fixes one React Hook misnamed that would not have triggered React linter rules (_useRuleAsyn)
* Adds 23 new Cypress e2e tests
* Adds a new pattern of dealing with on button clicks for the Cypress tests that are make it less flakey
```ts
cy.get(`button[title="${indexField}"]`)
      .should('be.visible')
      .then(([e]) => e.click());
```
* Adds several new utilities to Cypress for testing rows for indicator matches and other Cypress utils to improve velocity and ergonomics
```ts
fillIndicatorMatchRow
getDefineContinueButton
getIndicatorInvalidationText
getIndicatorIndexComboField
getIndicatorDeleteButton
getIndicatorOrButton
getIndicatorAndButton
``` 

## Bug 1
Deleting row 1 can cause row 2 to be cleared out or only partial data to stick around.

Before:
![im_bug_1](https://user-images.githubusercontent.com/1151048/105916137-c57b1d80-5fed-11eb-95b7-ad25b71cf4b8.gif)

After:
![im_fix_1_1](https://user-images.githubusercontent.com/1151048/105917509-9fef1380-5fef-11eb-98eb-025c226f79fe.gif)

## Bug 2 
Deleting row 2 in the middle of 3 rows did not shift the value up correctly

Before:
![im_bug_2](https://user-images.githubusercontent.com/1151048/105917584-c01ed280-5fef-11eb-8c5b-fefb36f81008.gif)

After: 
![im_fix_2](https://user-images.githubusercontent.com/1151048/105917650-e0e72800-5fef-11eb-9fd3-020d52e4e3b1.gif)

## Bug 3
When using OR with values it does not shift up correctly similar to AND

Before:
![im_bug_3](https://user-images.githubusercontent.com/1151048/105917691-f2303480-5fef-11eb-9368-b11d23159606.gif)

After: 
![im_fix_3](https://user-images.githubusercontent.com/1151048/105917714-f9574280-5fef-11eb-9be4-1f56c207525a.gif)

### Checklist

Delete any items that are not applicable to this PR.

- [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
- [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers)
2021-01-29 19:16:19 -07:00
Frank Hassanabad 2a913e4eb1
Skips flake tests and tests with what looks like bugs (#89777)
## Summary

Skips tests that have flake or in-determinism.
* The sourcer code/tests are being rewritten and then those will come back by other team members.
* The timeline open dialog looks to have some click and indeterminism bugs that are being investigated. Skipping for now.
2021-01-29 15:53:29 -07:00
Tim Sullivan df913b47be
Update build_chromium README (#89762)
* Update build_chromium README

* more edits

* Update init.py
2021-01-29 14:06:14 -07:00
Vadim Yakhin e866db7de0
Migrate security page (#89720)
* Add server routes for Workplace Search Security page

* Initial copy/paste of component tree

Also update lodash imports and fix default exports

* Update paths

* Remove conditional and passed in flash messages

This is no longer needed with the Kibana syntax. Flash messages are set globally and only render when present.

* Replace removed ConfirmModal

In Kibana, we use the Eui components directly

* Remove legacy AppView and sidenav

* Clear flash messages globally

* Update server routes

* Replace Rails http with kibana http

* Add setSourceRestriction action to app_logic

It is used in security_logic

* Add missing typings

* Add route and update nav

* Use internal tools for determining license

* Remove Prompt as it doesn't work in Kibana

There is an error that recommends using AppMountParameters.onAppLeave
instead, but it doesn't cover the case where a user navigates
within the app. We'll revisit this problem later.

* Add i18n

Also refactor PrivateSourcesTable to use static i18n strings.

Before we were using 'remote' and 'standard' as both enums and parts of copy, i.e. "Enable {sourceType} private sources".

But with i18n we can no longer do this. So I made a refactoring to separate these concerns. Now 'remote' and 'standard' are only used as enums. What i18n string to show is defined based on isRemote variable.

* Add components unit tests

* Add logic unit tests

* Remove redundant imports

* Use nextTick instead of awaiting for promises

* Update logic tests to use new mockHelpers
2021-01-29 16:31:06 -04:00
Dominique Clarke 4e18fd8a51
uptime adjust useBarCharts logic (#89628)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-29 15:15:49 -05:00
Melissa Alvarez f53bc9825b
[ML] Data Frame Analytics creation: improve existing job check (#89627)
* use jobsExist endpoint instead of preloaded job list

* remove unused translation

* memoize jobCheck so cancel call works correctly
2021-01-29 14:48:55 -05:00
Constance 4f6de5a407
[App Search] Add final Analytics table components (#89233)
* Add new AnalyticsSection component

* Update views that use AnalyticsSection

* [Setup] Update types + final API logic data

- export query types so that new table components can use them
- reorganize type keys by their (upcoming) table column order, remove unused tags from document obj

* [Setup] Migrate InlineTagsList component

- used for tags columns in all tables

* Create basic AnalyticsTable component

- there's a lot of logic separated out into constants.tsx right now, I promise it will make more sense when the one-off tables get added

* Update all views that use AnalyticsTable

+ add 'view all' button links to overview tables

* Add RecentQueriesTable component

- Why is the API for this specific table so different? who knows, but it do be that way

* Update views with RecentQueryTable

* Add QueryClicksTable component to QueryDetails view

* Create AnalyticsSearch bar for queries subpages

* [Polish] Add some space to the bottom of analytics pages

* [Design feedback] Tweak header + search form layout

- Have analytics filter form be on its own row separate from page title
- Change AnalyticsSearch to stretch to full width + add placeholder text + match header gutter + remain one line on mobile

* [PR feedback] Type clarification

* [PR feedback] Clear mocks

* [PR suggestion] File rename

constants.tsx -> shared_columns.tsx

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-29 11:42:37 -08:00
Alison Goryachev d6227fbb30
[Upgrade Assistant] Clean up i18n (#89661) 2021-01-29 13:18:06 -05:00
Jason Stoltzfus 8780a2de6e
Better async (#89636) 2021-01-29 12:55:06 -05:00
Scotty Bollinger 5feca52dea
[Enterprise Search] Migrate Kibana plugin to TS project references (#87683)
* [Enterprise Search] Migrate Kibana plugin to TS project references

Part of #80508

* Add charts and un-comment added ‘features’

Also alphabetize.

* Uncomment recently added security and spaces

* Add last remaining reference

* Add shared typings to cover svgs

* Include package.json for version.ts

* REvery adding package.json to include

This did not fix the issue

* Add correct references
2021-01-29 11:43:34 -06:00
Aaron Caldwell 32058f9998
Remove geo threshold alert type (#89632) 2021-01-29 10:36:52 -07:00
Constance 6a0f97fca7
[Enterprise Search] Minor Elastic Cloud setup guide instructions fixes (#89620)
* Fix Cloud instructions copy when cloudDeploymentLink is missing

* Fix missing i18n translations on copy nested within links

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-29 09:35:20 -08:00
Nathan Reese ad8a2fb920
[Maps] Implement searchSessionId in MapEmbeddable (#89342)
* [Maps] Implement searchSessionId in MapEmbeddable

* clean up

* update method name

* fix _unsubscribeFromStore subscription

* fix unit test

* add maps assertion to send_to_background_relative_time functional test

* fix functional assertion

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-29 10:28:48 -07:00
CJ Cenizal 9286b1352e
Rename PipelineProcessorsEditor to PipelineEditor to shorten import path to a length that Windows can handle, and to disambiguate with child component of the same name. (#89645)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-29 09:21:51 -08:00
Christos Nasikas 61d4d870e2
[Security Solution][Case] Allow users with Gold license to use Jira (#89406) 2021-01-29 19:19:19 +02:00
Christiane (Tina) Heiligers 98b80484b5
Converts painlessLab to a TS project reference (#89626) 2021-01-29 09:47:15 -07:00
Melissa Alvarez a08895dbfc
[ML] Anomaly Detection: add anomalies map to explorer for jobs with 'lat_long' function (#88416)
* wip: create embedded map component for explorer

* add embeddedMap component to explorer

* use geo_results

* remove charts callout when map is shown

* add translation, round geo coordinates

* create GEO_MAP chart type and move embedded map to charts area

* remove embedded map that is no longer used

* fix type and fail silently if plugin not available

* fix multiple type of jobs charts view

* fix tooltip function and remove single viewer link for latlong

* ensure diff types of jobs show correct charts. fix jest test

* show errorCallout if maps not enabled and is lat_long job

* use shared MlEmbeddedMapComponent in explorer

* ensure latLong jobs not viewable in single metric viewer

* update jest test
2021-01-29 10:42:35 -05:00
Devon Thomson 1fc45a7c37
Fix Lens Save and Return Removing Tags (#89613)
* use last saved tag ids in save and return...
2021-01-29 09:59:05 -05:00
Christiane (Tina) Heiligers 5c45e7dfcf
Migrates watcher to a TS project ref (#89622)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-29 07:48:51 -07:00
Nicolas Chaulet da1a4e947a
[Fleet] Install the Fleet Server package during setup (#89224) 2021-01-29 08:41:36 -05:00
ymao1 049135192e
[Alerting] Search alert (#88528)
* Adding es query alert type to server with commented out executor

* Adding skeleton es query alert to client with JSON editor. Pulled out index popoover into component for reuse between index threshold and es query alert types

* Implementing alert executor that performs query and matches condition against doc count

* Added tests for server side alert type

* Updated alert executor to de-duplicate matches and create instance for every document if threshold is not defined

* Moving more index popover code out of index threshold and es query expression components

* Ability to remove threshold condition from es query alert

* Validation tests

* Adding ability to test out query. Need to add error handling and it looks ugly

* Fixing bug with creating alert with threshold and i18n

* wip

* Fixing tests

* Simplifying executor logic to only handle threshold and store hits in action context

* Adding functional test for es query alert

* Types

* Adding functional test for query testing

* Fixing unit test

* Adding link to ES docs. Cleaning up logger statements

* Adding docs

* Updating docs based on feedback

* PR fixes

* Using ES client typings

* Fixing unit test

* Fixing copy based on comments

* Fixing copy based on comments

* Fixing bug in index select popover

* Fixing unit tests

* Making track_total_hits configurable

* Fixing functional test

* PR fixes

* Added unit test

* Removing unused import

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-29 07:45:00 -05:00
Marco Liberati 9733d2fdaa
[Lens] Use datagrid with resizable columns for datatable (#88069)
Co-authored-by: Joe Reuter <johannes.reuter@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-29 12:09:26 +01:00
Jean-Louis Leysens 5f8f21bce5
[ILM] Basic a11y tests (#88445)
* cleaning up unused types and legacy logic

* added new relative age logic with unit tests

* initial implementation of timeline

* added custom infinity icon to timeline component

* added comment

* move timeline color bar comment

* fix nanoseconds and microsecnds bug

* added policy timeline heading, removed "at least" copy for now

* a few minor changes

 - fix up copy
 - fix up responsive/mobile first view of timeline
 - adjust minimum size of a color bar

* minor refactor to css classnames and make trash can for delete more prominent

* added delete icon tooltip with rough first copy

* added smoke test for timeline and how it interacts with different policy states

* update test and copy

* added basic a11y tests for ILM policy list view and create/edit policy view

* remove unused import

* remove old svg file

* remove old _timeline.scss file

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-29 10:22:56 +01:00
Pete Harverson 827446bfcf
[ML] Stabilize accessibility tests for data frame analytics pages (#89423)
* [ML] Stabilize accessibility tests for data frame analytics pages

* [ML] Remove snapshot test after opening index pattern modal

* [ML] Remove snapshot test when index pattern modal opens

* [ML] Add back snapshot test at index pattern modal step
2021-01-29 09:15:45 +00:00
Yuliia Naumenko 9ba3ee32a7
[Alerting UI] Fixed a bad UX for xpack.actions.enabled is set as false. UI should show the proper message instead of the endless spinner. (#89043)
* [Alerts][Actions] Changed isESOUsingEphemeralEncryptionKey determination. Set ESO plugin as an optional dependancy for actions and alerts plugins.

* fixed faling typechecks

* fixed faling typechecks

* fixed health framework status message

* fixed due to comments

* fixed faling test

* changed approach

* fixed due to comments

* fixed due to comments

* fixed tests

* fixed tests

* fixed tests

* fixed wrong commit

* fixed lang issue

* Fixed to remove eso check

* Fixed tests

* Fixed due to comments.
2021-01-28 20:18:55 -08:00
Tim Sullivan 46c9e64278
Update README.md 2021-01-28 19:19:31 -07:00
Oliver Gupte 8e57b63deb
[APM] fixes incorrect values in service overview throughput chart (#89348)
* [APM] fixes incorrect values in service overview throughput chart
2021-01-28 18:17:09 -08:00
Scotty Bollinger 67014a7970
[Enterprise Search] Update apps to use a service for docs links (#89425)
* Create DocLinksService

* Set docLinks on app start

* Update routes modules to use service

* Update component and test to use service

* Remove legacy files

* Add comment

Co-authored-by: Constance <constancecchen@users.noreply.github.com>

* Add new line

Co-authored-by: Constance <constancecchen@users.noreply.github.com>

* Refactor test

* Rename class and remove extra route segments

* Update test names

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Constance <constancecchen@users.noreply.github.com>
2021-01-28 18:14:04 -06:00
Tim Sullivan da6501973f
Update README.md 2021-01-28 16:33:21 -07:00
Clint Andrew Hall 55afba4a4d
Setting up and documenting Presentation Util (#88112) 2021-01-28 17:15:13 -06:00
Alison Goryachev ee2c74da44
[Upgrade Assistant] Use core doc links service (#89363) 2021-01-28 14:30:45 -05:00
Yuliia Naumenko 4de729f3c3
[Event Log] Added KQL queries support for Event Log API. (#89394)
* [Event Log] Added KQL queries support for Event Log API.

* refactored to use core.elasticsearch.client

* Fixed tests

* removed get index pattern for event log

* Fixed tests

* Fixed due to comments.
2021-01-28 11:19:59 -08:00
Wylie Conlon ac39321fc5
Tinymath is now a Kibana package (#89383)
* Tinymath is now a Kibana package

* Rename to @kbn/tinymath

* Update import style

* Update README

* Use commonjs import syntax

* Fix to commonjs export

* More commonjs fixes
2021-01-28 13:58:37 -05:00
Scotty Bollinger af88e024fa
[Workplace Search] Add i18n sources components (#89571)
* Refactor Cancel button constant to shared

* Add i18n for DisplaySettings section

* Moves more shared constants to correct files

Also fixes duplicate text in ConnectInstance (was left alongside translated text below it)

* Add source overview i18n

* More refactoring of shared constants

* Add i18n to remaining shared sources components

* Fix failing test

* Fix duplicate i18n id

* Remove unused translations
2021-01-28 12:55:29 -06:00
Mike Côté da8ce374cf
Make xpack.actions.rejectUnauthorized setting work (#88690)
* Remove ActionsConfigType due to being a duplicate

* Fix rejectUnauthorized not being configured

* Move proxySettings to configurationUtilities

* Fix isAxiosError check to code

* Add functional test

* Remove comment

* Close webhook server

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-28 13:44:25 -05:00
Candace Park 074003d4b4
[Security Solution][Endpoint][Admin] Ransomware card (#87945)
* [Security Solution][Endpoint][Admin] Ransomware card, package policy 7.12 migration
2021-01-28 13:35:06 -05:00
Jonathan Budzenski 5c709bb6cc Revert "[CI] Combines Jest test jobs (#85850)"
This reverts commit 46ac4ed7a2.
2021-01-28 12:15:45 -06:00
Frank Hassanabad c73000f644
Fixes one liner where the UI was not setting the threat_filters (#89519)
## Summary

Fixes: https://github.com/elastic/kibana/issues/89507

* One liner was missed on the front end to persist this
* I fixed some type script issues in the tests which lead to a few missing types in the `DefineStepRuleJson` section
* Adds a unit test for this.

Test instructions:
1. Go to manage detections
2. Create a new rule for Indicator matches
3. Add a filter and click save.
4. Re-load the rule and it should be saved now.

Repeat the steps for edit and it should also be saved there.

You should see this after a reload of the rule after a save for example:

<img width="1038" alt="Screen Shot 2021-01-27 at 4 28 51 PM" src="https://user-images.githubusercontent.com/1151048/106072458-77d1e400-60c5-11eb-8169-fcdadf0f03e7.png">

And this if you have two filters saved in the definition section of the UI:
<img width="1106" alt="Screen Shot 2021-01-27 at 4 30 10 PM" src="https://user-images.githubusercontent.com/1151048/106072539-9a63fd00-60c5-11eb-9c77-bf8224c90016.png">

### Checklist

Delete any items that are not applicable to this PR.

- [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
2021-01-28 09:55:45 -07:00
Dario Gieselaar cd9c79bec0
[APM] Add skip() method to registry.when (#89572)
Closes #89431.
2021-01-28 17:43:51 +01:00
Aaron Caldwell 80b720da11
[Maps] Geo containment latency and concurrent containment fix (#86980) 2021-01-28 09:18:59 -07:00
Juan Álvarez 77f8e62d07
update central config to include Go agent (#89445) 2021-01-28 08:42:33 -06:00
Christiane (Tina) Heiligers 681b2397c6
Migrates license_management to a TS project ref (#89472) 2021-01-28 07:39:21 -07:00
Gidi Meir Morris f3fba95955
[Task Manager] ignore version conflicts that exceed max_docs in the claiming process (#89415)
This is a first step in attempting to address the over zealous shifting we've identified in TM.

It [turns out](https://github.com/elastic/elasticsearch/issues/63671) `version_conflicts` don't always count against `max_docs`, so in this PR we correct the `version_conflicts` returned by updateByQuery in TaskManager to only count the conflicts that _may_ have counted against `max_docs`.
This correction isn't necessarily accurate, but it will ensure we don't shift if we are in fact managing to claim tasks.
2021-01-28 10:14:28 +00:00
Anton Dosov 07b210e42d
[Search Sessions] Improve session restoration back button (#87635) 2021-01-28 09:54:26 +01:00
Alexey Antonov 9c410b81ca
[TSVB] Remove vis_type_timeseries_enhanced plugin (#89274)
* [TSVB] get rid of vis_type_timeseries_enhanced

* add search strategy should be called from setup hook

* remove vis_type_timeseries_enhanced from CODEOWNERS

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-28 11:10:15 +03:00
Patryk Kopyciński d7028e1a5f
[Security Solution] Init Osquery plugin (#87109) 2021-01-28 08:24:55 +01:00
Nicolas Chaulet 9b5e41a9c5
[Fleet] Do not defined aliases inside datastream template (#89512)
Co-authored-by: spalger <spalger@users.noreply.github.com>
2021-01-27 20:59:33 -07:00
spalger 4fc49ece4d skip flaky suite (#86950) 2021-01-27 20:02:12 -07:00
CJ Cenizal fd2e9d0821
Convert default_watch.json to a JS object in order to avoid TS complaints (#89488)
* Remove unused defaultWatchJson static member from public JsonWatch model.
2021-01-27 16:21:30 -08:00
Wylie Conlon 445cb2ef87
[Lens] Fix crash in transition from unique count to last value (#88916)
* [Lens] Fix transition from unique count to last value

* Fix test

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-27 18:44:17 -05:00