-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[SIEM] Do not update state component when they did unmount #45847
Conversation
Pinging @elastic/siem |
updateLastSeen(null); | ||
updateErrorMessage(err.toString()); | ||
} | ||
const abortCtrl = new AbortController(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did not know about this -- very cool!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same, did not know about this.
That's pretty neat and fetch takes signals too and does cancels.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also it's used throughout the kibana
code base so it looks to be polyfilled and a great thing to use.
💚 Build Succeeded |
x-pack/legacy/plugins/siem/public/components/ml_popover/hooks/use_index_patterns.tsx
Outdated
Show resolved
Hide resolved
x-pack/legacy/plugins/siem/public/components/ml_popover/hooks/use_job_summary_data.tsx
Outdated
Show resolved
Hide resolved
x-pack/legacy/plugins/siem/public/components/ml_popover/hooks/use_siem_jobs.tsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome changes and thanks for the Abort syntax below to use for fetches!
Love it ❤️ ❤️ !
LGTM
💚 Build Succeeded |
💚 Build Succeeded |
…5847) * do not update state component when they did unmount * Adds signals to the fetches * review I
…5847) * do not update state component when they did unmount * Adds signals to the fetches * review I
* master: (33 commits) [easy] Exclude __examples__ from coverage (elastic#45556) [DOCS] Update CCR links (elastic#44012) Use unique junit report filenames again (elastic#45897) [ftr/savedObjects] add simple saved object api client to ftr s… (elastic#45856) New visualization editor Lens (elastic#36437) Sort using unix timestamp value (elastic#43162) [APM] Use POST instead of implicit GET (elastic#45903) [Canvas] Converting workpad header components to typescript and adding i18n (elastic#45274) skip flaky test (elastic#45884) set IS_PIPELINE_JOB in intake jobs (elastic#45850) [Uptime] Fix/issue 48 integration popup closes after refresh (elastic#45759) [Logs UI] Support zoom by brushing in the log rate chart (elastic#45879) [DOCS] Changes name to host (elastic#45798) [ML] Add population job wizard test (elastic#45765) [skip-ci][Maps][File upload] Geojson indexing and styling docs (elastic#41394) remove setTimeoue for state change (elastic#45853) [Graph] Restructure folders and add readme (elastic#45782) [ML] Enhance job id error message (elastic#45349) [SIEM] Do not update state component when they did unmount (elastic#45847) [i18n] sync from 7.4 latest translations (elastic#45823) ...
Summary
We had an issue that we were still updating our async component if they did unmount because of our async call.
How to reproduce the bug:
Expected result
Actual result
Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
in Unknown (created by NetworkFilterComponent)
in NetworkFilterComponent (created by Connect(NetworkFilterComponent))
in Connect(NetworkFilterComponent)
in Unknown (created by Connect(Component))
in Connect(Component) (created by Query)
in div (created by Container)
in Container (created by Query)
in Query (created by WithSource)
in WithSource
in Unknown (created by Connect(NetworkComponent))
in Connect(NetworkComponent) (created by Route)
in Route
in Switch
in Unknown (created by Route)
Checklist
Use
strikethroughsto remove checklist items you don't feel are applicable to this PR.For maintainers