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

[Security Solution][Endpoint][Admin] Endpoint Details UX Enhancements #90870

Merged
merged 11 commits into from
Feb 17, 2021

Conversation

parkiino
Copy link
Contributor

@parkiino parkiino commented Feb 9, 2021

Summary

In Endpoint Details flyout

  • Expands flyout size to M
  • Adds a row for Agent Status (aka host status)
  • Changes policy status to a clickable badge
  • Ensures each IP address is on its own line and truncates
  • Revision number is on the same line as the integration policy name
  • Policy Response drawer spacing is closer together, and "Policy Response" header is closer to the endpoint details back button
  • Removes icon next to Reassign Policy link

Screenshots

image

^above image is not updated, but the icon next to the REASSIGN POLICY link is updated to use the management icon
image

Policy Response BEFORE
image

Policy Response AFTER
image

@parkiino parkiino added Feature:Endpoint Elastic Endpoint feature release_note:skip Skip the PR/issue when compiling release notes Team:Defend Workflows “EDR Workflows” sub-team of Security Solution v7.12.0 v8.0.0 labels Feb 11, 2021
@parkiino parkiino marked this pull request as ready for review February 11, 2021 14:56
@parkiino parkiino requested a review from a team as a code owner February 11, 2021 14:56
@elasticmachine
Copy link
Contributor

Pinging @elastic/esecurity-onboarding-and-lifecycle-mgt (Feature:Endpoint)

@elasticmachine
Copy link
Contributor

Pinging @elastic/security-onboarding-and-lifecycle-mgt (Team:Onboarding and Lifecycle Mgt)

@kevinlog
Copy link
Contributor

@parkiino could update the image asset for "reassign policy" here so that it matches the mock?

I know there wasn't a specific callout in the original ticket for that, but it would be good to pull that in

image

Mock:
image

<EuiHealth
color={POLICY_STATUS_TO_HEALTH_COLOR[policyStatus] || 'subdued'}
data-test-subj="policyStatusHealth"
/** EuiBadge requires additional unnecessary props when the href prop is defined */
Copy link
Contributor

Choose a reason for hiding this comment

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

what does it require? Is it possible to pass empty values so that we can avoid the @ts-ignore ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

so there's actually a bug where euibadge uses the wrong type when both an onclick and an href are used, it's being tracked in this ticket: elastic/eui#4530

Copy link
Contributor

Choose a reason for hiding this comment

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

thanks!

@kevinlog
Copy link
Contributor

Checked it out and it looks good to me, left a comment about ts-ignore that should get answered.

One thing I noticed in the mock that we never called out in the ticket was a Host page link. I'm ok to add that in a follow up ticket/PR so that we can get this improvement in before FF.

image

fyi @bfishel ^^

Copy link
Contributor

@paul-tavares paul-tavares left a comment

Choose a reason for hiding this comment

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

Approving but left some comments/questions. Those, if applicable, can be addressed in a subsequent PR.

@@ -176,6 +176,7 @@ export interface HostResultList {
query_strategy_version: MetadataQueryStrategyVersions;
/* policy IDs and versions */
policy_info?: HostInfo['policy_info'];
host_status?: HostStatus;
Copy link
Contributor

Choose a reason for hiding this comment

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

Curious: was this missing? or was it introduced recently and part of an merge upstream?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

i believe it was in the hostInfo type (aka the type for the endpoint list) but not for the details

export const hostStatusInfo: (state: Immutable<EndpointState>) => HostStatus = createSelector(
(state) => state.hostStatus,
(hostStatus) => {
return hostStatus ? hostStatus : HostStatus.ERROR;
Copy link
Contributor

Choose a reason for hiding this comment

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

I assume we don't have an UNKNOWN type? If we do, would it make more sense here to set it to UNKOWN?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yup there is no unknown type, do you think it's better to make another type, or just set it to a different type?

<EuiText size="m">
<FormattedMessage
id="xpack.securitySolution.endpoint.list.hostStatusValue"
defaultMessage="{hostStatus, select, online {Online} error {Error} unenrolling {Unenrolling} other {Offline}}"
Copy link
Contributor

Choose a reason for hiding this comment

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

So here we use Offline for antyhing that is not online, error or unenrolling

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yup -- this is just following the pattern from the endpoint list, since it already shows Agent status. i'm not sure if we wanted to further differentiate things.

@@ -125,6 +132,14 @@ export const EndpointDetailsFlyout = memo(() => {

EndpointDetailsFlyout.displayName = 'EndpointDetailsFlyout';

const PolicyResponseFlyout = styled.div`
Copy link
Contributor

Choose a reason for hiding this comment

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

😨
Just want to confirm that this deviation from Eui is absolutely needed.

cc:/ @bfishel

Copy link
Contributor Author

Choose a reason for hiding this comment

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

there is a lot of space in between the back to endpoint details link and the beginning of the policy response, which is why the padding adjusted was added

@kibanamachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
securitySolution 7.5MB 7.6MB +2.1KB

History

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

gmmorris added a commit to gmmorris/kibana that referenced this pull request Feb 17, 2021
* master: (157 commits)
  [DOCS] Adds machine learning to the security section of alerting (elastic#91501)
  [Uptime] Ping list step screenshot caption formatting (elastic#91403)
  [Vislib] Use timestamp on brush event instead of iso dates (elastic#91483)
  [Application Usage] Remove deprecated & unused legacy.appChanged API (elastic#91464)
  Migrate logstash, monitoring, url_drilldowns, xpack_legacy to ts projects (elastic#91194)
  [APM] Wrap Elasticsearch client errors (elastic#91125)
  [APM] Fix optimize-tsconfig script (elastic#91487)
  [Discover][docs] Add searchFieldsFromSource description (elastic#90980)
  Adds support for 'ip' data type (elastic#85087)
  [Detection Rules] Add updates from 7.11.2 rules (elastic#91553)
  [SECURITY SOLUTION] Eql in timeline (elastic#90816)
  [APM] Correlations Beta (elastic#86477) (elastic#89952)
  [Security Solutions][Detection Engine] Adds a warning banner when the alerts data has not been migrated yet. (elastic#90258)
  [Security Solution] [Timeline] Endpoint row renderers (2nd batch) (elastic#91446)
  skip flaky suite (elastic#91450)
  skip flaky suite (elastic#91592)
  [Security Solution][Endpoint][Admin] Endpoint Details UX Enhancements (elastic#90870)
  [ML] Add better UI support for runtime fields Transforms  (elastic#90363)
  [Security Solution] [Detections] Replace 'partial failure' with 'warning' for rule statuses (elastic#91167)
  [Security Solution][Detections] Adds Indicator path config for indicator match rules (elastic#91260)
  ...
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:Defend Workflows “EDR Workflows” sub-team of Security Solution v7.12.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants