* Add temporary client-side license service/hook
* Initial pass at bulk actions UI (UI behavior only)
* Initial pass at implementing reassign agent policy by agent IDs
* Allow bulk reassign agent policy by kuery
* Return total inactive agents in list agents API to better handle bulk action selection UI that may or may not include active agents
* Add isGoldPlus method to license service
* Add `normalizeKuery` function
* Add `.findAllSOs` method and refactor bulk reassign to use that
* Initial pass at backend work for bulk unenroll
* Covert unenroll provider to unenroll modal and adjust UI to include force option
* Move license protection to handler level, fix misc bugs
* Add comments about `data` field response in create agent action(s)
* Clean up license service
* Fix i18n
* Add tests for bulk. unenroll
* Add tests for reassign and bulk reassign
* Fix typing
* Adjust single actions icon and text to be consistent
* Fix i18n
* PR feedback
* Increment api key test assertion to account for adding another agent policy to es archiver data
* Fix test
* Fix duplicate declaration after merging
* Add comments to SO find all function
* Batch invalidate API keys requests
* Update to latest rum-react
The latest version fixes a problem where you would get a bunch of warnings that you couldn't turn off if you used `render` instead of component with a route. This was causing us to use `component` in some places where `render` should be used.
The latest version fixes this problem so we change back to `render`
where appropriate.
Also make our `ApmRoute` a `Route` instead of `any`.
* accessibility tests for dashboard panel
* added back the skipped test as it is still required to pass through th ea11ySnapshot
* wip dashboard panel tests
* wip- accessibility
* wip -accessibility
* wip accessibility
* accessibility tests for dashboard edit panel
* accessibility tests
* removed the unused variables
* dashboard_edit_panel tests
* added a comment
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Convert new trusted app data to expected format for artifact
* Renamed condition field `process.path` to `process.path.text`
* determine hash type based on length of hash value
* Convert `process.hash.[sha1|md5|sha256]` to `process.hash.*` for return on list api
* Add test for conversion of ExceptionItem to TrustedApp Item
* [Reporting] Simplify Export Type Definitions, use defaults for generics, refactor
* ReportApiJSON interface for common
* rename JobSummary to JobStatusBucket for clarity
* revert unneeded create mock changes
* clean up the diff
* revert changes to worker.js
* rewrite comment
* rename type to jobtype in JobStatusBucket
* allow type inference
* JobSummarySet
* remove odd comment
* Reflect that browser timezone may be undefined in the BaseParams
* comment about optional browserTimezone
* revert unecessary es archive change
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Remove HttpProvider in favor of mounting HttpLogic directly w/ props
- removes need for initializeHttp call
- ensures http value is loaded into HttpLogic as soon as possible / should never load in as null, reducing # of rerenders/checks
see: https://kea.js.org/docs/guide/advanced#mounting-and-unmounting
* Update simplest components using http for sendTelemetry
* Update simplest tests for components using HttpLogic + default Kea mocks
- Kea mock import should now contain mock default values which can be overridden
* Update moderately complex tests using HttpLogic
send_telemetry:
- refactor to use shallow (w/ useEffect mocked) vs mount
- check mockHttpValues directly
engine_table:
- refactor to use mount w/ an I18nProvider rather than mountWithContext helper (which we'll likely need to overhaul in the future)
- assert mockHttpValues directly
* Update EngineOverview to HttpLogic + refactors
EngineOverview:
- Change use of FormattedMessage to i18n.translate (simpler, no provider required)
Tests:
- Create mock values/actions for FlashMessages, since EngineOverview calls it
- Create combined mockAllValues obj for easier overriding
- Create setMockValues helper for easier test overriding (credit to @scottybollinger for the idea!)
- Update engine_overview tests to setMockValues instead of passing context to mountWithAsyncContext
- Fix mountWithAsyncContext to accept an undefined obj
* Remove http from KibanaContext
- it should now only live in HttpLogic 🔥
* Remove FlashMessagesProvider in favor of mounting logic directly w/ props
- send history as prop
- refactor out now-unnecessary listenToHistory (we can just do it directly in afterMount without worrying about duplicate react rerenders)
- add mount helper
Tests:
- refactor history.listen mock to mockHistory (so that set_message_helpers can use it as well)
- use mountFlashMessagesLogic + create an even shorter mount() helper (credit to @JasonStoltz for the idea!)
- refactor out DEFAULT_VALUES since we're not really using it anywhere else in the file, and it's not super applicable to this store
- update history listener tests to account for logic occurring immediately on mount
This fixes#76493 by querying for the "unknown" (i.e. empty) dataset using an exists clause. This should be in line with how ML anomaly detection treats missing partition values.
* Adding bulk upgrade api
* Addressing comments
* Removing todo
* Changing body field
* Adding helper for getting the bulk install route
* Adding request spec
* Pulling in Johns changes
* Removing test for same package upgraded multiple times
* Pulling in John's error handling changes
* Fixing type error
* Display error connecting prompt on Overview page instead of blank page
* Fix App Search and Workplace Search to not crash during error connecting
- due to obj type errors
This PR optimizes the calculation of instances which should be executed, by optimizing the way the muted instances are removed from the collection of triggered instances.
Adds a tab in the _Edit Alert_ flyout which allows the user to _test_ their connector by executing it using an example action. The execution relies on the connector being updated, so is only enabled when there are no saved changes in the Connector form itself.
* Fields dropdowns are not populated if one of the indices is missing
* Fix tests and accept api changes
* Add indexPatternsService to get default index pattern
* Replace simple error message string with i18n translation
* Remove unnecessary displaying error code
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Create reusable renderHeaderActions
- I put it in the same file as renderApp, since both functions behave similarly (one renders in the main Kibana app/body, the other renders in Kibana's header)
- slightly opinionated: renamed renderActionMenu to renderHeaderActions from Kibana's examples
* Add example renderHeaderActions usage
* Add example WorkplaceSearchHeaderActions component
- not sure if this should be where it lives or is exported from, feel free to change @scottybollinger
* Update WorkplaceSearchHeaderActions with realistic functionality
- pass required externalUrl helper as arg/prop
- TODO: Consider refactoring KibanaContext to a Kea store so that we can share it across our renderApp and renderHeaderActions
* Fix type errors
* accessibility tests for dashboard panel
* added back the skipped test as it is still required to pass through th ea11ySnapshot
* wip dashboard panel tests
* wip- accessibility
* wip -accessibility
* wip accessibility
* accessibility tests for dashboard edit panel
* accessibility tests
* removed the unused variables
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Closes#48538 by removing the average duration by country custom geo map.
* adds link to client side monitoring below the rum charts
* removes unused translations
* Removes RUM-specific chart for Avg Duration By Browser
* Replace link under charts with CallOut above charts with link to Client Side Monitoring
* removes api integration tests for avg_duration_by_browser and usused i18n translations
* updates to copy in the CSM callout
* Closes#76372 by removing the `zoom` query param from the ml time series explorer link
* updated test snapshot for updated ML link href
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* res.customError -> defaultIngestErrorHandler
* Missed a variable rename in prior commit
* copying an invalid policy will 404; not 500
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>