* [Maps] use EuiColorPalettePicker and Eui palettes
* use new ramps to create mb style
* update ColorMapSelect to use EuiColorPalettePicker
* move color_utils test to color_palettes
* clean up heatmap constants
* tslint
* fix test expects
* fix merge mistake
* update jest expects
* remove .chromium folder
* another jest expect update
* remove charts from kibana.json
* remove unneeded jest.mock
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Test user artifacts for all OSes. Test unicode.
* Test hashes and sizes pre- and post- decoding
* Clean up types in ingestManager common mocks
* Fix type in package config mock
* Add test for conflict on dispatch
* Test package config conflict resolution
* style: sort plugin interface
* WIP: UsageCollector for Security Adoption
This uses ML and raw ES calls to query our ML Jobs and Rules, and parse
them into a format to be consumed by telemetry.
Still to come:
* initialization
* tests
* Initialize usage collectors during plugin setup
* Rename usage key
The service seems to convert colons to underscores, so let's just use an
underscure.
* Collector is ready if we have a kibana index
* Refactor collector to generate options in a function
This allows us to test our adherence to the collector API, focusing
particularly on the fetch function.
* Refactor usage collector in anticipation of endpoint data
We're going to have our usage data under one key corresponding to the
app, so this nests the existing data under a 'detections' key while
allowing another fetching function to be plugged into the
main collector under a separate key.
* Update our collector to satisfy telemetry tooling
* inlines collector options
* inlines schema object
* makes DetectionsUsage an interface instead of a type alias
* Extracts telemetry mappings via scripts/telemetry_extract
* Refactor detections usage logic to perform one loop instead of two
We were previously performing two loops over each set of data: one to
format it down to just the data we need, and another to convert that
into usage data. We now perform both steps within a single loop.
* Refactor detections telemetry to be nested
* Extract new nested detections telemetry mappings
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Add Workplace Search plugin to app
- Adds telemetry for Workplace Search
- Adds routing for telemetry and overview
- Registers plugin
* Add breadcrumbs for Workplace Search
* Add Workplace Search index
* Add route paths, types and shared assets
* Add shared Workplace Search components
* Add setup guide to Workplace Search
* Add error state to Workplace Search
* Add Workplace Search overview
This is the functional MVP for Workplace Search
* Update telemetry per recent changes
- Remove saved objects indexing
- add schema definition
- remove no_ws_account
- minor cleanup
* Fix pluralization syntax
- Still not working but fixed the syntax nonetheless
* Change pluralization method
- Was unable to get the `FormattedMessage` to work using the syntax in the docs. Always added ‘more’, even when there were zero (or one for users). This commit uses an alternative approach that works
* Update readme
* Fix duplicate i18n label
* Fix failing test from previous commit
🤦
* Update link for image in Setup Guide
* Remove need for hash in routes
Because of a change in the Workplace Search rails code, we can now use non-hash routes that will be redirected by rails so that we don’t have users stuck on the overview page in Workplace Search when logging in
* Directly link to source details from activity feed
Previously the dashboard in legacy Workplace Search linked to the sources page and this was replicated in the Kibana MVP. This PR aligns with the legacy dashboard directly linking to the source details
https://github.com/elastic/ent-search/pull/1688
* Add warn logging to Workplace Search telemetry collector
* Change casing to camel to match App Search
* Misc security feedback for Workplace Search
* Update licence mocks to match App Search
* PR feedback from App Search PR
* REmove duplicate code from merge conflict
* Fix tests
* Move varible declaration inside map for TypeScript
There was no other way 🤦
* Refactor last commit
* Add punctuation
Smallest commit ever.
* Fix actionPath type errors
* Update rebase feedback
* Fix failing test
* Update telemetry test after AS PR feedback
* DRY out error state prompt copy
* DRY out telemetry endpoint into a single route + DRY out
DRY out endpoint
- Instead of /api/app_search/telemetry & /api/workplace_search/telemetry, just have a single /api/enterprise_search/telemetry endpoint that takes a product param
- Update public/send_telemetry accordingly (+ write tests for SendWorkplaceSearchTelemetry)
DRY out helpers
- Pull out certain reusable helper functions into a shared lib/ folder and have them take the repo id/name as a param
- Move tests over
- Remove misplaced comment block
+BONUS
- pull out content type header that's been giving us grief in Chrome into a constant
* Remove unused telemetry type
* Minor server cleanup - DRY out mockLogger
* Setup Guide cleanup
* Clean up Loading component
- use EUI vars per feedback
- remove unnecessary wrapper
- adjust vh for Kibana layout
- Actually apply loadingSpinner styles
* Misc i18n fixes
+ minor newline reduction, because prettier lets me
* Refactor Recent Activity component/styles
- Remove table markup/styles - not semantically correct or accessible in this case - replace w flex
- Fix link colors not inheriting
- Add EuiPanel, error colors looked odd against page background
- Fix prop/type definition
- CSS cleanup - EUI vars, correct BEM, don't target generic selectors
* [Opinionated] Refactor RecentActivity component
- Pull out iterated activity items into a child subcomponent
- Move constants/strings closer to where they're being used, instead of having to jump around the file
- Move IActivityFeed definition to this file, since that's primarily where it's used
@scottybollinger - if you're not a fan of this commit no worries, just let me know and we can discuss/roll back as needed
* Refactor ViewContentHeader
- remove unused CSS
- fallback cleanup
- refactor tests
* Refactor ContentSection
- Remove unused CSS classes
- Refactor tests to include all props/more specific assertions
* Refactor StatisticCard
- Prefer using EuiTextColor to spans / custom classes
- Prefer using EuiCard's native `href` behavior over using our own wrapping link/--isClickablec class
- Note that when we port the link/destination over to React Router, we should instead opt to use React Router history, which will involve creating a EuiCard helper
- Make test a bit more specific
* Minor OrganizationStats cleanup
- Use EuiFlexGrid
* Refactor OnboardingSteps
- i18n
- Compact i18n newlines (nit)
- Convert FormattedMessage to i18n.translate for easier test assertions
- Org Name CTA
- Move to separate child subcomponent to make it easier to quickly skim the parent container
- Remove unused CSS class
- Fix/add responsive behavior
- Tests refactor
- Use describe() blocks to break up tests by card/section
- Make sure each card has tests for each state - zero, some/complete, and disabled/no access
- Assert by plain text now that we're using i18n.translate()
- Remove ContentSection/EuiPanel assertions - they're not terribly useful, and we have more specific elements to check
- Add accounts={0} test to satisfy yellow branch line
* Clean up OnboardingCard
- Remove unused CSS class
- Remove unnecessary template literal
Tests
- Swap out check for EuiFlexItem - it's not really the content we're concerned about displaying, EuiEmptyPrompt is the primary component
- Remove need for mount() by dive()ing into EuiEmptyPrompt (this also removes the need to specify a[data-test-subj] instead of just [data-test-subj])
- Simplify empty button test - previous test has already checked for href/telemetry
- Cover uncovered actionPath branch line
* Minor Overview cleanup
- Remove unused telemetry type
- Remove unused CSS class
- finally
- Remove unused license context from tests
* Feedback: UI fixes
- Fix setup guide CSS class casing
- Remove border transparent (UX > UI)
* Fix Workplace Search not being hidden on feature control
- Whoops, totally missed this 🤦
* Add very basic functional Workplace Search test
- Has to be without_host_configured, since with host requires Enterprise Search
- Just checks for basic Setup Guide redirect for now
- TODO: Add more in-depth feature/privilege functional tests for both plugins at later date
* Pay down test render/loading tech debt
- Turns out you don't need render(), shallow() skips useEffect already 🤦
- Fix outdated comment import example
* DRY out repeated mountWithApiMock into mountWithAsyncContext
+ Minor engines_overview test refactors:
- Prefer to define `const wrapper` at the start of each test rather than a `let wrapper` - this better for sandboxing / not leaking state between tests
- Move Platinum license tests above pagination, so the contrast between the two tests are easier to grok
* Design feedback
- README copy tweak + linting
- Remove unused euiCard classes from onboarding card
Co-authored-by: Constance Chen <constance.chen.3@gmail.com>
* Added updated Policy Response action names to translation file
* `formatResponse` to generate a user friendly value for action name if no i18n
* test case to cover formatting unknown actions
* [TSVB] Add support for histogram type
* Merge branch 'master' of github.com:elastic/kibana into issue-52426-tsvb-support-for-histograms
* Adding support to filter ratio; updating test
* Limist aggs for filter_ratio and histogram fields; add test for AggSelect; Fixes#70984
* Ensure only compatible fields are displayed for filter ratio metric aggs
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* improve test stability
* Filter date range improvements
* Make onBlur optional
* i18n
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Move kibana-keystore from data/ to config/
This is a breaking change to move the location of kibana-keystore.
Keystores in other stack products live in the config directory, so this
updates our current path to be consistent.
Closes#25746
* add breaking changes
* update comment
* wip
* fix docs
* read from both keystore locations, write priority to non-deprecated
* note data directory fallback
* add tests for get_keystore
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* chore(NA): load NODE_OPTIONS from options files across environments
* chore(NA): move node.ci.options to config folder
* docs(NA): update docs to explain how to set node options from the cfg fil
* chore(NA): removed test npm scripts
* fix(NA): typo on setup script for CI
* chore(NA): add debug info
* chore(NA): export options on CI
* chore(NA): remove debug info
* chore(NA): support for configurable config folder using env var
* chore(NA): add node.options file into docker img
* fix(NA): use calculated config dir on node options for ci
* chore(NA): node bin scripts bootstrap and node_with_options implementation for bash
* chore(NA): complete node_with_options scripts with bat version
* chore(NA): add bin/node dev script and remove cli for run_with_node_options
* chore(NA): increase default maxBuffer
* chore(NA): remove run with options script from package.json
* chore(NA): include kbn-node script and underlying usage of it
* chore(NA): remove change on eslint
* chore(NA): correct typo on kbn node script comment
Co-authored-by: Tyler Smalley <tylersmalley@me.com>
* chore(NA): correct typo on kbn node script comment
Co-authored-by: Tyler Smalley <tylersmalley@me.com>
* chore(NA): add line to describe each option should be specified in a separated line
* chore(NA): remove node options from dev and ci env
* chore(NA): remove changes from package.json
* chore(NA): fix docker image build
* chore(NA): change value for example of --max-old-space-size in the node.options file
Co-authored-by: Tyler Smalley <tylersmalley@me.com>
* chore(NA): remove --no-warnings from node.options and force it in the bin scripts
* chore(NA): prevent 'The system cannot find the file' error message
* chore(NA): introduce slash when building path for %DIR%
* chore(NA): read options from file only if it exists
Co-authored-by: Jonathan Budzenski <jbudz@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Tyler Smalley <tylersmalley@me.com>
* Match add integration page with designs
* Clean up package config layout code
* Match edit integration config page with designs
* Fix typing and i18n issues
* Add back data test subj
* Add loading UI for second step; code clean up
* Fix limited packages incorrect response
* Add ability to create agent config when selecting config to add integration to
* Add error count to input-level panel; memoize children components
* Add error count next to all advanced options toggles
* Move general form error to bottom bar
* #69750 Auto-expand inputs with required & empty (invalid) vars
* #68019 Enforce unique package config names, per agent config
* Fix typing
* Fix i18n
* Fix reloading when new agent config _wasn't_ created
* Memoize edit integration and fix fields not collapsing on edit
* Really fix types
* Closes#70440 by adding a setup link to anomaly detection setting in the home header
* PR feedback and type error fix
* Code cleanup and PR feedback
* Modified getEnvironmentUiFilterES return type from `ESFilter | undefined` to `ESFilter[]` for ease of use.
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Reintroduces the previous anomaly detection ML integration back into the
transaction duration chart in the service details screen. Support the
latest APM anoamly detection by environment jobs.
* PR feedback
* Code improvements from PR feedback
* handle errors thrown when fetching ml job for current environment
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* fixes alphabetical order for index patterns
* fixes cypress tests adding the new index pattern
* fixes jest tests
* fixes jest tests
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Add test for logs and metrics telemetry
* wait before you go
* Remove kubenetes
* Fix type check
* Add back kubernetes test
* Remove kubernetes
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* SQUASH
* WIP 2
* add block formatting on time to related list as well
* M. Sherrier review: untranslate timestamp / remove top border on panel
* redo dep
* CI: replace missing import with type
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Improves position resolution logic by also tracking last clicked element.
* Adds ownFocus prop, so can pick menu item with keyboard.
* Also track if target element was removed from DOM. In that case tries to use previous element. won't work all the time, but works nicely in case context menu trigger by item in other context menu.
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>