* skip and adjust functional tests for Firefox
* downgrade geckodriver to 0.22.0
* [ftr] add firefox specific config file
* remove hard coded firefox adjustments
* remove firefox specific screenshot directory
* run functional tests in firefox in x-pack
* pass the logger to readConfigFile()
* rename local var
* skip xpack firefox config
* run xpack firefox functional tests in separate command
* update report name for XPack firefox results
* adjust viz shared item test
* skip shared item test
* [test/feature_controls] increase timeout to 20 sec & use forceLogout
* FF timeout on TSVB, refresh page on failure for url navigation
* [feature_controls/visualize_security] increase timeout to 20 sec
* skip dev_tools_spaces tests on FF
* run all groups 3 times
* skip more func tests
* skip more tests
* skip all feature controls tests for Firefox
* revert back changes in feature controls tests
* rename xpack report for chrome
* skip tile map for FF, wait for render before saving
* Revert "run all groups 3 times"
This reverts commit 12b4f69627.
* revert refresh on login
* apply feedback
* Pin dependencies
* include core-js in babel packages
* specify core-js version when using `useBuiltIns`
* dedupe @babel/types to avoid "range of null" problem
* Pin dependencies
* [eslint] ignore large files that take a long time to parse
* [eslint-plugin-import] force `querystring` to be considered a core module
* [eslint-plugin-import] auto-fix import order issues
* move charts to separate components
* replace areachart
* apply custom styles
* customize barchart color
* customize color for areachart
* move reusable functions into common
* exchange x & y value in barchart dataset
* replace pure component with react memo and upgrade enzyme adapter
**v4.5.5**
- Support Github Enterprise by allowing custom Github hostname
**v4.5.4**
- Add ability to customize PR title (`--prTitle`)
**v4.5.0 - 4.5.3**
- Add ability to append text to PR description: (`--prDescription`)
- More helpful message for handling conflict resolution
- Gracefully handle invalid access tokens
- Drop ssh keys requirement and use access token for everything
- Create an official Docker image, which allows users without Node.js and/or git to use Backport
**v4.4.2:**
- Update all dependencies to latest version
* Returning live data
* Adding TSVB data population
* adding tests
* Adding UI
* Adding rough draft of metrics control
* Breaking out metric component; adding useCallback to callbacks; adding intl strings
* seperating out form
* Break metrics form out; change to custom color picker; create custom color palette;
* fixing bug with color picker
* changes to color palette; fix callback issue
* Fixing count label
* Fix chart label to truncate
* Changing by to graph per
* Making the metric popover wider to ease field name truncation
* critical changes to the import order
* Changing metrics behavior
* Hide metrics when choosing document count
* Updating chart tooltip; fixing types;
* Setting intial state to open metrics; Tweaking toolbar sizes
* fixing linting issues
* Allow users to filter by a grouping by clicking on the title
* Change rate to rateMax; add rateMin and rateAvg; fix title text-align
* Use relative paths to fix base path bug
* fixing typescript errors; removing rateAvg and rateMin; removing extranious files;
* Fixing formatting issues
* Fixing i18n linting errors
* Changing to elastic-charts
* fixing typing errors with charts
* Moving afterKey out of URL to fix bug with pagination
* Adding support for multiple axises
* Adding tests for useMetricsExplorerData hook
* breaking up the charting code; removing multi-axis support; changing color palette to use blue and red for first two color
* Adding drop down menu to charts for filtering and linking to TSVB
* Adding more tests for useMetricsExplorerData hook; adding error message; adding chart options to non-groupby charts
* only display groupings that have the metric fields
* Refactor page level state into custom hook; add test for options handlers;
* Fixing linting
* removing color picker
* removing useInterval
* Changing group by to use the pills; Changing context menu button; adding icons to context menu.
* Adding test for color palette
* Adding test for createFormatterForMetric()
* removing tsx extension; adding tests for createMetricLabel()
* removing tsx extension; adding tests for createMetricLabel()
* re-organizing helpers
* Moving helpers from libs to helpers; adding test for metricToFormat
* Fixing bug in tsvb link fn; adding timeRange props; adding createTSVBLink() test
* fixing timeRange fixture import; fixing aria label for action button
* removing some unecessary useCallbacks
* Adding test for MetricsExplorerChartContextMenu component
* Fixing linting issues
* Optimizing test
* Adding empty prompts for no metrics and no data
* Removing duplicate sereis def
* tcs has lost it's mind so I had to copy enzyme_helpers.tsx into our plugin
* Appeasing prettier
* Update x-pack/plugins/infra/public/components/metrics_exploerer/metrics.tsx
Co-Authored-By: simianhacker <chris@chriscowan.us>
* fixing path typo
* Adding supportFiltering to dependicy; change options to be more specific
* remove typo
* Fixing typo
* Adding logColumns to source fixture; fixing typo
* Fixing path to be more sane
* Bump api-extractor to fix missing warning bug
* Fix api-extractor not failing build on api changes
Workaround for upstream bug
* Don't fail build for api-extractor warnings
Warnings like forgotten exports won't fail the build. Instead these
will be added as comments to the api review files. Thus even though
the build won't break, these warnings will show up in code review and
should be fixed by the author.
This is to allow us to merge the workaround for the upstream bugs
without breaking master until we've addressed all the warnings.
* Fork angular for use in Kibana
* Remove custom URL codec logic in favor of fixed forked angular behavior
* Remove legacy angular URL route encoding
* Revert changes to APM plugin to give back control of corrective codecing
* 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
getopts added the `string` option in a recent version, which I didn't realize when I made updates to src/dev/run/run.ts, which rely on this option. To make sure it is available this updates getopts in all projects from `2.x` to `^2.2.4`
* Generate core API docs from TSDoc comments
Uses api-extractor and api-documenter to generate documentation for
the Kibana core API from TSDoc comments in the source code.
Documentation can be generated using `npm run docs:api`.
I used --no-verify to ignore the following pre-commit hook errors:
1. Filenames MUST use snake_case - api-extractor.json
It's possible to specify a different config file, but I prefer to keep the "standard" config file name.
2. UNHANDLED ERROR: Unable to find tsconfig.json file selecting "common/core_api_review/kibana.api.ts". Ensure one exists and it is listed in "src/dev/typescript/projects.ts"
This is not a source file, so safe to ignore.
* Flesh out API docs a little bit
* Ignore snake_case check for api-extractor.json
* Ignore api-extractor's review file from pre-commit check
* Try to fix build failing by using masters yarn.lock
* I'm being stupid
* Found a better home for ignoring common/core_api_review/kibana.api.ts
* Node script for detecting core API changes
I initially wanted to include this as a precommit hook, but it takes
quite long to execute (~12s) so might be better suited as a test or
as part of the release process.
The script currently fails because api-extractor uses an older version
of typescript.
* Fix tslint precommit hook ignore condition
* Write tsdoc-metadata.json into ./build
* Add LogMeta and ElasticSearch to exported types & docs
* Suppress logging when running api-extractor from script
* Improve check_core_api_changes script and run as test
* Inline api-extractor.json config
* Fix check_core_api_changes --help flag
* LogMeta TSDoc comments
* check_core_api_changes: fail if api-extractor produces warnings or errors
And print more useful messages to the console
* Move ignored ts files list into dev/file
* Add back build:types since api-exporter cannot operate on source files
* Upgrade api-exporter/documenter
* api-extractor: independantly analyze core/public and core/server
Becasue of https://github.com/Microsoft/web-build-tools/issues/1029
api-extractor can't use core/index.ts as a single entry point for
analyzing the public and server API's as isolated namespaces.
Instead we analyze these projects separately. This introduces other
problems like the api review files and documentation always being
called "kibana." from the package.json filename.
* Build types as part of build task
* Include types in typescript browser compilation
* Force inclusion of core/public for building types
* Fix api review filename in api-exporter errors
* Update docs and API review files
* Fix api-extractor warnings
* Remove ts file ignored list since it's no longer necessary
* Rename exported api package name
* Review comments
* Export other missing types
* Upgrade api-documenter to latest beta
* Export more missing types
* Fix warnings and add api-exporter to Jenkins tests
* Correctly handle runBuildTypes() exceptions
* Fix another swallowed exception
* Fix api-extractor warnings after master merge
We've seen a good number of geckodriver download failures recently, so we should treat it the same way as chromedriver and cache the download in the packer cache and reuse it when possible.
See https://github.com/vladikoff/node-geckodriver/pull/62
* chore(NA): first changes on every package.json order to support new babel 7. chore(NA): build for kbn-pm with babel 7.
* chore(NA): patch babel register to load typescrit
* chore(NA): first working version with babel 7 replacing typescript compiler.
* fix(NA): common preset declaration in order to make it work with babel-loader.
* chore(na): organizing babel preset env package json.
* chore(NA): mocha tests enabled.
* fix(NA): typo on importing
* test(NA): majority of x-pack tests ported to use babel-jest
* fix(NA): report info button test with babel-jest.
* fix(NA): polling service tests.
* test(na): fix server plugins plugin tests.
* test(NA): batch of test fixs for jest tests under babel-jest hoisting.
* chore(NA): add babel plugin to hoist mock prefixed vars on jest tests.
* chore(NA): update yarn.lock file.
* chore(NA): tests passing.
* chore(NA): remove wrong dep
* chore(NA): fix tsconfig
* chore(NA): skip babel for ts-jest.
* chore(NA): selectively apply the plugin to strip off namespace from ts files.
* chore(NA): remove not needed changes from ts tests
* chore(NA): removed ts-jest dependency. chore(NA): migrate ts tests on x-pack to use babel-jest with the new pattern.
* chore(NA): migrate kibana default distribution typescript tests to run with babel-jest and the new test mock pattern.
* chore(NA): merge and solve conflicts with master.
* chore(NA): fix problems reported by eslint
* chore(NA): fix license ovveride for babel-plugin-mock-imports
* chore(NA): update jest integration tests for kbn pm
* chore(NA): update babel jest integration tests for kbn pm.
* test(NA): update jest integration snapshot for kbn pm.
* chore(NA): apply changes according to the pull request reviews.
* chore(NA): apply changes according to the pull request reviews.
* refact(NA): migrate jest tests to the new pattern.
* fix(NA): babel 7 polyfill in the tests bundle.
* chore(NA): restore needed step in order to compile x-pack with typescript.
* chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7
* Revert "chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7"
This reverts commit 2707d538f5.
* fix(NA): import paths for tabConfigConst
* chore(NA): fix transpiling error on browser tests
* chore(NA): simplify kbn babel preset package.
* chore(NA): migrate build to use babel transpiler for typescript excluding xpack.
* fix(NA): introduced error on test quick task.
* fix(NA): fix preset for client side code on build.
* fix(NA): build with babel
* fix(NA): negated patterns in the end.
* fix(NA): kbn_tp_sample_panel_action creation.
* fix(NA): babel typescript transform plugin workaround when exporting interface name.
* refact(NA): remove not needed type cast to any on jest test.
* docs(NA): add developement documentation about jest mocks test pattern.
* chore(NA): missing unmerged path.
* chore(NA): fix jest tests for template.
* [CCR] Client integration tests (table lists) (#33525)
* Force user to re-authenticate if token refresh fails with `400` status code. (#33774)
* Improve performance of the Logstash Pipeline Viewer (#33793)
Resolves#27513.
_This PR is a combination of #31293 (the code changes) + #33570 (test updates). These two PRs were individually reviewed and merged into a feature branch. This combo PR here simply sets up the merge from the feature branch to `master`._
Summary of changes, taken from #31293:
## Before this PR
The Logstash Pipeline Viewer UI would make a single Kibana API call to fetch all the information necessary to render the Logstash pipeline. This included information necessary to render the detail drawer that opens up when a user clicks on an individual vertex in the pipeline.
Naturally, this single API call fetched _a lot_ of data, not just from the Kibana server but also, in turn, from Elasticsearch as well. The "pro" of this approach was that the user would see instantaneous results if they clicked on a vertex in a pipeline and opened the detail drawer for that vertex. The "cons" were the amount of computation Elasticsearch had to perform and the amount of data being transferred over the wire between Elasticsearch and the Kibana server as well as between the Kibana server and the browser.
## With this PR
This PR makes the Kibana API call to fetch data necessary for **initially** rendering the pipeline — that is, with the detail drawer closed — much lighter. When the user clicks on a vertex in a pipeline, a second API call is then made to fetch data necessary for the detail drawer.
## Gains, by the numbers
Based on a simple, 1-input, 1-filter, and 1-output pipeline.
* Before this PR, the Elasticsearch `logstash_stats` API responses (multiple calls were made using the `composite` aggregation over the `date_histogram` aggregation) generated a total of 1228 aggregation buckets (before any `filter_path`s were applied but across all `composite` "pages"). With this PR, the single `logstash_stats` API response (note that this is just for the initial rendering of the pipeline, with the detail drawer closed) generated 12 buckets (also before any `filter_path`s were applied). That's a **99.02% reduction** in number of buckets.
* Before this PR, the Elasticsearch `logstash_stats` API responses added up to 70319 bytes. With this PR, the single `logstash_stats` API response for the same pipeline is 746 bytes. That's a **98.93% reduction** in size.
* Before this PR, the Elasticsearch `logstash_state` API response was 7718 bytes. With this PR, the API response for the same pipeline is 2328 bytes. That's a **69.83% reduction** in size.
* Before this PR the Kibana API response was 51777 bytes. With this PR, the API response for the same pipeline is 2567 bytes (again, note that this is just for the initial rendering of the pipeline, with the detail drawer closed). That's a **95.04% reduction** in size.
* [Maps] split settings into layer and source panels (#33788)
* [Maps] split settings into layer and source panels
* fix SCSS import
* [env] exit if starting as root (#21563)
* [env] exit if starting as root
* fix windows
* s/--allow-root
* Typescript sample panel action (#33602)
* Typescript sample panel action
* Update EUI version to match main cabana version
* update yarn.lock
* add back typings include
* use correct relative path
* Home page "recent links" should communicate saved object type #21896 (#33694)
* adds object type for screen order
* adds object type for pointer hovering
* Update src/legacy/ui/public/chrome/directives/header_global_nav/components/header.tsx
Co-Authored-By: rockfield <philipp.b@ya.ru>
* Typescript sample panel action
* Update EUI version to match main cabana version
* update yarn.lock
* add back typings include
* use correct relative path