-
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
[Security Solution][Alert details] - improving session view experience in expandable flyout #200270
base: main
Are you sure you want to change the base?
[Security Solution][Alert details] - improving session view experience in expandable flyout #200270
Conversation
81477ae
to
4069ba9
Compare
b7ad4a4
to
171a9ac
Compare
5107c10
to
06f6971
Compare
Pinging @elastic/security-threat-hunting-investigations (Team:Threat Hunting:Investigations) |
06f6971
to
5efd87f
Compare
...ck/solutions/security/plugins/security_solution/public/resolver/view/controls/show_panel.tsx
Outdated
Show resolved
Hide resolved
x-pack/solutions/security/plugins/security_solution/public/flyout/index.tsx
Outdated
Show resolved
Hide resolved
scopeId, | ||
jumpToEntityId, | ||
jumpToCursor, | ||
}, |
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.
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.
aaaah yup I missed that, on it!
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.
well, actually I wonder if in this case it makes sense... We're not really previewing any data, we're just using the preview as a navigation...
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.
so now I wonder if we should remove it from the analyzer graph instead... 🤔
...ty/plugins/security_solution/public/flyout/document_details/left/components/session_view.tsx
Show resolved
Hide resolved
x-pack/solutions/security/plugins/session_view/public/components/process_tree_node/index.tsx
Outdated
Show resolved
Hide resolved
x-pack/solutions/security/plugins/session_view/public/components/session_view/index.tsx
Outdated
Show resolved
Hide resolved
…e detailed panel as a flyout preview panel
5efd87f
to
2d2b681
Compare
💚 Build Succeeded
Metrics [docs]Module Count
Public APIs missing comments
Async chunks
Page load bundle
History
|
I noticed there's an issue with the search when paginating the search results, where the highlighted search doesn't follow the pagination and it freezes the Session View details preview Screen.Recording.2024-12-18.at.8.27.14.PM.movOn the non-preview version, paginating on the search should open the details on the details panel: Screen.Recording.2024-12-18.at.8.33.30.PM.movI will try to investigate the issue, but maybe could we consider moving search logic to the context? |
Ha! Thanks for finding this I actually did not test the search functionality. I will be taking a look at it tomorrow! |
@christineweng I guess that was introduced earlier, it seems it's trying to fetch |
interesting, I thought I had fixed that one, I will double check tomorrow to make sure I'm using the correct indices when showing the detailed panel for the session view component and the correct ones when showing the alert details panel! |
should be possible yes (I think), I'll take a look tomorrow as well! |
{DETAIL_PANEL} | ||
</EuiButton> | ||
{openDetailsInExpandableFlyout ? ( | ||
<EuiButtonIcon onClick={toggleDetailPanelInFlyout} iconType="expand" /> |
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.
Should we maybe remove the button on the preview flyout mode? since it can be closed by clicking on the close button on the flyout (what doesn't have on the details panel), and it can be expanded by clicking on the process.
I think the expand icon might lead users to think it's a fullscreen option, also it doesn't do anything when the preview is already expanded.
Screen.Recording.2024-12-18.at.9.25.08.PM.mov
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.
we can, but this was added to be consistent with the analyzer graph component, and was a request by the UIUX team. I'll check with Product and UIUX if they have a preference. I'll get back to you on it!
@PhilippeOberti other than the freezing issue commented here, feel free to address the other issues / nits as follow-up issues if required Thanks for the detailed documentation and precise comments 💯 |
Summary
This PR started the move of the analyzer and session view components from the table to the flyout. Shortly after we added an advanced settings (via this PR) to allow users to switch back and forth between the old table view and the flyout view.
This current PR focuses on the session view component and enhances its user experience, when rendered in the expandable flyout.
No changes should be made for the user in the table as well as the other usages of the session view component (like for example the Kubernetes dashboard).
Old UI (in table)
Screen.Recording.2024-12-16.at.4.56.50.PM.mov
####. New UI (in flyout)
Screen.Recording.2024-12-16.at.4.55.37.PM.mov
As can seen in the video above, when the session view component is opened in the expandable flyout, we show the tree view and the detailed panel separated. This allow for better use of the horizontal space, especially visible on a wide monitor. This is also combined with the fact that the flyout is resizable (and can take the whole screen) and the preview panel is also resizable, to provide more space to the detailed panel.
Note: the session view full screen functionality is lost, but this is by design. As mentioned above, the user can resize the flyout's width to take the full screen, and the flyout's vertical space is already near full height.
Code decisions
To guarantee as much as possible that the usage of the Session View component in the table or in the other places (like the Kubernetes dashboard) were not impacted by this PR, only additive changes were made. All these changes are also protected behind
if
conditions, that should only be run when the correct props are being passed in.Some components (like the content of each of the tabs of the detailed panels - Process, Metadata and Alerts) as well as a hook, are exposed outisde of the
session_view
plugin, to be reused in the expandable flyout directly.Code changes were kept to a bare minimum in the
session_view
plugin!What to test
Back
button in the top-left cornerOpen details
has been replaced by aexpand
icon button, to be more consistent with the rest of the UI in the flyoutNotes:
expand
icon to be consistent with the Session View component (which already has anothereye
icon)How to test
securitySolution:enableVisualizationsInFlyout
Advanced Settingsyarn test:generate -n http://elastic:changeme@localhost:9200 -k http://elastic:changeme@localhost:5601
)