We have been deeply cloning the `searchSource.rawResponse` in the courier request handler, in an effort to prevent downstream applications from mutating the response and causing unintended side effects (for example, response data in the inspector will change if rawResponse is mutated).
While this was a sensible preventative measure, it unfortunately created some severe performance problems, particularly when dealing with deeply nested aggregations with a large amount of buckets.
This does the following:
* Stop deeply cloning response data in courier, which earns us some significant performance gains.
* Remove the following cache keys from index patterns which were mutating `searchSource`: $$_flattened, $$_formatted, $$_partialFormatted. They have been replaced with a WeakMap cache that doesn't rely on mutating the source data.
* Add link to Maps docs in Kibana getting started with sample data
* Update docs/getting-started/add-sample-data.asciidoc
Co-Authored-By: nreese <reese.nathan@gmail.com>
* [Maps] getting started documentation
* [DOCS] Edits for Maps Getting Started
* [DOCS] Incorporates review comments
* [DOCS] Rewrite section on sample data
* [DOCS] Adds link to add sample data page
* [Input controls vis] replace react-input-range with EuiDualRange
* remove unneeded styles
* correctly format I18n with variables
* fix problems with long decimals
* fix one test case
* clean-up error message text, remove extra commas in jest test
* fix bug where values were returned as strings
* use i18n.translate instead of passing formatMessage into isRangeValid
* assert error message in isRangeValid unit test
* changes from node scripts/i18n_check --fix
* remove localization from RangeControl component since it no longer has any text, update snapshots
* another snapshot update
* ensure min and max are not null
* check for value before checking if min/max is null
* [Reporting/fix] include the error object in the messages about can't decrypt the job data
+ Prettier fixes
* fix translation string values
* fix i18n
* fix translation files
* Makes sure fromQuery helper properly handles undefined values, adds test
* Adds APM default fallback values to every Kibana link, if no time picker values are currently set
* Changes date picker url updates to push instead of replace in stack
* Fixes bug with chart selection, dragging on charts now updates the URL which triggers all of the date picker updates
* Reverts query param encoding hacks due to fixes in #32732
* Removes unnecessary moment dep in SyncChartGroup
* Updates tests for url changes
* add functional test to prove regression
* [chrome] strip # from hash before updating $location
* add opt-out level for disabling auto fix, disable in APM
## Summary
(closes#32788)
This PR fixes an issue where the Element Stats panel is not in sync with the workpad. This is due to `resolved_args` in transient state not reflecting the actual elements on the workpad. This PR introduces middleware to Redux to ensure `resolved_args` is synced with the `elements` whenever a deletion is detected.
This middleware may be expanded in the future to keep these two collections in sync.
Based on #32705
We currently have TypeScript code that was backported to 7.0, which was backported without issue because it falls outside of any TypeScript projects in 7.0. This means that the pre-commit hooks break on changes to these files, and that they are not getting type checked by the type_check script. To fix this we need to verify that every typescript file in the repository is covered by a tsconfig.json file as part of CI.
* [ci] derive bootstrap cache path from base branch, make optional
* describe the path we're looking for in warning
* use PR_TARGET_BRANCH, not PR_SOURCE_BRANCH
* Initial work
* Add overwrite and skip support
* Cleanup and add tests
* Move code into separate files
* Remove reduce
* New API parameters
* Add support to replace references
* Add better error handling
* Add spaces tests
* Fix return type in collectSavedObjects
* Apply PR feedback
* Update jest tests due to jest version upgrade
* Add docs
* WIP
* Split import routes pt1
* Add tests
* Fix broken tests
* Update docs and fix broken test
* Add successCount to _import endpoint
* Make skip by default in resolution API
* Update tests for removal of skips
* Add back support for skips
* Add success count
* Add back resolve import conflicts x-pack tests
* Remove writev from filter stream
* Delete _mock_server.d.ts file
* Rename lib/import_saved_objects to lib/import
* Filter records at stream level for conflict resolution
* Update docs
* Add tests to validate documentation
* Return 200 instead of other code for errors, include errors array
* Change [] to {}
* Apply PR feedback
* Fix import object limit to not return 500
* Change some wording in the docs
* Fix status code
* Apply PR feedback pt2
* Lower maxImportPayloadBytes to 10MB
* Add unknown type tests for import
* Add unknown type tests for resolve_import_conflicts
* Fix tslint issues