* Update eslint related packages
* add errorMessage to no-restricted-paths validation
* add license to eslintrc file
* ignore broken plugin fixture
* upgrade tangled peer deps
* give name to unnamed func to avoid typescript-eslint/typescript-eslint#1078
* migrate away from removed prefer-interface
* migrate away from removed no-angle-bracket-type-assertions rule
* migrate away from removed no-triple-slash-reference rule
* old config was invalid and made this rule a noop
* fix array-type rule config
* fix readonly paramProperties that weren't being checked
* fix propType ordering
* remove references to non-existent rules
* remove unnecessary disable that is improperly formatted
* fix comment-related spacing
* fix typo/invalid namespace overrides
* rename fn to avoid hook-alike behavior
* remove reference to old removed rule
* use caret version for prettier
* reference babel-eslint with absolute path
This removes the outdated and unused 0.x version of `constate` and instead depends on a recent version. It also removes the aliasing to `constate-latest`.
closes#48606
* Add file parse chunking, update component on progress
* Clean up clean and validate and redo to process single features
* Add oboe dependency
* Prevent state updates on cancel
* Handle new files added mid-way through parsing another file
* Fix issue where subsequent index name is wiped out when previous file cancelled
* Remove unneeded oboe abort logic
* Dice parsing logic up further for testing
* Clean up
* Revert "Fix issue where subsequent index name is wiped out when previous file cancelled" (covered in separate PR)
This reverts commit 0688e73ffc.
* Update file parse test to focus on different stream states
* Update clean and validate tests to reflect function input/output changes
* Bump up file buffer. Simplify ui update logic, not neceesary to throttle with less frequent callbacks
* Show features parsed on UI rather than percentage
* Remove extra mock reset
* Review feedback. Add localized feature tracking callback
* Review feedback. Add comment explaining progress update throttling. Also, use debounce to throttle
* Remove console log
* Consolidate feature handling into one function passed to oboeStream node
* Abstract oboe logic to separate class and import for use in file parser
* Update file parser test to mock PatternReader import
* Prevent file parse active flag from resetting if another file is in progress
* Don't pass back result if no features found on complete, throw error with feedback. Add clean-up for prev PatternReader
* Use singleton version of jsts reader & writer. Pass back unmodified feature if clean returns nothing
* Make fileHandler function async
* Return null if no geometry
* Handle single features differently. Fixes functional test error
* Update jest test to use unique instances & counts of readers
* Review feedback
* Review feedback
* Review feedback. Add error-handling for null geom
* Fix i18n error
* Clean up handling of cancelled/replaced files to account for changed fileHandler return type
* [Code] use native git to iterate git files
* [Code] use native git to clone/update repository
* [Code] git history using native git
* [Code] use native git to read file tree and file content
* [Code] fix the 'bad file' warning from status api
* [Code] use native git to handle worktree
* [Code] use native git to resolve references
* [Code] use native git to handle blame / diff
* [Code] patch git binaries in kibana build script
* [Code] migrate unit tests to use native git
* get coverage for console functional test
* instrument kibana
* collect coverage stats after each test, on url navigation, refresh and back
* switch to babel-plugin-istanbul
* switch to babel-plugin-istanbul
* [coverage service] basic version
* trigger final coverage flush when ftr finishes, wait for all logs before exiting
* add coverage report generation
* increase optimizer timeout, re-run idx/babel plugin before istanbul
* increase memory usage for node
* put istanbul preset in the beginning to run as the last one
* bump babel-plugin-istanbul up to 5.2.0
* cleanup
* save unique json files with coverage
* [functional test coverage] update coverage.json path
* run code coverage on CI
* increase max-old-space-size with env variable
* fix coverage folder creation
* use env variable to configure code coverage
* revert ci config changes
* remove duplicate plugin
* remove comments
* fixes
* refactor failed_tests_reporter to use TS, no octokit
* update renovate config
* ensure that all kbn-test files are in ts project
* fix some type errors
* add some more tests
* [kbn-test/githubapi] cleanup and document
* collect log messages as strings instead of message objects
* ensure issue is open when updating body
* improve readability of getKibanaIssues
* expose axios helpers from dev-utils
* fix request params for fetching github issues and validate locally
* include a README for failed_tests_reporter
* improve axios error helpers
Add service map tabs on the main APM screen and for individual services.
This is not yet hooked up to work with back-end data, so it always shows the same hard-coded graph.
This is experimental, so you must have x-pack.apm.serviceMapEnabled: true in your Kibana config for it to show up.
Also add "PSF" to the list of allowed licenses since a new dependency added uses this license (it's on the [green list](https://github.com/elastic/open-source/blob/master/elastic-product-policy.md#green-list).)
Fixes#44890Fixes#44853
* Add option for Internet Explorer IE11
* WIP trying to figure out IE options/capabilities
* more attempts to get IE tests working
* more work, but still can't set font size in Dev Tools Console
* two changes for IE
* revert skip in console test
* this change *appears* to set absolute times but they don't stick
* Shakespeare passing on all 3 browsers
* add config.ie.js, change 'internet explorer' to 'ie'
* increase notifications:lifetime so ew have a chance to see the message
* fix lint error remove unused Options
* updates from PR review, remove console.log
* cleanup + reuse existing code
* make iedriver path work for x-pack tests
* try to avoid changing notification timeout
* resolve path and add correct delimiter
* remove unused code, make timepicker work on IE11
* work-around 45333 for IE11
* [WIP] removing some work-arounds
* revert work-arounds
* cleanup
* remove debugging code
* remove debugging code
* removed unused code
* reverting 2 files that didn't have any material changes
* adds linter rule to disallow undeclared variables
* adds cypress eslint plugin, remove redundant packages from siem/package.json
* removes comment from json and adds a line about cypress linting to the cypress README
* adds upgraded package back to siem/package.json
* updates cypress run scripts since cypress package is now located in the x-pack/node_modules
* needed to yarn kbn bootstrap after rebasing with master
* use new setScreenshotSize
* change tolerance from 1% to 2% (originally 5%)
* retake baseline without notification dialog
* close add and save notifications
* wait for render complete when going in to FullScreen mode
* add 5 second sleep to see if it ever goes to full screen mode
* add debugging screenshots and sleeps
* try reloading the Kibana index before this test
* 30 iterations with only the first test enabled
* revert multi-run changes
* ran node scripts/build_renovate_config
* fix tslint errors
* fix tslint error
* update xpack dependency to match oss
* update yarn.lock
* revert notifications:lifetime:info change by reducing some other timeouts
* remove commented-out code
* fixed and Unskipped 2nd test
* re-arrange order of dashboard tests to pass :-(
* removed commented-out sleep
Hopefully this won't be an issue
* Add comment about the order of tests
```
loadTestFile(require.resolve('./view_edit'));
// Order of test suites *shouldn't* be important but there's a bug for the view_edit test above
// https://github.com/elastic/kibana/issues/46752
// The dashboard_snapshot test below requires the timestamped URL which breaks the view_edit test.
// If we don't use the timestamp in the URL, the colors in the charts will be different.
loadTestFile(require.resolve('./dashboard_snapshots'));
```
* Revert "Updating load-grunt-config to ^3.0.1 (#46408)"
This reverts commit 2733c093e0.
* adapt changes from #46408 to not invalidate yarn state on re-installs
* Update angular related packages
* upgrade jQuery too
* don't delete screenshots in pipeline jobs
* use ng-change so that listener is triggered after ng-model is updated
* match @types/angular versions
* update yarn.lock
* fix test
$routeChangeSuccess is no longer broadcast when resolving a redirect route, so this test has been adjusted to validate that
* Update jest related packages
* use correct type
* adapt spy and describe.each types
* update yarn.lock
* update snapshot
* define types before passing to describe.each
* Add core-only bundle
* Add ApplicationService mounting
* Add LegacyCore{Setup,Start}
* Fix PR comments
* Add functional tests
* Fix PR comments
* Fix PR comments
* Remove other usages of rootRoute
* Use state field notation
* Add support for open in new tab
* Fix PR comments
* Fix pesky await from the dead
* Update docs
* Bump @types/history
* [APM] Adds chart for page load averages by country in RUM page-load view
* [APM] Simplified and refined ChoroplethMap. Added legend labels.
* - Replaced Map legend slices with smooth gradient
- fixed issue with map rendering multiple times
- renamed initial props to start with 'initial'
- added some more code comments
* use correct i18n ids
* - base color progression calc directly on euiColorPrimary
- check that a layer exists before querying features
* Addressed code review feedback
* - fixes issue where min/max was not a finite value
- cleans up mouseover handler, which updates on state changes
- formats doc count for display
- style improvements
* addressed PR feedback & updated renovate.json5
* - Removed the Legend from the ChoroplethMap
- Only render tooltip when there's data
* - fix hover state not clearing properly
- add better typing around Geojson propertier for world countries
* added missing css import
* wip
* sources table working woohoo
* rename table back to n flow
* wired up both source and destination tables
* cleanups
* flows and ips sort
* flows and ips sort
* fix flow sorting
* differentiate tables
* bring back network
* fix tests
* integration tests updated
* add country names to flags, sort by desc on first click
* yarn doing its thing
* correct panel width during initial load
* remove default props
* fix inspect btn placement at small viewport sizes
* reformatting bytes
* used compressed table prop
* fix unit tests bytes
* update header subtext size
* override table cell display flex
* make titles plural
* less distracting empty string
* simplify markup and align numbers right
* improve more items experience
* undo compressed tables…looks bad
* stack tables
* restore compressed and side by side layout
* sentence case for titles
* table cleanup
* force more to separate line
* dnd poc changes
* jest test updates
* TypeScript, i18n, and bean-gen fixes
* fix for filter action color
* single quotes instead of backticks
* use getEmptyValue() instead of static emdash
* remove “ AS” prefix
* address PR concerns
* add space
* first attempt at prop change with matchMedia
* split table display by mediaMatch
* rm comments
* fix type issue
* correct react hook
* lint fix
* fix jest
* update snapshots
* WIP: Adding libs for webgl
* WIP Adding swiftshader libs to chromium
* WIP: Adding missing binaries for webgl in chromium
* Use pipes for communication with chrome to avoid networking snafus
* Bumps puppeteer in prep for new chromium build + types and better @types package
* Remove ignore
* Removing of final @ts-ignore now that we have types
* README updates
* Fixing binding issues
* Fixing maps integration wrt reporting + conditional pipes for puppeteer
* Adding new deps to the windows build
* New s3 builds
* Checksums for updated linux build
* Moving types out of puppeteer file and into core puppeteer module
* launch => puppeteerLaunch
* Maps comment about render loading in reporting
* Clarify how reporting uses hooks and events for viz
* First version of Editor component and integration with the expression editor
* Adding resize detector
* Remove blue border on editor select
* Adding types for the react resize detector
* Adding worker and a few more monaco plugins
* Suggestion completion rework
* Add resize detector types as well as an IE11 full width bug fix
* Adding correct types for function definitions and monaco
* change CSS class names, add border to input
* Adding boolean styling
* Slight refactor of canvas function/arg types and adding first pass of hover
* Fixing hover interaction for functions and arguments
* Namespacing Code monaco css overrides
* Styling cleanup and simple README
* Setting up tests including some storyshots for the ExpressionInput component and Editor component
* Prop documentation for both the ExpressionInput and Editor components
* Adding Editor snapshots
* tiny cleanup
* Moving language registration, adding autocomplete suggestion types, and cleaning up editor
* Some documentation and cleanup from PR feedback
* Fixing types, adding documentation
* clean up editor, remove autocomplete toggle
* More PR cleanup
* Test fix, type fix
* fix issues around errors. code cleanup
- Updates the dragSelect library to 1.13.1. 9221622 updates the library. c9a870b fixes a regression caused by the update.
- Fixes an issue where a timefilter refresh would clear a swimlane selection. 3d1c43d removes a duplicate timefilter subscription and changes the triggered event to REDRAW instead of RELOAD (which triggered a full reload and cleared the selection).
- Fixes an issue with timefilter/datepicker: EuiSuperDatePicker checks isPaused only with componentDidMount() so it might miss changing props. The fix in aa9555d works around that by adding a check on the onRefresh() callback.
* [mocha] fix test selectors to get everything in packages
* fix paths in tests
* ignore test files that make it into target directories
* [@kbn/test] don't build test files
* move tests from datemath and test-subj pkgs into __tests__ dirs
* [kbn/test-subj] remove test script
* update yarn.lock
* upgrade all babel related modules, and bump lodash minors
* update kbn-pm dist
* update fetch-mock, necessary to use core-js 3
* use regenerator transform in jest tests, as required by EUI
* disable useBuiltIns rather than using regenerator plugin
* remove extra regenerator-runtime import
# [SIEM] Run Cypress Tests Against Elastic Cloud & Cypress Command Line / Reporting (#42804)
This PR contains enhancements to the `Cypress` end-to-end (e2e) testing support in the SIEM app, as discussed with @spalger
Note: this PR depends on test refactorings in https://github.com/elastic/kibana/pull/42766
## New: Run `Cypress` Tests Against Elastic Cloud
Cypress tests may now be run against a remote Elastic Cloud instance
(override `baseUrl`), interactively or via the command line.
Credentials are specified via `kibna.dev.yml` or environment variables.
## New: Run `Cypress` Tests On the Command Line
Run tests on the command line (override `baseUrl` and pass credentials via
the `CYPRESS_ELASTICSEARCH_USERNAME` and `CYPRESS_ELASTICSEARCH_PASSWORD`
environment variables), via command line.
## New: Reporting
Reports are configured to include:
- An HTML report, suitable for e-mail notifications
- Screenshots
- Junit reports (for integration with Kibana CI)
- Videos (optional)
Reports generated when `Cypress` tests are run on the command line are output
to the `target` directory, which follows specific conventions used by the
Kibana CI process:
* Any directory under `target` that begins with `kibana-`, e.g. `kibana-siem` will be uploaded as an artifact to a bucket
* Junit reports are picked up from the `target/junit` directory
The artifacts generated by running `Cypress` tests on the command line conform to the above conventions.
### HTML Reports
An HTML report (e.g. for email notifications) is output to:
```
target/kibana-siem/cypress/results/output.html
```
### Screenshots
Screenshots of failed tests are output to:
```
target/kibana-siem/cypress/screenshots
```
### `junit` Reports
The Kibana CI process reports `junit` test results from the `target/junit` directory.
Cypress `junit` reports are generated in `target/kibana-siem/cypress/results`
and copied to the `target/junit` directory.
### Videos (optional)
Videos are disabled by default, but can optionally be enabled by setting the
`CYPRESS_video=true` environment variable:
```
CYPRESS_video=true yarn cypress:run
```
Videos are (optionally) output to:
```
target/kibana-siem/cypress/videos
```
# Updated `README`
The full details and instructions for running Cypress tests are in the
`siem/cypress/README.md`, which was updated to reflect the changes
in this in this PR, but in a nutshell, you may run tests interactively with
the following (new) environment variables:
```sh
cd x-pack/legacy/plugins/siem
CYPRESS_baseUrl=http://localhost:5601 CYPRESS_ELASTICSEARCH_USERNAME=elastic CYPRESS_ELASTICSEARCH_PASSWORD=<password> yarn cypress:open
```
Running the command line version of the tests, which will output
the reports described above, is a similar experence:
```sh
cd x-pack/legacy/plugins/siem
CYPRESS_baseUrl=http://localhost:5601 CYPRESS_ELASTICSEARCH_USERNAME=elastic CYPRESS_ELASTICSEARCH_PASSWORD=<password> yarn cypress:run
```
https://github.com/elastic/siem-team/issues/435https://github.com/elastic/siem-team/issues/437
* Upgraded EUI 13.0.0 -> 13.1.0
* Bump to 13.1.1
* Reset MutationObserver polyfill to original operation
* Reset x-pack's MutationObserver polyfill to original operation
* EUIficate pie chart options tab
* Fix tests
* Size titles down to xs
* Use FormattedMessage
* EUIficate tag_cloud_vis options tab
* Get rid of ticks in the range
* Update snapshots
* Fix comments
* Change label
* Create a components folder
* Create default_editor_agg.tsx
* Create default_editor_agg_group
* Apply drag and drop
* Remove unused dragula dependency
* Remove old mocha tests
* Add ts for state
* Update functional tests
* Update touched condition
* Apply styles for accordion button content
* Apply truncate for agg description
* Remove unused styles
* Separate common props
* Move aggGroupNamesMap to agg_group.js
* Update _sidebar.scss
* Pass schemas prop
* Prevent scroll bar and add space
* Remove unused min from stats
* Add OnAggParamsChange type
* Show error as an icon
* Update background color
* Update title size
* Remove Schema.deprecate since it's not used
* eui 12.4.0
* styled-components ts conflict
* update combobox test service to always open on open call
* Revert "update combobox test service to always open on open call"
This reverts commit 43074e6006.
* scroll combobox into view
* scroll before filter
* eui 12.3.1
* add data logos
* Fix TS uses, one SCSS use of euiOverflowShadow
* fix overflow shadow mixin in sass
* homepage logos
* refix typo on homepage
* hp snaps
* Addresses an issue where Chromium user-data-dirs aren't cleaned properly, and moves to TS
* Fixing renovate config issues
* Fixing issues with typedef's missing
* Using prior-set typedefs for logger
* Updating to @elastic/lodash to 3.10.1-npm-kibana2
* Updating lodash to 4.17.13
There's a stray dependency to lodash 4.17.11 via cypress which doesn't
use "^". This is a dev dependency, so we can ignore it for a bit while
they update their package.json
* Updating some forgotten references to @elastic/lodash@3.10.1-kibana1
* Updating lodash-es to 4.17.13
* Updating to @elastic/lodash to 3.10.1-npm-kibana3
* Using the root resolutions to update cypress's version of lodash.
Thanks @spalger!!!
* [ts] upgrade to 3.5.2
* [ts] run from cwd so that relative paths are correct
* move eslint-disable-line comment into jsx attribute
* autofix eslint violations
* avoid generic type, it's not necessary and problematic
* make elasticsearch.cluster optional, many instances don't have them
* remove invalid prop
* expand AllowUnknownProperties to cleanly handle arrays
* esfilter values can sometimes be an array of strings
* allow exception objects to have unknown properties
* define accumulator as a boolean
* fix return type
* return a 404 if beat isn't found after update
* use Object.values for better types
* define return type of get() call
* define value type for Set
* define return value of get()
* define State property type
* use less get(), so ts can infer types
* define Set item type
* map state type
* make default_operator optional, since it's not always defined
* remove seemingly unused prop
* define return type of get() fn
* define inner type for state
* don't define base types are objects with index signatues
* regenerate public api docs
* make indices privileges optional too
* remove unnecessary index-signature from Exception interface
* use variadic _arg instead
* [core/plugin] use Record<string, any> rather than {}
* replace a couple more instances of {}
* revert some unnecessary changes
* remove unused types
* [reporting] output, payload, and meta are required properties
* bump to latest patch version
* Add ctags langserver as a dependency and launch it
* Remove extra files in node-ctags when release
* [build] rework platform-specific clean for ctag package
* rename local excludedPath var
* use array.includes
* exclude ctags langserver vendor
# Cypress Tests
The `siem/cypress` directory contains end to end tests (specific to the `SIEM` app) that execute via [Cypress](https://www.cypress.io/).
At present, these tests are only executed in a local development environment; they are **not** integrated in the Kibana CI infrastructure, and therefore do **not** run automatically when you submit a PR.
See the `Server and Authentication Requirements` section below for additional details.
## Organizing Tests and (Mock) Data
- Code and CSS selectors that may be re-used across tests should be added to `siem/cypress/integration/lib`, as described below
- Smoke Tests are located in `siem/cypress/integration/smoke_tests`
- Mocked responses from the server are located in `siem/cypress/fixtures`
### `cypress/integration/lib`
The `cypress/integration/lib` folder contains code intended to be re-used across many different tests.
- Files named `helpers.ts` (e.g. `siem/cypress/integration/lib/login/helpers.ts`) contain functions (e.g. `login`) that may be imported and invoked from multiple tests.
- Files named `selectors.ts` export CSS selectors for re-use. For example, `siem/cypress/integration/lib/login/selectors.ts` exports the following selector that matches the Username text area in the Kibana login page:
```
export const USERNAME = '[data-test-subj="loginUsername"]';
```
## Server and Authentication Requirements
The current version of the Smoke Tests require running a local Kibana server that connects to an instance of `elasticsearch`. A file named `config/kibana.dev.yml` like the example below is required to run the tests:
```yaml
elasticsearch:
username: 'elastic'
password: '<password>'
hosts: ['https://<server>:9200']
```
The `username` and `password` from `config/kibana.dev.yml` will be read by the `login` test helper function when tests authenticate with Kibana.
See the `Running Tests Interactively` section for details.
## Running Tests Interactively
To run tests in interactively via the Cypress test runner:
1. Create and configure a `config/kibana.dev.yml`, as described in the `Server and Authentication Requirements` section above.
2. Start a local instance of the Kibana development server:
```
yarn start --no-base-path
```
3. Launch the Cypress interactive test runner:
```sh
cd x-pack/legacy/plugins/siem
yarn cypress:open
```
4. Click the `Run all specs` button in the Cypress test runner
![cypress](https://user-images.githubusercontent.com/4459398/60113545-39c54f00-972f-11e9-9c0c-5d28aecdf212.gif)
https://github.com/elastic/ingest-dev/issues/515
* chore(NA): first efforts to enable cache-loader relative paths and disable babel-register cache. chore(NA): allow to use cache-loader results everywhere as a persistent cache.
* chore(NA): last change to support cache loader across envs.
* fix(NA): cache-loader config generator function scope.
* refact(NA): static cache config for dll compiler.
* chore(NA): support for force writable cache flag. use built assets for cache on distributable.
* chore(NA): update cache-loader to last version. fix(NA): logic bug with force writable cache flag.
* chore(NA): move optimize cache to built_assets.
* chore(NA): relative paths for sourcemap configurations.
* chore(NA): remove redudant check for process.env var.
* refact(NA): simplify double negated expression.
* chore(NA): remove webpack prefix from devtoolModuleFilenameTemplate.
* chore(NA): rename cache write force flag to KBN_CACHE_LOADER_WRITABLE.
* chore(NA): readd babel register cache.
* chore(NA): change .cache to .ui_bundles_cache
* chore(NA): change .ui_bundles_cache to cache/ui_bundles
* chore(NA): update gitignore with .babel_register_cache.json
* chore(NA): rollback devtool module filename template to asbolute resource path.
* chore(NA): apply cache-loader patch.
* chore(NA): added new version definition for cache-loader package.
* chore(NA): updated yarn lock with new cache-loader version
* window.crypto.subtle cannot be used in insecure env
* set extension. otherwise definition prioritiezed over js file
* move js to ts. fix build
* remove polyfills
* remove ext
* remove crypto from legacy
* Add rendering of canvas images and update percy agent package
* Spencer's fix for eslint issues
* restore canvas elements after taking snapshot
* copy over all styles from canvas to image stand-in
* percy snapshots only run in chrome, so they can use modern js features
* only run visual regression suites
* add stub maps test
* fix arg order
* use more modern syntax that totally works in chrome
* typo
* fix ftr test timeout when using --inspect-brk
* Revert "add stub maps test"
This reverts commit 32dc965adb.
* Add file upload x-pack plugin
* Clean up
* Remove unneeded cluster config
* Remove unneeded test
* First pass basic telemetry (not connected).
* Basic telemetry connected
* Review feedback
* Revise telemetry to use savedObjectRepository. Capture metrics on app and file types
* Lots of cleanup, consolidation of logic
* Clean up, reorg
* Update telem tests and telem functions
* Add back import data model
* Clean up and update telemetry tests
* Fix telemetry test issues and update corresponding code
* Up chunk limit to 30 MB
* Add file upload telemetry to saved objects management builder
* Missing space
* Add descriptive comments to dynamic keys in telemetry fields
* [Maps] [File upload] Geojson upload (#36410)
* Client side basics
* File added and default named correctly
* Connect transient layer removal to file import component
* Simplify transient layer removal
* Move file import ui over to new file upload plugin and make more generic
* Add post-processing option to file upload. Make component json-specific
* Add flag for source indexing
* Revise import layer workflow to be separate from add layer workflow
* Differentiate between normal sources and import sources. Add back layer add/next button
* Update indexing boolean in component after file upload & parse
* First pass rough indexing from maps working on specific use cases
* Update parsing logic to handle geojson formats
* Index pattern added following index creation
* Pass onsuccess callback to file_upload to add layer to maps app
* Handle mulltipolygon type in es geo utils
* Add functionality to make es layer permanent and switch to edit panel
* Add to index if exists or create new
* Make plugin API more intuitive. Set up to handle remove action
* Pass transient removal call through to file import
* Clean up layer viewing logic for temp and perm layers
* Remove change source from import screen
* Add option to provide mappings array and pass geo_point and geo_shape to array
* Add support for multiple mappings select and index naming
* Match style of import file button to add layer for now
* Remove duplicate case handling resulting from merge
* Move geo processing logic over to file upload plugin for reuse
* Remove old geo_shape formatting from geo_point code
* Set default index data type. Remove unneeded stringify request logic
* Check for custom processor object which contains function
* Move file picker to separate component
* Some cleaning. Add geojson clean & validate code
* Catch file parsing errors and notify user
* Disable index type if valid file not referenced
* Set error messaging on invalid index name used
* Add index pattern checking logic and error handling
* Dynamically populate geo index options
* Set index data type earlier in the workflow. Don't duplicate requests
* Pass back index ready status from plugin and connect to layer next button
* Increase max bytes to ~50MB
* Don't parse files over max size & warn user. Also, remove toasts and warn similarly to other components
* Uploaded file default label: 'fileToImport' -> 'Import File'
* Expand out feature properties for mapping
* Pass through telemetry data to plugin back-end
* Clean up indexing flow. Separate creation of index patterns. Add new index pattern create callbacks
* Pass back info for indexing failures but don't connect to UI yet
* Fix telemetry test issues and update corresponding code
# Conflicts:
# x-pack/plugins/file_upload/server/telemetry/telemetry.test.ts
* Add file upload telemetry to saved objects management builder
* Missing space
* Add descriptive comments to dynamic keys in telemetry fields
* Divide up the import layer add workflow on the maps side and tweak to avoid layer color change
* Fix bug affecting file preview replacement not updating coordinate index type
* Remove index pattern. Organize effects. General clean up
* preIndexTransform -> transformDetails
* Update proptypes
* Cleaning, organizing
* Add index name guidelines. Show conditionally
* Add file size, type guidance. Filter on file size, not chunk size. Small tweaks to file/index tips
* Zoom to layer extent on preview of imported data
* Revert "Revise import layer workflow to be separate from add layer workflow"
This reverts commit 3b35f5371d.
* Handle import file determination to accomodate add layer flow. Update card wording
* Decompose addLayer component into smaller pieces. Add placeholder import progress component
* Dynamically change footer button text for context
* Move import card to top of sources
* Get basic progress tracking in place
* Allow second layer (indexed layer) to get removed. Reconnect file remove. Small UI tweaks
* Add link to management for further index mods
* Fix i18n failures
* Add file parsing progress indicator & text
* Reset importView on source reset
* Add dynamic chunking to handle fluctuating data sizes common to geo features
* Don't duplicate index request if request in flight
* Modify json upload and import to use JS classes & react class component state
* Transition remaining file_upload components over to class/component structure with state
* Move functions into index_settings class
* Review feedback
* Add fetch with timeout
* Split out import editor into separate component and clean up logic
* Clean up add layer panel/button title logic
* More cleanup
* Tweaks to success and error handling flow
* Handle success/error handling on add/view indexed data
* Jump to indexing complete on error. Handle nothing returned to client app
* Update name/location of source select css file
* Update import source card border color and icon
* Suggest name for index based upon file name
* Add validation to auto-suggested index name/pattern
* Use constants for geo_point and geo_shape in mappings
* Update geojson upload card/description
* Catch-all review feedback
* Fix internationalization syntax errors
* Review feedback
* Get index names and patterns only when needed
* Make addLayer async again to fix zoom to extent issue, waits on just the async syncDataForLayer function (which is async)
* Remove panel description as derived state and shift to function
* Remove geojson fit to extent for now
* Remove unused class selector
* Remove unneeded i18 wrapper for what's already passed in as an i18 element
* Revise import state to be handle via redux. Some json upload args changes
* Review feedback. Some cleanup and bug fixes
* Roll back store actions changes and layer_addpanel changes related to color change
* Follow scss file naming conventions for source_select
* Review feedback
* Restore clobbered layer_control view to master state. Add source_select css
* Update import to use plugin local indexPatternService, not maps'
* Review feedback, mostly i18n. Also add index to scss path
* i18n translation updates
* Assign error message to values rather than error object
* Update getMapColors to filter out transient layer
* Wrap Feature as FeatureCollection in Maps
* Add jest tests for geo processing functions. Add fixes for single feature handling
* i18n
* Review feedback. Test cleanup/fixes
* Update layer add panel footer logic to still show when source not selected
* Fix issue of not recognizing MultiPoint type. Remove throw logic for now
* Update telemetry with newly required placeholder function
* Prevent external modification of nested geojson objects
* i18n translation updates
* Revert "Fix issue of not recognizing MultiPoint type. Remove throw logic for now"
This reverts commit d692f913f8.
* Revert "Prevent external modification of nested geojson objects"
This reverts commit 0ea9fd3336.
* yarn.lock update
* [File upload] Remove dynamic fields from mappings, code and telemetry test (#38902)
* Remove dynamic fields from mappings, code and telemetry test
* Add file-upload-telemetry to spaces and es archiver test mappings
* Don't create telemetry saved object if none exists, create on first update instead
* Back out es archiver mappings update
* Upgarde enzyme to v3.10.0
*update snapshots (React components which are using Memo());
*revert pending test in list_control_editor.test.js;
*replace component.html() and component.text() function calls
which expect null to component.isEmptyRender() for consistency
* [ftr/percy] integrate percy with functional test runner
* execute ftr within `percy exec`
* share PERCY_BIN and GRUNT_BIN vars in setup
* [license] whitelist `(Unlicense OR Apache-2.0)`
* [percy] include pr/parallel info in env
* echo the actual variable value
* destructure required modules
* [ci] calculate percy env in a script
* remove outdated eslint overrides
* oops, nonce should be the same for each build
* take snapshots in context tests
* add percy snapshots to some dashboard tests
* account for extra execution of PERCY_BIN
* remove usage of percy service
* rename service to `visualTesting`
* write a simple test
* switch left-over percy test to visualTesting
* set log level for percy agent
* trigger ci
* try using the system chrome install instead of downloading one
* fix export definition
* Don't skip chromium download
* Add Spencer's fix to point to chrome installation
* Attempting to split tests into own ci job and test files
* Renumber job
* Add tag to decorations file
* Try new files with existing CI job
* Try again to create a new CI job
* Fix eslint problem with space
* eslint updates
* fix console test
* make test names unique
* Update ci group names
* Try old name again
* save
* add separate visual_regression ci job
* add visual regression ci job
* add new job to jobs.yml
* update path to take_percy_snapshot script
* use fixed percy job total
* fix common services import
* move visual_create_and_add_embeddables to visual_regression project
* finish moving create_and_add_embeddables
* add x-pack visual regression job
* migrate dashboard_snapshots tests to visual_regression
* remove references to removed test files
* restore some unnecessary changes
* reimplement the login page tests
* yarn.lock update
* fix test
* remove old CI_GROUP 100 block
* update failed_tests trap
* reduce yarn.lock changes
* disable debug logging
* disable visual-regression tests for now, we can enable them in specific prs
* [Infra UI] Format arrays as ul elements in LogEntryFieldColumn
* Add enzyme test for LogEntryFieldColumn
* Fix tests
* Swap ul's for comma separation
* Use semantic markup for inline list
* Fix tests
* Use ::after element for comma separation
* Move ::after element to :not(:last-child)
* Hoist CommaSeparatedLi
* Use EuiThemeProvider in tests instead of isEnzyme prop
* Suppress type error with issue link
* Update dependency tinycolor2 to v1.4.1
* Added tests for valid and invalid 4 digit and 8 digit hex colors to ColorDot and ColorManager stories
* Updated storyshots