Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use me exceptions flyouts #15

Draft
wants to merge 311 commits into
base: common_flyout_components
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
311 commits
Select commit Hold shift + click to select a range
f418355
[CI] Auto-commit changed files from 'node scripts/eslint --no-cache -…
kibanamachine Sep 13, 2022
2eaa02c
continued updates, cleanup and test additions
yctercero Sep 19, 2022
2a89bd1
Merge branch 'main' of github.com:elastic/kibana into use_me_exceptio…
yctercero Sep 19, 2022
f903093
Merge branch 'use_me_exceptions_flyouts' of github.com:yctercero/kiba…
yctercero Sep 20, 2022
6cea20e
edit exception flyout minus conditions
yctercero Sep 23, 2022
657b817
edit exception flyout working, need to still add back in some error s…
yctercero Sep 26, 2022
38d1410
Merge branch 'main' of github.com:elastic/kibana into use_me_exceptio…
yctercero Sep 26, 2022
416dae5
nearly everything working, need to fix props passed in from alert con…
yctercero Sep 28, 2022
74fab9c
Merge branch 'main' of github.com:elastic/kibana into use_me_exceptio…
yctercero Sep 30, 2022
3dc5fbc
Merge branch 'common_flyout_components' into use_me_exceptions_flyouts
yctercero Sep 30, 2022
27ceceb
Merge branch 'main' of github.com:elastic/kibana into use_me_exceptio…
yctercero Oct 3, 2022
392f490
fix: missing metadata info from text-ouput events (#142392)
Omolola-Akinleye Oct 3, 2022
fdba8d3
[ML] Fix Index data visualizer doc count when time field is not defin…
qn895 Oct 3, 2022
44d028f
[Security Solution] Trusted Apps about text updated to add new docs l…
kevinlog Oct 3, 2022
9a8008b
[Enterprise Search] pipelines copy tweaks (#142406)
TattdCodeMonkey Oct 3, 2022
01113b2
[Osquery] Another batch of small fixes (#142193)
tomsonpl Oct 4, 2022
b3a749e
[Synthetics UI] Serialize errors before sending to redux store to pre…
justinkambic Oct 4, 2022
6de0091
[Terminal Output] bug fixes to text sizer and missed lines rendered i…
mitodrummer Oct 4, 2022
aa12bea
[8.5][Elastic Defend onboarding] Updates to text for Endpoint presets…
opauloh Oct 4, 2022
999bc84
[Sample data] replace legacy control visualizations with dashboard co…
nreese Oct 4, 2022
e007ad6
[Response Ops][Alerting] Fixing bug with using `runSoon` on pre-8.x r…
ymao1 Oct 4, 2022
d616210
[api-docs] Daily api_docs build (#142551)
kibanamachine Oct 4, 2022
c7a5660
[Actionable Observability] Add Alert Details page header (#140299)
CoenWarmer Oct 4, 2022
3c0086b
Add Url state parameter for external alerts checkbox (#142344)
machadoum Oct 4, 2022
f1c12a0
Revert "[Synthetics UI] Serialize errors before sending to redux stor…
Oct 4, 2022
10884e6
[Security Solution][Detections] refactors update rule actions tests (…
vitaliidm Oct 4, 2022
74f30dc
Move Cloud Integrations out of the `cloud` plugin (#141103)
afharo Oct 4, 2022
b8c17b0
[Fleet] Allow agent force upgrading to a newer patch release (#142450)
joshdover Oct 4, 2022
a43f235
Fix: Render 404 step screenshots as "Image not available". (#142320)
awahab07 Oct 4, 2022
d60acf8
[Infra] Make nav react to Hosts view enabled flag changing (#142477)
miltonhultgren Oct 4, 2022
0e6fa00
[SavedObjectClient] Add support to exclude references when searching …
sebelga Oct 4, 2022
b66d12a
[Enterprise Search] Add ml doc links (#141921)
efegurkan Oct 4, 2022
4753d7c
[ML] Explain Log Rate Spikes: Fix error handling. (#142047)
walterra Oct 4, 2022
87dc1fa
[Security Solution][Endpoint][Response Actions] Add license check to …
ashokaditya Oct 4, 2022
8be7668
[Profiling] Show Top 1000 functions (#142391)
rockdaboot Oct 4, 2022
8e770bb
[TSVB][Lens]Fix conversion from static value in timeseries to referen…
VladLasitsa Oct 4, 2022
bcfa351
Allow null description field value to round trip from server (#142540)
byronhulcher Oct 4, 2022
24ce456
Fixing flaky test (#142498)
doakalexi Oct 4, 2022
6f8e758
Fixing Failing test: X-Pack Alerting API Integration Tests.x-pack/tes…
ymao1 Oct 4, 2022
fb6b10e
skip flaky suite (#142110)
mistic Oct 4, 2022
b62c0f9
added beta tag for linux config (#142171)
animehart Oct 4, 2022
6824718
[Synthetics] Increase project API payload limit (#142140)
shahzad31 Oct 4, 2022
6875d18
Removing esArchiver in favor of testDataLoader for `bulk_get` Saved O…
kc13greiner Oct 4, 2022
f5f60b6
[Console] Refactor Console settings toggles to follow best practices …
mibragimov Oct 4, 2022
890bf74
[Security Solution][Analyzer] Make all analyzer apis have time range …
kqualters-elastic Oct 4, 2022
f147fe8
[Fleet] Update unenroll logic to account for new API key fields (#142…
joshdover Oct 4, 2022
5add1f9
[TIP] Add full screen feature for indicators table (#142519)
PhilippeOberti Oct 4, 2022
796dcb9
skip failing test suite (#142548)
kibanamachine Oct 4, 2022
b798f9f
[Uptime] Unskip flaky api test (#142595)
shahzad31 Oct 4, 2022
d95e690
[Infrastructure UI] Use same no data messaging on hosts view (#142063)
jennypavlova Oct 4, 2022
001d44c
[TIP] Add update status component (#142560)
lgmys Oct 4, 2022
9e88bc9
Add getByTestSubj command (#142591)
gbamparop Oct 4, 2022
d7700a6
Removing link from native connector advanced configuration steps (#14…
byronhulcher Oct 4, 2022
53bf927
[Fleet] Bulk install packages before creating agent and package polic…
nchaulet Oct 4, 2022
0e7070a
[ResponseOps][Stack Connectors] Adding custom validators to sub actio…
jonathan-buttner Oct 4, 2022
25b79a9
Collect metrics about the active/idle connections to ES nodes (#141434)
gsoldevila Oct 4, 2022
b81993d
[Synthetics] Serialize errors before sending to redux store (#142603)
justinkambic Oct 4, 2022
524363d
[8.6][ML Inference] Add ML inference failure handler (#142488)
demjened Oct 4, 2022
19734bc
Remove Minutes from connector scheduling frequency dropdown (#142619)
byronhulcher Oct 4, 2022
1c25d93
[Enterprise Search] Update copy for landing page (#141979)
byronhulcher Oct 4, 2022
4c18c0a
Update copy for authentication header form (#142620)
byronhulcher Oct 4, 2022
2a1df2d
fix: handle the `undefined` case correctly (#142580)
janmonschke Oct 4, 2022
43bbbc6
[RAM] Fix rule details page not displaying the rule snooze status pro…
JiaweiWu Oct 4, 2022
36b2296
Checking if security license isEnabled, and if not, throwing 404 that…
kc13greiner Oct 4, 2022
7e01603
skip failing test suite (#142564)
kibanamachine Oct 4, 2022
5ff2232
skip failing test suite (#141864)
kibanamachine Oct 4, 2022
1c8e0ed
Migrate server-side http_resources service to packages (#142537)
TinaHeiligers Oct 4, 2022
df9d1e8
[Security Solution] [Cases] Bugfix, properly encode `externalId` json…
stephmilovic Oct 4, 2022
04189db
[Osquery] Fix ResponseActions form logic (#142612)
patrykkopycinski Oct 4, 2022
ae07eb2
skip suite failing es promotion. #142642
jbudz Oct 4, 2022
2216555
continued work on cypress
yctercero Oct 4, 2022
a249725
Merge branch 'main' of github.com:elastic/kibana into use_me_exceptio…
yctercero Oct 4, 2022
87fa95d
[Fleet] Remove Fleet server upgrade modal (#142622)
nchaulet Oct 4, 2022
61342b3
[Synthetics] preserve id field on monitor attributes (#142478)
dominiqueclarke Oct 4, 2022
035720b
[TIP] Reorganize table folder within indicators module (#142510)
PhilippeOberti Oct 4, 2022
86dcbb5
[CI] Auto-commit changed files from 'node scripts/eslint --no-cache -…
kibanamachine Oct 4, 2022
a8694c7
feat(slo): Handle updating SLO (#142273)
kdelemme Oct 4, 2022
c843987
[Enterprise Search] Index Pipelines JSON Configurations (#142609)
TattdCodeMonkey Oct 4, 2022
4a74dd3
[APM] Record e2e tests to Cypress dashboard and enable screenshots, v…
gbamparop Oct 4, 2022
d0def9e
[APM] Adding tech preview on the logs tab for AWS lambda service (#14…
cauemarcondes Oct 4, 2022
1eb059d
Fix: Consider all summary pings to determine if monitor is only fleet…
awahab07 Oct 4, 2022
7684d92
[Enterprise Search] Custom pipelines update optimistically on creatio…
sphilipse Oct 4, 2022
23524d9
skip flaky suite. #142584
jbudz Oct 4, 2022
bd68933
[Guided onboarding] Fix steps status (#142526)
alisonelizabeth Oct 4, 2022
76c234a
[Synthetics] add zip url deprecation message to package and Uptime ov…
dominiqueclarke Oct 4, 2022
77eb802
[artifacts] Reuse Cloud image for tests (#141828)
jbudz Oct 4, 2022
71aebb7
[ResponseOps] Add kibana.alert.time_range field to Alert-As-Data mapp…
simianhacker Oct 4, 2022
7f3541c
[Security Solution] Remove Optional label from Rule Schedule lookback…
jpdjere Oct 4, 2022
fc8407d
Fix custom raster developer example (#142664)
nickpeihl Oct 4, 2022
f82f756
skip failing test suite (#142248)
kibanamachine Oct 4, 2022
45ad233
Added margin at the bottom to fully show event description list (#142…
christineweng Oct 4, 2022
7a6ff84
[Security Solution] Ignore timerange in session view, to mirror sessi…
kqualters-elastic Oct 4, 2022
899081a
Use `@emotion/server` for server-side security prompts (#142662)
constancecchen Oct 4, 2022
dffe513
Update text for autotune toast (#142674)
kqualters-elastic Oct 4, 2022
8ee13ea
[Explore] Risk score entity consolidation part 2 (#142401)
stephmilovic Oct 5, 2022
98f019a
[Onboarding][Test] Added UI Unit Test for new Onboarding fields (#142…
animehart Oct 5, 2022
055f1c5
141253 further updates to alerts on detail pages (#142669)
jamster10 Oct 5, 2022
eb89401
[api-docs] Daily api_docs build (#142694)
kibanamachine Oct 5, 2022
260b439
[Lens] Explore in Discover for textBased languages (#142552)
stratoula Oct 5, 2022
205a2b8
[Lens][TSVB] Navigate from TSVB Gauge to Lens Metric (#142187)
Kuznietsov Oct 5, 2022
b270921
[Lens] Edit data view in flyout (#142362)
flash1293 Oct 5, 2022
32b029e
Adjust detection engine routes codeowners (#142570)
xcrzx Oct 5, 2022
98f365e
[kbn-es-query] Add support for OR filters (#142417)
lukasolson Oct 5, 2022
7203e30
Update AggConfig for nested sibling pipeline aggs (#140650)
lukasolson Oct 5, 2022
8f50c3b
[Actionable Observability] Refactor data view creation in alerts sear…
maryam-saeidi Oct 5, 2022
cc26353
[Enterprise Search] Fix index delete modal (#142447)
navarone-feekery Oct 5, 2022
4d72685
[Lens] [@kbn/tinymath] Add new defaults function (#142087)
dej611 Oct 5, 2022
6312c45
[Data Views] Fix small typo in README (#142701)
afharo Oct 5, 2022
640592a
[ML] Adds extra a11y tests for anomaly detection and DFA jobs (#142589)
peteharverson Oct 5, 2022
5f3d439
Search Sessions Stabilization Stage I (#134983)
Dosant Oct 5, 2022
0ab0f7a
move quickfunction button (#142623)
flash1293 Oct 5, 2022
4019d37
Fix for flyout shift (#142565)
dej611 Oct 5, 2022
c46a624
[Fleet] fix abort agent singular (#142696)
juliaElastic Oct 5, 2022
da39215
[ML] Fix after all hook for Notifications tests (#142711)
darnautov Oct 5, 2022
9394228
Fix react warnings (#142712)
dej611 Oct 5, 2022
035a433
Removing esArchiver from bulkCreate (#142676)
kc13greiner Oct 5, 2022
0a03a52
skip flaky suite (#135309)
mistic Oct 5, 2022
27ac4fc
[Guided onboarding] Added Guided onboarding to the Fleet plugin (#142…
yuliacech Oct 5, 2022
57876a8
Fix indefinite loading and handling of state pings for Last test run …
awahab07 Oct 5, 2022
34deabc
Fixing flaky `disable` test (#142687)
ymao1 Oct 5, 2022
f644fde
Fixing flaky `runSoon` test (#142652)
ymao1 Oct 5, 2022
25ba3c7
[SecuritySolution] Link to the correct subscription upgrade "page/flo…
janmonschke Oct 5, 2022
b3ebe13
[RAM] render the grid only if we have alerts (#142481)
jcger Oct 5, 2022
756bc17
[Uptime] Unskip alert flyout jest test (#142722)
shahzad31 Oct 5, 2022
1ff6658
[Uptime] Un-skip alert flaky test (#142717)
shahzad31 Oct 5, 2022
322cadc
add back ticks on bands (#142702)
flash1293 Oct 5, 2022
276cd3d
Use authorisation if present, regardless of environment (#138817)
lucasfcosta Oct 5, 2022
c888aca
[Profiling] Move additional flamegraph calculations into UI (#142415)
jbcrail Oct 5, 2022
37e4eb2
[Fleet] Add missing SO in data_model.md (#142745)
criamico Oct 5, 2022
c19ccdb
[Enterprise Search] add ml pipeline empty schema error (#142618)
TattdCodeMonkey Oct 5, 2022
c9af639
[Enterprise Search] fix ml inference with api index (#142673)
TattdCodeMonkey Oct 5, 2022
bb8a3c3
[Connectors] Split ServiceNow connector type (#141961)
ymao1 Oct 5, 2022
3469d64
[Cases] Improve bulk actions (#142150)
cnasikas Oct 5, 2022
3fa8a87
[Security Solution][Endpoint] Add support to Action Responder script …
paul-tavares Oct 5, 2022
a6f013b
[TIP] Add integrations on the threat_intelligence url now routes to t…
PhilippeOberti Oct 5, 2022
d3370cf
[APM] Added required fields to infra metrics client (#142569)
MiriamAparicio Oct 5, 2022
a3e2af4
[ML] Fix bug with fields.yml not defined, add jest tests for new tran…
qn895 Oct 5, 2022
db7daf6
[APM] Convert AWS lambada duration to microseconds (#142504)
cauemarcondes Oct 5, 2022
cb33477
remove limitation to only using .kibana indices (#142739)
jloleysens Oct 5, 2022
37b9d98
[TIP] Add copy to clipboard feature (#142675)
PhilippeOberti Oct 5, 2022
803189f
[Security Solution][Fix]-Reset discarded timeline & Change timeline S…
logeekal Oct 5, 2022
6b1e448
Update short URL access fields on resolution by slug (#142731)
vadimkibana Oct 5, 2022
0d593a5
Update babel to ^7.19.3 (main) (#142682)
renovate[bot] Oct 5, 2022
5e44010
[Tines connector] SubActions framework changes (#142475)
semd Oct 5, 2022
2d8b29e
[DOCS] Automate output for 4 case APIs (#142173)
lcawl Oct 5, 2022
ba52231
[Reporting] Make "Run diagnostics" be a clickable link (#142174)
tsullivan Oct 5, 2022
f1f2107
[ci/cloud-deploy] Remove CI success requirement (#141965)
jbudz Oct 5, 2022
f80fd78
[Connectors] Split functional tests by connector type (#141956)
ymao1 Oct 5, 2022
63aee48
[artifacts] Pass dependency manifest to release-manager CLI (#142408)
jbudz Oct 5, 2022
0149bd0
[Security Solution][Exceptions] - Common flyout components (#142054)
yctercero Oct 5, 2022
12f865e
chore(NA): update versions after v8.4.4 bump (#142789)
mistic Oct 5, 2022
4fcb005
Merge branch 'main' of github.com:elastic/kibana into use_me_exceptio…
yctercero Oct 5, 2022
47354fa
[CI] Use 4 parallel ESLint jobs (#142787)
Oct 5, 2022
35879b9
remove sm (#142668)
bmorelli25 Oct 5, 2022
0a39572
Risk score installation refactory (#142434)
angorayc Oct 5, 2022
fdea7b1
Add september newsletter (#142501)
thomasneirynck Oct 5, 2022
3c6a168
updating cypress tests
yctercero Oct 5, 2022
4f649c0
[Response Ops] Allow `_source` field for ES DSL query rules (#142223)
ymao1 Oct 5, 2022
8eee6dd
[CI] Auto-commit changed files from 'node scripts/eslint --no-cache -…
kibanamachine Oct 5, 2022
275da54
useMemo removed for simple calculations. changes to these props were …
mitodrummer Oct 6, 2022
e7fc242
[api-docs] Daily api_docs build (#142815)
kibanamachine Oct 6, 2022
17e0531
[Lens][Agg based metric] Convert to Lens Metric. (#142561)
Kuznietsov Oct 6, 2022
4b7df3c
[Lens] Populates the correct columns to Discover (#142697)
stratoula Oct 6, 2022
4197c03
[APM] Collect total number of service groups (#142768)
kpatticha Oct 6, 2022
115039d
[TIP] Support category pre-selection inside the FieldsBrowser compone…
lgmys Oct 6, 2022
c05190e
[Profiling] Auto-abort requests (#142750)
dgieselaar Oct 6, 2022
4854f42
[Lens] [metric visualization] a column normalized by unit doesn't dis…
alexwizp Oct 6, 2022
61630e3
[Synthetics] Update layout for ping monitor (#142779)
shahzad31 Oct 6, 2022
bf6a55d
make sure progress bar is visible (#142699)
flash1293 Oct 6, 2022
46d87da
[Security Solution][Endpoint][Guided onboarding] New extension point …
gergoabraham Oct 6, 2022
41b2815
[APM] Migrate api tests to use apm api client (#142724)
yngrdyn Oct 6, 2022
0a01a92
[UnifiedSearch] Allow editing ad-hoc data views without permissions (…
flash1293 Oct 6, 2022
def43c4
Add integration test tracking changes performed on all SO types migra…
pgayvallet Oct 6, 2022
8219489
[Files] Fix flaky file creation and deletion tests (#141753)
jloleysens Oct 6, 2022
b076e4b
Change codeowners for stack_connectors (#142843)
cnasikas Oct 6, 2022
b93cf0f
[Security Solution] Add risk score column to all users table (#142610)
machadoum Oct 6, 2022
f026f5f
[Synthetics] bump bundled package to 0.10.3 (#142650)
dominiqueclarke Oct 6, 2022
dbbf3ad
[Files] Use blurhash for images (#142493)
jloleysens Oct 6, 2022
a231f9c
[Response Ops][Alerting] Update stack rules to respect max alert limi…
ymao1 Oct 6, 2022
42f0868
Fix Failing test: Jest Tests.x-pack/plugins/lens/common/expressions/t…
alexwizp Oct 6, 2022
8efefb1
synthetics - unskip flaky test (#142801)
dominiqueclarke Oct 6, 2022
4142f65
change reporting url due to sample data dashboard change (#142794)
marius-dr Oct 6, 2022
022e59f
Bugfix: Refresh search results when clearing category filter (#142853)
hop-dev Oct 6, 2022
f880edc
[Cases] Fix bulk actions alignment (#142830)
cnasikas Oct 6, 2022
c723fd8
[8.6][ML Inference] New API to fetch ML inference errors (#142799)
demjened Oct 6, 2022
0d9a9f3
[Enterprise Search] Remove link to nowhere (#142860)
navarone-feekery Oct 6, 2022
4997fdf
Disable bazel cache on CI (#142873)
jbudz Oct 6, 2022
8ce91ac
capping ack count not to exceed total actioned count (#142848)
juliaElastic Oct 6, 2022
a873c3f
add a dismiss to the uptime tour popup (#142879)
marius-dr Oct 6, 2022
ba306be
[Profiling] Avoid line-break of samples (#142322)
rockdaboot Oct 6, 2022
dc53a59
[APM] Prefer span metrics over span events (#141519)
cauemarcondes Oct 6, 2022
6f92e2e
update wording (#142857)
angorayc Oct 6, 2022
2177c76
[Guided onboarding] Security config update (#142886)
yuliacech Oct 6, 2022
ca04402
[ML] Explain Log Rate Spikes: update more groups badge for clarity (…
alvarezmelissa87 Oct 6, 2022
9ceaab7
[APM] checks if is serverless first in order to show java lambda metr…
cauemarcondes Oct 6, 2022
e794156
Fix unenroll outputs shape (#142895)
joshdover Oct 6, 2022
5a17c64
[Dashboard] [Controls] Skip First Reload (#142868)
ThomThomson Oct 6, 2022
2d34b6e
[Expressions] Fix failing functional test of event annotations fetch …
dokmic Oct 6, 2022
39811a3
[Profiling] Fix UI discrepancies in frame information window (#142812)
jbcrail Oct 6, 2022
fe20722
skip failing test suite (#142913)
kibanamachine Oct 6, 2022
45dd050
skip failing test suite (#142912)
kibanamachine Oct 6, 2022
d206d83
[RAM] Fix rule definition not showing actions of the same connector t…
JiaweiWu Oct 6, 2022
ad95c57
[Fleet] Add new APIs and preconfiguration for Fleet server hosts per …
nchaulet Oct 6, 2022
da265da
[ML] Converting the anomaly details functions to typescript (#142769)
jgowdyelastic Oct 6, 2022
fae5387
[Enterprise Search] Index Pipelines Inference History (#142802)
TattdCodeMonkey Oct 6, 2022
4e9a16a
[api-docs] Daily api_docs build (#142930)
kibanamachine Oct 7, 2022
25c883e
[Enterprise Search]Allow snake_case variables in server (#142881)
sphilipse Oct 7, 2022
a8da650
.
yctercero Oct 7, 2022
4c7e126
.
yctercero Oct 7, 2022
33a8dbe
[api-docs] Daily api_docs build (#142944)
kibanamachine Oct 8, 2022
f658a7d
[api-docs] Daily api_docs build (#142946)
kibanamachine Oct 9, 2022
4da5e1b
all but some error instances should be good
yctercero Oct 9, 2022
19105a9
fix: linting error in test file (#142951)
TattdCodeMonkey Oct 9, 2022
4f6fca5
[api-docs] Daily api_docs build (#142953)
kibanamachine Oct 10, 2022
d7924aa
[XY] Fixes the detailed tooltip wrap problem (#142818)
stratoula Oct 10, 2022
91dbdc7
[Discover/Lens] Unify field popover (#141787)
jughosta Oct 10, 2022
6139304
[Unified search] Fixes the ui on the dark mode (#142703)
stratoula Oct 10, 2022
6ec4061
[APM] Fix service metrics generator (#142790)
kpatticha Oct 10, 2022
a122316
[Legacy Metric] should call `renderComplete` once for multi-value met…
alexwizp Oct 10, 2022
4de9d55
Add unit test for alerts table (#137843)
kpatticha Oct 10, 2022
b5fad2e
[Fleet] Prevent excessive re-renders of package list grid (#142864)
hop-dev Oct 10, 2022
ee2b21f
[APM] Return service groups stats from all spaces (#142856)
kpatticha Oct 10, 2022
c38712a
[Lens] Bundle Size Reduction (#142938)
alexwizp Oct 10, 2022
7e6df96
[Lens] Mocks refactoring for formula operations (#142777)
dej611 Oct 10, 2022
4414692
Add maxIdleSockets and idleSocketTimeout to Elasticsearch config (#14…
rudolf Oct 10, 2022
6e8487e
[XY] Fixes the colors and tooltips sync (#142957)
stratoula Oct 10, 2022
0518a74
[Unified Search] Rename OrFilter to CombinedFilter (#142761)
nlatipov Oct 10, 2022
b3cfd97
[APM] Remove check for infra data (#142835)
sorenlouv Oct 10, 2022
a48ec2c
Bump Backport to v8.9.7 (#142968)
sorenlouv Oct 10, 2022
d07301f
[Security Solution][Detections] increases coverage of bulk edit rules…
vitaliidm Oct 10, 2022
e20c451
[Lens] Add reduced time range option for formula (#142709)
dej611 Oct 10, 2022
64899bb
[Lens] Improve error messages for incompatible axis data type (#142962)
dej611 Oct 10, 2022
5319d66
reenable flakey test (#131397)
mattkime Oct 10, 2022
30e482b
Re-enable Bazel cache on CI (#142975)
jbudz Oct 10, 2022
1da866e
Fixing Failing test: Plugin Functional Tests.x-pack/test/plugin_api_i…
ymao1 Oct 10, 2022
dfede09
[Console] Add tests for XJSON (#136711)
mibragimov Oct 10, 2022
b7de426
[Cases] Add Severity bulk action & row action (#142826)
cnasikas Oct 10, 2022
3d14629
[Security Solution] Update e2e tests to work with detection rules ins…
xcrzx Oct 10, 2022
c7b742c
[data views] Add index pattern setter and getter and deprecate title …
mattkime Oct 10, 2022
b542f7b
[ResponseOps][Alerting] Elasticsearch query rule type allows SIZE: 0,…
doakalexi Oct 10, 2022
783997b
Update ftr (#142927)
renovate[bot] Oct 10, 2022
32d912e
[Guided onboarding] Implement quit guide functionality (#142542)
alisonelizabeth Oct 10, 2022
119a4f3
[load testing] add branch and buildId in APM labels (#142996)
dmlemeshko Oct 10, 2022
301c9f9
Revert "Update ftr (#142927)"
jbudz Oct 10, 2022
411c261
[DOCS] Adds content on ad hoc data view (#142290)
gchaps Oct 10, 2022
4feb397
[Detections][Alerts] fixes saved_query rule validation issue (#142602)
vitaliidm Oct 10, 2022
f6b1f69
PR cleanup
yctercero Oct 10, 2022
320194e
Merge branch 'main' of github.com:elastic/kibana into use_me_exceptio…
yctercero Oct 10, 2022
e1708b9
clean up types
yctercero Oct 10, 2022
c7f2037
clean up translations and fix cypress test
yctercero Oct 11, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add Url state parameter for external alerts checkbox (elastic#142344)
* Refactor global_query_string to move reusabel code to helper

* Add Url state parameter for external alerts checkbox

Co-authored-by: Kibana Machine <[email protected]>
  • Loading branch information
machadoum and kibanamachine authored Oct 4, 2022
commit 3c0086b76478f8c011883c0a0ea94354dd0c8f60
Original file line number Diff line number Diff line change
@@ -15,6 +15,7 @@ import { EventsQueryTabBody, ALERTS_EVENTS_HISTOGRAM_ID } from './events_query_t
import { useGlobalFullScreen } from '../../containers/use_full_screen';
import * as tGridActions from '@kbn/timelines-plugin/public/store/t_grid/actions';
import { licenseService } from '../../hooks/use_license';
import { mockHistory } from '../../mock/router';

const mockGetDefaultControlColumn = jest.fn();
jest.mock('../../../timelines/components/timeline/body/control_columns', () => ({
@@ -39,6 +40,11 @@ jest.mock('../../lib/kibana', () => {
};
});

jest.mock('react-router-dom', () => ({
...jest.requireActual('react-router-dom'),
useHistory: () => mockHistory,
}));

const FakeStatefulEventsViewer = ({ additionalFilters }: { additionalFilters: JSX.Element }) => (
<div>
{additionalFilters}
Original file line number Diff line number Diff line change
@@ -42,6 +42,11 @@ import { useLicense } from '../../hooks/use_license';
import { useUiSetting$ } from '../../lib/kibana';
import { defaultAlertsFilters } from '../events_viewer/external_alerts_filter';

import {
useGetInitialUrlParamValue,
useReplaceUrlParams,
} from '../../utils/global_query_string/helpers';

export const ALERTS_EVENTS_HISTOGRAM_ID = 'alertsOrEventsHistogramQuery';

type QueryTabBodyProps = UserQueryTabBodyProps | HostQueryTabBodyProps | NetworkQueryTabBodyProps;
@@ -55,6 +60,8 @@ export type EventsQueryTabBodyComponentProps = QueryTabBodyProps & {
timelineId: TimelineId;
};

const EXTERNAL_ALERTS_URL_PARAM = 'onlyExternalAlerts';

const EventsQueryTabBodyComponent: React.FC<EventsQueryTabBodyComponentProps> = ({
deleteQuery,
endDate,
@@ -70,14 +77,21 @@ const EventsQueryTabBodyComponent: React.FC<EventsQueryTabBodyComponentProps> =
const { globalFullScreen } = useGlobalFullScreen();
const tGridEnabled = useIsExperimentalFeatureEnabled('tGridEnabled');
const [defaultNumberFormat] = useUiSetting$<string>(DEFAULT_NUMBER_FORMAT);
const [showExternalAlerts, setShowExternalAlerts] = useState(false);
const isEnterprisePlus = useLicense().isEnterprise();
const ACTION_BUTTON_COUNT = isEnterprisePlus ? 5 : 4;
const leadingControlColumns = useMemo(
() => getDefaultControlColumn(ACTION_BUTTON_COUNT),
[ACTION_BUTTON_COUNT]
);

const showExternalAlertsInitialUrlState = useExternalAlertsInitialUrlState();

const [showExternalAlerts, setShowExternalAlerts] = useState(
showExternalAlertsInitialUrlState ?? false
);

useSyncExternalAlertsUrlState(showExternalAlerts);

const toggleExternalAlerts = useCallback(() => setShowExternalAlerts((s) => !s), []);
const getHistogramSubtitle = useMemo(
() => getSubtitleFunction(defaultNumberFormat, showExternalAlerts),
@@ -178,3 +192,43 @@ EventsQueryTabBodyComponent.displayName = 'EventsQueryTabBodyComponent';
export const EventsQueryTabBody = React.memo(EventsQueryTabBodyComponent);

EventsQueryTabBody.displayName = 'EventsQueryTabBody';

const useExternalAlertsInitialUrlState = () => {
const replaceUrlParams = useReplaceUrlParams();

const getInitialUrlParamValue = useGetInitialUrlParamValue<boolean>(EXTERNAL_ALERTS_URL_PARAM);

const { decodedParam: showExternalAlertsInitialUrlState } = useMemo(
() => getInitialUrlParamValue(),
[getInitialUrlParamValue]
);

useEffect(() => {
// Only called on component unmount
return () => {
replaceUrlParams([
{
key: EXTERNAL_ALERTS_URL_PARAM,
value: null,
},
]);
};
}, [replaceUrlParams]);

return showExternalAlertsInitialUrlState;
};

/**
* Update URL state when showExternalAlerts value changes
*/
const useSyncExternalAlertsUrlState = (showExternalAlerts: boolean) => {
const replaceUrlParams = useReplaceUrlParams();
useEffect(() => {
replaceUrlParams([
{
key: EXTERNAL_ALERTS_URL_PARAM,
value: showExternalAlerts ? 'true' : null,
},
]);
}, [showExternalAlerts, replaceUrlParams]);
};
Original file line number Diff line number Diff line change
@@ -5,8 +5,12 @@
* 2.0.
*/

import { parse } from 'query-string';
import { decode, encode } from 'rison-node';
import type { ParsedQuery } from 'query-string';
import { parse, stringify } from 'query-string';
import { url } from '@kbn/kibana-utils-plugin/public';
import { useHistory } from 'react-router-dom';
import { useCallback } from 'react';
import { SecurityPageName } from '../../../app/types';

export const isDetectionsPages = (pageName: string) =>
@@ -40,3 +44,59 @@ export const getParamFromQueryString = (

return Array.isArray(queryParam) ? queryParam[0] : queryParam;
};

/**
*
* Gets the value of the URL param from the query string.
* It doesn't update when the URL changes.
*
*/
export const useGetInitialUrlParamValue = <State>(urlParamKey: string) => {
// window.location.search provides the most updated representation of the url search.
// It also guarantees that we don't overwrite URL param managed outside react-router.
const getInitialUrlParamValue = useCallback(() => {
const param = getParamFromQueryString(
getQueryStringFromLocation(window.location.search),
urlParamKey
);

const decodedParam = decodeRisonUrlState<State>(param ?? undefined);

return { param, decodedParam };
}, [urlParamKey]);

return getInitialUrlParamValue;
};

export const encodeQueryString = (urlParams: ParsedQuery<string>): string =>
stringify(url.encodeQuery(urlParams), { sort: false, encode: false });

export const useReplaceUrlParams = () => {
const history = useHistory();

const replaceUrlParams = useCallback(
(params: Array<{ key: string; value: string | null }>) => {
// window.location.search provides the most updated representation of the url search.
// It prevents unnecessary re-renders which useLocation would create because 'replaceUrlParams' does update the location.
// window.location.search also guarantees that we don't overwrite URL param managed outside react-router.
const search = window.location.search;
const urlParams = parse(search, { sort: false });

params.forEach(({ key, value }) => {
if (value == null || value === '') {
delete urlParams[key];
} else {
urlParams[key] = value;
}
});

const newSearch = encodeQueryString(urlParams);

if (getQueryStringFromLocation(search) !== newSearch) {
history.replace({ search: newSearch });
}
},
[history]
);
return replaceUrlParams;
};
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
*/

import React from 'react';
import { renderHook } from '@testing-library/react-hooks';
import { act, renderHook } from '@testing-library/react-hooks';
import {
useInitializeUrlParam,
useGlobalQueryString,
@@ -296,5 +296,33 @@ describe('global query string', () => {

expect(mockHistory.replace).not.toHaveBeenCalledWith();
});

it('deletes unregistered URL params', async () => {
const urlParamKey = 'testKey';
const value = '123';
window.location.search = `?${urlParamKey}=${value}`;
const globalUrlParam = {
[urlParamKey]: value,
};
const store = makeStore(globalUrlParam);

const { waitForNextUpdate } = renderHook(() => useSyncGlobalQueryString(), {
wrapper: ({ children }: { children: React.ReactElement }) => (
<TestProviders store={store}>{children}</TestProviders>
),
});

mockHistory.replace.mockClear();

act(() => {
store.dispatch(globalUrlParamActions.deregisterUrlParam({ key: urlParamKey }));
});

waitForNextUpdate();

expect(mockHistory.replace).toHaveBeenCalledWith({
search: ``,
});
});
});
});
Original file line number Diff line number Diff line change
@@ -5,20 +5,15 @@
* 2.0.
*/

import type * as H from 'history';
import type { ParsedQuery } from 'query-string';
import { parse, stringify } from 'query-string';
import { useCallback, useEffect, useMemo } from 'react';

import { url } from '@kbn/kibana-utils-plugin/public';
import { isEmpty, pickBy } from 'lodash/fp';
import { useHistory } from 'react-router-dom';
import { difference, isEmpty, pickBy } from 'lodash/fp';
import { useDispatch } from 'react-redux';
import usePrevious from 'react-use/lib/usePrevious';
import {
decodeRisonUrlState,
encodeQueryString,
encodeRisonUrlState,
getParamFromQueryString,
getQueryStringFromLocation,
useGetInitialUrlParamValue,
useReplaceUrlParams,
} from './helpers';
import { useShallowEqualSelector } from '../../hooks/use_selector';
import { globalUrlParamActions, globalUrlParamSelectors } from '../../store/global_url_param';
@@ -43,13 +38,10 @@ export const useInitializeUrlParam = <State>(
) => {
const dispatch = useDispatch();

const getInitialUrlParamValue = useGetInitialUrlParamValue<State>(urlParamKey);

useEffect(() => {
// window.location.search provides the most updated representation of the url search.
// It also guarantees that we don't overwrite URL param managed outside react-router.
const initialValue = getParamFromQueryString(
getQueryStringFromLocation(window.location.search),
urlParamKey
);
const { param: initialValue, decodedParam: decodedInitialValue } = getInitialUrlParamValue();

dispatch(
globalUrlParamActions.registerUrlParam({
@@ -59,7 +51,7 @@ export const useInitializeUrlParam = <State>(
);

// execute consumer initialization
onInitialize(decodeRisonUrlState<State>(initialValue ?? undefined));
onInitialize(decodedInitialValue);

return () => {
dispatch(globalUrlParamActions.deregisterUrlParam({ key: urlParamKey }));
@@ -103,9 +95,16 @@ export const useGlobalQueryString = (): string => {
* - It updates the URL when globalUrlParam store updates.
*/
export const useSyncGlobalQueryString = () => {
const history = useHistory();
const [{ pageName }] = useRouteSpy();
const globalUrlParam = useShallowEqualSelector(globalUrlParamSelectors.selectGlobalUrlParam);
const previousGlobalUrlParams = usePrevious(globalUrlParam);
const replaceUrlParams = useReplaceUrlParams();

// Url params that got deleted from GlobalUrlParams
const unregisteredKeys = useMemo(
() => difference(Object.keys(previousGlobalUrlParams ?? {}), Object.keys(globalUrlParam)),
[previousGlobalUrlParams, globalUrlParam]
);

useEffect(() => {
const linkInfo = getLinkInfo(pageName) ?? { skipUrlState: true };
@@ -114,36 +113,16 @@ export const useSyncGlobalQueryString = () => {
value: linkInfo.skipUrlState ? null : value,
}));

if (params.length > 0) {
// window.location.search provides the most updated representation of the url search.
// It prevents unnecessary re-renders which useLocation would create because 'replaceUrlParams' does update the location.
// window.location.search also guarantees that we don't overwrite URL param managed outside react-router.
replaceUrlParams(params, history, window.location.search);
}
}, [globalUrlParam, pageName, history]);
};

const encodeQueryString = (urlParams: ParsedQuery<string>): string =>
stringify(url.encodeQuery(urlParams), { sort: false, encode: false });

const replaceUrlParams = (
params: Array<{ key: string; value: string | null }>,
history: H.History,
search: string
) => {
const urlParams = parse(search, { sort: false });
// Delete unregistered Url params
unregisteredKeys.forEach((key) => {
params.push({
key,
value: null,
});
});

params.forEach(({ key, value }) => {
if (value == null || value === '') {
delete urlParams[key];
} else {
urlParams[key] = value;
if (params.length > 0) {
replaceUrlParams(params);
}
});

const newSearch = encodeQueryString(urlParams);

if (getQueryStringFromLocation(search) !== newSearch) {
history.replace({ search: newSearch });
}
}, [globalUrlParam, pageName, unregisteredKeys, replaceUrlParams]);
};