Skip to content

[Security Solution][Endpoint] Fix base64 download bug and adopt new user artifact/manifest format#70998

Merged
madirey merged 12 commits intoelastic:masterfrom
madirey:fix-download
Jul 8, 2020
Merged

[Security Solution][Endpoint] Fix base64 download bug and adopt new user artifact/manifest format#70998
madirey merged 12 commits intoelastic:masterfrom
madirey:fix-download

Conversation

@madirey
Copy link
Copy Markdown
Contributor

@madirey madirey commented Jul 7, 2020

Summary

  • Fixes base64 download bug
  • Adds tests to ensure cached version of artifact is correct
  • Adopts new format for user artifact and manifest
  • Adds appropriate wrapper around list items

Checklist

For maintainers

@madirey madirey added v8.0.0 Team:Endpoint Response Endpoint Response Team Feature:Endpoint Elastic Endpoint feature v7.9.0 labels Jul 7, 2020
@madirey madirey requested review from a team as code owners July 7, 2020 18:20
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/endpoint-response (Team:Endpoint Response)

@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/endpoint-app-team (Feature:Endpoint)

@madirey madirey changed the title [Security Solution][Endpoint] Fix base64 download bug [Security Solution][Endpoint] Fix base64 download bug and adopt new user artifact/manifest format Jul 7, 2020

// Cache the body of the artifact
this.cache.set(diff.id, artifact.body);
this.cache.set(diff.id, Buffer.from(artifact.body, 'base64').toString());
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's the actual bug fix.

@madirey madirey added the release_note:skip Skip the PR/issue when compiling release notes label Jul 7, 2020
@madirey
Copy link
Copy Markdown
Contributor Author

madirey commented Jul 7, 2020

@elasticmachine merge upstream

@kibanamachine
Copy link
Copy Markdown
Contributor

💛 Build succeeded, but was flaky


Test Failures

Chrome X-Pack UI Functional Tests.x-pack/test/functional/apps/dashboard/_async_dashboard·ts.dashboard sample data dashboard "before all" hook for "should launch sample flights data set dashboard"

Link to Jenkins

Standard Out

[00:00:00]       │
[00:00:00]         └-: dashboard
[00:00:00]           └-> "before all" hook
[00:08:31]           └-: sample data dashboard
[00:08:31]             └-> "before all" hook
[00:08:31]             └-> "before all" hook
[00:08:32]               │ debg ... sleep(5000) start
[00:08:37]               │ debg ... sleep(5000) end
[00:08:37]               │ debg navigateToActualUrl http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:37]               │ debg browser[INFO] http://localhost:6141/app/home?_t=1594167982382#/tutorial_directory/sampleData 341 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:08:37]               │
[00:08:37]               │ debg browser[INFO] http://localhost:6141/bundles/app/core/bootstrap.js 42:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:08:37]               │ debg currentUrl = http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:37]               │          appUrl = http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:37]               │ debg TestSubjects.find(kibanaChrome)
[00:08:37]               │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:08:38]               │ debg isGlobalLoadingIndicatorVisible
[00:08:38]               │ debg TestSubjects.exists(globalLoadingIndicator)
[00:08:38]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:08:38]               │ debg browser[INFO] http://localhost:6141/34426/bundles/kbn-ui-shared-deps/kbn-ui-shared-deps.js 452:106112 "INFO: 2020-07-08T00:26:23Z
[00:08:38]               │        Adding connection to http://localhost:6141/elasticsearch
[00:08:38]               │
[00:08:38]               │      "
[00:08:39]               │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:08:39]               │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:08:39]               │ debg TestSubjects.exists(addSampleDataSetflights)
[00:08:39]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=2500
[00:08:39]               │ debg TestSubjects.click(addSampleDataSetflights)
[00:08:39]               │ debg Find.clickByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=10000
[00:08:39]               │ debg Find.findByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=10000
[00:08:39]               │ debg TestSubjects.find(sampleDataSetCardflights)
[00:08:39]               │ debg Find.findByCssSelector('[data-test-subj="sampleDataSetCardflights"]') with timeout=10000
[00:08:40]               │ debg TestSubjects.exists(addSampleDataSetflights)
[00:08:40]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=2500
[00:08:40]               │ info Taking screenshot "/dev/shm/workspace/parallel/4/kibana/x-pack/test/functional/screenshots/failure/dashboard sample data dashboard _before all_ hook.png"
[00:08:40]               │ info Current URL is: http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:41]               │ info Saving page source to: /dev/shm/workspace/parallel/4/kibana/x-pack/test/functional/failure_debug/html/dashboard sample data dashboard _before all_ hook.html
[00:08:41]               └- ✖ fail: "dashboard sample data dashboard "before all" hook for "should launch sample flights data set dashboard""
[00:08:41]               │

Stack Trace

Error: expected false to equal true
    at Assertion.assert (/dev/shm/workspace/parallel/4/kibana/packages/kbn-expect/expect.js:100:11)
    at Assertion.be.Assertion.equal (/dev/shm/workspace/parallel/4/kibana/packages/kbn-expect/expect.js:227:8)
    at Assertion.be (/dev/shm/workspace/parallel/4/kibana/packages/kbn-expect/expect.js:69:22)
    at Context.before (test/functional/apps/dashboard/_async_dashboard.ts:39:30)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Chrome X-Pack UI Functional Tests.x-pack/test/functional/apps/dashboard/_async_dashboard·ts.dashboard sample data dashboard "after all" hook for "toggle from Discover to Dashboard attempt 2"

Link to Jenkins

Standard Out

[00:00:00]       │
[00:00:00]         └-: dashboard
[00:00:00]           └-> "before all" hook
[00:08:31]           └-: sample data dashboard
[00:08:31]             └-> "before all" hook
[00:08:31]             └-> "before all" hook
[00:08:32]               │ debg ... sleep(5000) start
[00:08:37]               │ debg ... sleep(5000) end
[00:08:37]               │ debg navigateToActualUrl http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:37]               │ debg browser[INFO] http://localhost:6141/app/home?_t=1594167982382#/tutorial_directory/sampleData 341 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:08:37]               │
[00:08:37]               │ debg browser[INFO] http://localhost:6141/bundles/app/core/bootstrap.js 42:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:08:37]               │ debg currentUrl = http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:37]               │          appUrl = http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:37]               │ debg TestSubjects.find(kibanaChrome)
[00:08:37]               │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:08:38]               │ debg isGlobalLoadingIndicatorVisible
[00:08:38]               │ debg TestSubjects.exists(globalLoadingIndicator)
[00:08:38]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:08:38]               │ debg browser[INFO] http://localhost:6141/34426/bundles/kbn-ui-shared-deps/kbn-ui-shared-deps.js 452:106112 "INFO: 2020-07-08T00:26:23Z
[00:08:38]               │        Adding connection to http://localhost:6141/elasticsearch
[00:08:38]               │
[00:08:38]               │      "
[00:08:39]               │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:08:39]               │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:08:39]               │ debg TestSubjects.exists(addSampleDataSetflights)
[00:08:39]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=2500
[00:08:39]               │ debg TestSubjects.click(addSampleDataSetflights)
[00:08:39]               │ debg Find.clickByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=10000
[00:08:39]               │ debg Find.findByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=10000
[00:08:39]               │ debg TestSubjects.find(sampleDataSetCardflights)
[00:08:39]               │ debg Find.findByCssSelector('[data-test-subj="sampleDataSetCardflights"]') with timeout=10000
[00:08:40]               │ debg TestSubjects.exists(addSampleDataSetflights)
[00:08:40]               │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="addSampleDataSetflights"]') with timeout=2500
[00:08:40]               │ info Taking screenshot "/dev/shm/workspace/parallel/4/kibana/x-pack/test/functional/screenshots/failure/dashboard sample data dashboard _before all_ hook.png"
[00:08:40]               │ info Current URL is: http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:41]               │ info Saving page source to: /dev/shm/workspace/parallel/4/kibana/x-pack/test/functional/failure_debug/html/dashboard sample data dashboard _before all_ hook.html
[00:08:41]               └- ✖ fail: "dashboard sample data dashboard "before all" hook for "should launch sample flights data set dashboard""
[00:08:41]               │
[00:08:41]               └-> "after all" hook
[00:08:41]                 │ debg navigateToActualUrl http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:41]                 │ debg browser[INFO] http://localhost:6141/app/home?_t=1594167986434#/tutorial_directory/sampleData 341 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:08:41]                 │
[00:08:41]                 │ debg browser[INFO] http://localhost:6141/bundles/app/core/bootstrap.js 42:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:08:41]                 │ debg currentUrl = http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:41]                 │          appUrl = http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:08:41]                 │ debg TestSubjects.find(kibanaChrome)
[00:08:41]                 │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:08:42]                 │ debg isGlobalLoadingIndicatorVisible
[00:08:42]                 │ debg TestSubjects.exists(globalLoadingIndicator)
[00:08:42]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:08:42]                 │ debg browser[INFO] http://localhost:6141/34426/bundles/kbn-ui-shared-deps/kbn-ui-shared-deps.js 452:106112 "INFO: 2020-07-08T00:26:27Z
[00:08:42]                 │        Adding connection to http://localhost:6141/elasticsearch
[00:08:42]                 │
[00:08:42]                 │      "
[00:08:42]                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:08:42]                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:08:43]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:08:43]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:08:53]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:08:53]                 │      Wait timed out after 10007ms
[00:08:53]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:08:53]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [.kibana-event-log-8.0.0-000001] from [{"phase":"hot","action":"unfollow","name":"wait-for-follow-shard-tasks"}] to [{"phase":"hot","action":"unfollow","name":"pause-follower-index"}] in policy [kibana-event-log-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [ilm-history-2-000001] from [{"phase":"hot","action":"unfollow","name":"wait-for-follow-shard-tasks"}] to [{"phase":"hot","action":"unfollow","name":"pause-follower-index"}] in policy [ilm-history-ilm-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [.kibana-event-log-8.0.0-000001] from [{"phase":"hot","action":"unfollow","name":"pause-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"close-follower-index"}] in policy [kibana-event-log-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [ilm-history-2-000001] from [{"phase":"hot","action":"unfollow","name":"pause-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"close-follower-index"}] in policy [ilm-history-ilm-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [.kibana-event-log-8.0.0-000001] from [{"phase":"hot","action":"unfollow","name":"close-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"unfollow-follower-index"}] in policy [kibana-event-log-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [ilm-history-2-000001] from [{"phase":"hot","action":"unfollow","name":"close-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"unfollow-follower-index"}] in policy [ilm-history-ilm-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [.kibana-event-log-8.0.0-000001] from [{"phase":"hot","action":"unfollow","name":"unfollow-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"open-follower-index"}] in policy [kibana-event-log-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [ilm-history-2-000001] from [{"phase":"hot","action":"unfollow","name":"unfollow-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"open-follower-index"}] in policy [ilm-history-ilm-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [.kibana-event-log-8.0.0-000001] from [{"phase":"hot","action":"unfollow","name":"open-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"wait-for-yellow-step"}] in policy [kibana-event-log-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [ilm-history-2-000001] from [{"phase":"hot","action":"unfollow","name":"open-follower-index"}] to [{"phase":"hot","action":"unfollow","name":"wait-for-yellow-step"}] in policy [ilm-history-ilm-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [.kibana-event-log-8.0.0-000001] from [{"phase":"hot","action":"unfollow","name":"wait-for-yellow-step"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [kibana-event-log-policy]
[00:09:02]                 │ info [o.e.x.i.IndexLifecycleTransition] [kibana-ci-immutable-centos-tests-xxl-1594165345705866879] moving index [ilm-history-2-000001] from [{"phase":"hot","action":"unfollow","name":"wait-for-yellow-step"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [ilm-history-ilm-policy]
[00:09:03]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:09:03]                 │      Wait timed out after 10054ms
[00:09:04]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:09:04]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:09:14]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:09:14]                 │      Wait timed out after 10052ms
[00:09:14]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:09:14]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:09:24]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:09:24]                 │      Wait timed out after 10050ms
[00:09:25]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:09:25]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:09:35]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:09:35]                 │      Wait timed out after 10055ms
[00:09:36]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:09:36]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:09:46]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:09:46]                 │      Wait timed out after 10054ms
[00:09:46]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:09:46]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:09:56]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:09:56]                 │      Wait timed out after 10033ms
[00:09:57]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:09:57]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:10:07]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:10:07]                 │      Wait timed out after 10025ms
[00:10:07]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:10:07]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:10:17]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:10:17]                 │      Wait timed out after 10015ms
[00:10:18]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:10:18]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:10:28]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:10:28]                 │      Wait timed out after 10021ms
[00:10:28]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:10:28]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:10:38]                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
[00:10:38]                 │      Wait timed out after 10035ms
[00:10:39]                 │ debg TestSubjects.find(removeSampleDataSetflights)
[00:10:39]                 │ debg Find.findByCssSelector('[data-test-subj="removeSampleDataSetflights"]') with timeout=10000
[00:10:49]                 │ debg --- retry.tryForTime failed again with the same message...
[00:10:49]                 │ info Taking screenshot "/dev/shm/workspace/parallel/4/kibana/x-pack/test/functional/screenshots/failure/dashboard sample data dashboard _after all_ hook.png"
[00:10:50]                 │ info Current URL is: http://localhost:6141/app/home#/tutorial_directory/sampleData
[00:10:50]                 │ info Saving page source to: /dev/shm/workspace/parallel/4/kibana/x-pack/test/functional/failure_debug/html/dashboard sample data dashboard _after all_ hook.html
[00:10:50]                 └- ✖ fail: "dashboard sample data dashboard "after all" hook for "toggle from Discover to Dashboard attempt 2""
[00:10:50]                 │

Stack Trace

Error: retry.tryForTime timeout: TimeoutError: Waiting for element to be located By(css selector, [data-test-subj="removeSampleDataSetflights"])
Wait timed out after 10035ms
    at /dev/shm/workspace/kibana/node_modules/selenium-webdriver/lib/webdriver.js:842:17
    at process._tickCallback (internal/process/next_tick.js:68:7)
    at onFailure (/dev/shm/workspace/parallel/4/kibana/test/common/services/retry/retry_for_success.ts:28:9)
    at retryForSuccess (/dev/shm/workspace/parallel/4/kibana/test/common/services/retry/retry_for_success.ts:68:13)

Build metrics

✅ unchanged

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@madirey madirey merged commit f5b77e1 into elastic:master Jul 8, 2020
gmmorris added a commit to gmmorris/kibana that referenced this pull request Jul 8, 2020
* master: (36 commits)
  fixed api url in example plugin (elastic#70934)
  [data.search.aggs]: Remove remaining client dependencies (elastic#70251)
  [Security Solution][Endpoint] Fix base64 download bug and adopt new user artifact/manifest format (elastic#70998)
  [Security Solution][Exceptions] - Exception Modal Part I (elastic#70639)
  [SIEM][Detection Engine][Lists] Adds additional data types to value based lists
  [SIEM][Detection Engine][Lists] Removes feature flag for lists
  [APM] Show license callout in ML settings (elastic#70959)
  Migrate service settings test to jest (elastic#70992)
  [APM] Add cloud attributes to data telemetry (elastic#71008)
  Fix breadcrumb on panels for visibility / round corners (elastic#71010)
  Improve search typescript (elastic#69333)
  [savedObjects field count] run in baseline job (elastic#70999)
  [Security Solution] [Timeline] Timeline manager tweaks (elastic#69988)
  [Endpoint] Support redirect from Policy Details to Ingest when user initiates Edit Policy from Datasource Edit page (elastic#70874)
  [APM] Add API tests (elastic#70740)
  [Security Solution][Exceptions] - Tie server and client code together (elastic#70918)
  [Audit Logging] Add AuditTrail service (elastic#69278)
  [Usage Collection] Ensure no type duplicates (elastic#70946)
  [Security Solution] [Timeline] Bugfix for timeline row actions disappear sometimes (elastic#70958)
  [CI] Add pipeline task queue framework and merge workers into one (elastic#64011)
  ...
madirey added a commit that referenced this pull request Jul 9, 2020
…ser artifact/manifest format (#70998) (#71197)

* Fix base64 download bug

* Add test for artifact download

* Add more tests to ensure cached versions of artifacts are correct

* Convert to new format

* missed some refs

* partial fix to wrapper format

* update fixtures and integration test

* Fixing unit tests

Co-authored-by: Alex Kahan <alexander.kahan@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Alex Kahan <alexander.kahan@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature:Endpoint Elastic Endpoint feature release_note:skip Skip the PR/issue when compiling release notes Team:Endpoint Response Endpoint Response Team v7.9.0 v8.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants