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

generic component to highlight any part of the ui #7131

Merged

Conversation

nemesis09
Copy link
Contributor

@nemesis09 nemesis09 commented Nov 5, 2020

Fixes:
https://issues.redhat.com/browse/ODC-4999

Description:
Create a generic component to highlight any part of UI with animation

Screens:
highlight component behaviour ideal
Note: three components are highlighted simultaneously for illustration only.
quickstarts_highlight

highlight component behaviour when clicked anywhere on the ui after animation has started
stophighlightanimation

highlight component behaviour autoscroll to bring component to highlight in viewport if it is hidden
highlightautoscroll

guided tour behaviour unchanged with updated Spotlight component
guidedtour_highlight

Test Coverage:
Screenshot from 2020-11-11 01-37-50

Browser Conformance:

  • Firefox
  • Chrome
  • Safari
  • Edge

@openshift-ci-robot openshift-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 5, 2020
@openshift-ci-robot openshift-ci-robot added the component/shared Related to console-shared label Nov 5, 2020
width,
};
return (
<Portal>
Copy link
Contributor

Choose a reason for hiding this comment

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

The implementation is exactly same as the Spotlight component from guided tour. Instead of creating a new one you should just move that one to console-shared and add some customization for this use case.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

updated with customized spotlight component

@openshift-ci-robot openshift-ci-robot added the component/core Related to console core functionality label Nov 10, 2020
@nemesis09 nemesis09 changed the title [WIP]generic component to highlight any part of the ui generic component to highlight any part of the ui Nov 10, 2020
@openshift-ci-robot openshift-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 10, 2020
Comment on lines 25 to 30
<div
className={cx({
'ocs-spotlight__element-highlight-animate': animate,
'ocs-spotlight__element-highlight-noanimate': !animate,
})}
style={style}
Copy link
Contributor

Choose a reason for hiding this comment

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

DRY. Store this component in a variable and render conditionally.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

updated using variable.

@lwrigh
Copy link

lwrigh commented Nov 11, 2020

@nemesis09 Here are the animation specifications from the final design doc:

Blink animation is triggered by click/tap initiating step
Blink animation is delayed start by 0.5 seconds ⬅️
Blink animation consists of (all at the same time and over 1.2 sec duration)
Scale: shape increases size from 100% to 150% ⬅️
Border width: from 4px to 8px ⬅️
Opacity: from 100% to 0%

I took a closer look at the GIF and CSS and I think the elements that are missing are the specifications with the arrows next to them. Let me know if you need me to take a closer look at any animation specifications.

Here's the link to the final design doc if you need to reference it: https://docs.google.com/document/d/1T41IzREwgfqR6NVpXI8e4psfkBR39gWt0eLfvA9pkGs/edit?usp=sharing

@rohitkrai03
Copy link
Contributor

/assign

@nemesis09
Copy link
Contributor Author

@nemesis09 Here are the animation specifications from the final design doc:

Blink animation is triggered by click/tap initiating step
Blink animation is delayed start by 0.5 seconds arrow_left
Blink animation consists of (all at the same time and over 1.2 sec duration)
Scale: shape increases size from 100% to 150% arrow_left
Border width: from 4px to 8px arrow_left
Opacity: from 100% to 0%

I took a closer look at the GIF and CSS and I think the elements that are missing are the specifications with the arrows next to them. Let me know if you need me to take a closer look at any animation specifications.

Here's the link to the final design doc if you need to reference it: https://docs.google.com/document/d/1T41IzREwgfqR6NVpXI8e4psfkBR39gWt0eLfvA9pkGs/edit?usp=sharing

updated animation addressing the suggested requirements. PTAL

@lwrigh
Copy link

lwrigh commented Nov 18, 2020

@nemesis09 Here are the animation specifications from the final design doc:
Blink animation is triggered by click/tap initiating step
Blink animation is delayed start by 0.5 seconds arrow_left
Blink animation consists of (all at the same time and over 1.2 sec duration)
Scale: shape increases size from 100% to 150% arrow_left
Border width: from 4px to 8px arrow_left
Opacity: from 100% to 0%
I took a closer look at the GIF and CSS and I think the elements that are missing are the specifications with the arrows next to them. Let me know if you need me to take a closer look at any animation specifications.
Here's the link to the final design doc if you need to reference it: https://docs.google.com/document/d/1T41IzREwgfqR6NVpXI8e4psfkBR39gWt0eLfvA9pkGs/edit?usp=sharing

updated animation addressing the suggested requirements. PTAL

The updates you made @nemesis09 look good to me! From the GIFs it looks like the behaviors and timing work out well.

@lwrigh
Copy link

lwrigh commented Nov 18, 2020

@mceledonia Here's the PR associated with the animated quick start hints. Feel free to take a look. The GIFs at the top of the PR are the most recent version of the implementation.

@nemesis09
Copy link
Contributor Author

/retest

@keyframes highlight {
0% {
opacity: 1;
border: var(--pf-global--BorderWidth--xl) solid var(--pf-global--palette--blue-200);
Copy link
Contributor

Choose a reason for hiding this comment

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

Why didn't we use box shadow here as shown in https://codesandbox.io/s/highlight-9oizs

Copy link
Contributor Author

Choose a reason for hiding this comment

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

the UX for animation was updated
please find the updated UX for animation here
Slack Conversation links:
https://coreos.slack.com/archives/C014NQG3H5L/p1604609753173100
https://coreos.slack.com/archives/C014NQG3H5L/p1604610208176400

@christianvogt
Copy link
Contributor

@nemesis09 a few observations from your images:

  • While the highlight border animates, a border around the item should remain in place.
  • The animation spec listed here mentions nothing about the outline shrinking.
  • The border should remain for 10 seconds after the animation, without fading IMO, and then fade out quickly or simply disappear. Your animation looks like a 10second slow fade out.
  • Your 3rd gif shows that when the menu is scrolled, the outline fails to follow the nav item.
  • I believe the guided tour outline should be the same color as the quick start highlight now.

I'm waiting on @mceledonia to provide updates on the animation before reviewing the code.

@mceledonia
Copy link

mceledonia commented Nov 23, 2020

I'll run through each step of the animation and add the transitions and timings in code styling. I'll also add some visual aids for each step.

For the animation of all hint borders:

  • The user clicks the text link to activate the hint border.
  • The border appears as two exact copies around the element, since they are two exact copies stacked on top of each other they just look like one. They should both Fade in over 0.4 seconds Right now they are static and do not move. The reason for 2 copies to appear is to achieve the desired animation effect described below.
    image
    image
  • After a brief delay of 1.2 seconds one copy of the border begins it's animation sequence. The animation sequence is as follows: increase in height and width of +50px over 1.2 seconds increase in border width from 4px to 8px over 1.2 seconds decrease in opacity/transparency from 100% to 0% over 1.2 seconds Note - These all happen simultaneously at the same time, and finish at the same time. They do not happen one after another.
    image
    image
  • The leftover static copy waits/delays 10 seconds and then triggers a fade out over 5 seconds
    image
    image

The spec for the starting border styling is the following:
Border width: 4px
Border color: $pf-color-blue-200: or #73bcf7

EDIT NOTE*** @nemesis09
I made a slight edit to the post and wanted to let you know.
Instead of scale increase +150%
I changed it to: scale/size increase top/bottom/left/right by +25px each
This way the expansion will always be consistent, whereas with a percentage the expansion will be larger on a larger item and smaller on a smaller one, we actually want them to always be the same.

@christianvogt
Copy link
Contributor

Here's an updated implementation of the requested animation:
https://codesandbox.io/s/highlight-9oizs?file=/src/Highlight.css

Note that I'm currently working with @mceledonia to tweak the animation (eg border expansion from 4px -> 12px instead of 4px -> 8px)

@christianvogt
Copy link
Contributor

@nemesis09 please use the same outline for both the guided tour and quick starts highlight.

@christianvogt
Copy link
Contributor

(I modified the guided tour to test this)
You need to use popperjs to position the highlight so that it moves when the node underneath it moves. Otherwise this happens:
image

@@ -0,0 +1,64 @@
@keyframes expand {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
@keyframes expand {
@keyframes co-spotlight-expand {

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't this be ocs-spotlight-expand?

Copy link
Contributor

Choose a reason for hiding this comment

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

yes it should be. my mistake

Copy link
Contributor Author

Choose a reason for hiding this comment

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

renamed to ocs-spotlight-expand

}
}

@keyframes fade-in {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
@keyframes fade-in {
@keyframes co-spotlight-fade-in {

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

Copy link
Contributor

Choose a reason for hiding this comment

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

@christianvogt @nemesis09 Shouldn't this be ocs-spotlight-expand since this is in console-shared package?

Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure it matters... we have a poor consistency across the console for keyframes and their names having the appropriate module. I think it's because they are only ever used in the one file. I'm indifferent either way though.

Copy link
Contributor

Choose a reason for hiding this comment

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

yes it should be. my mistake

Copy link
Contributor Author

@nemesis09 nemesis09 Nov 30, 2020

Choose a reason for hiding this comment

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

renamed to ocs-spotlight-expand

}
}

@keyframes fade-out {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
@keyframes fade-out {
@keyframes co-spotlight-fade-out {

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

Copy link
Contributor

Choose a reason for hiding this comment

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

@christianvogt @nemesis09 Shouldn't this be ocs-spotlight-expand since this is in console-shared package?

Copy link
Contributor

Choose a reason for hiding this comment

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

yes it should be. my mistake

Copy link
Contributor Author

Choose a reason for hiding this comment

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

renamed to ocs-spotlight-expand

Comment on lines 8 to 9
animate?: boolean;
hasBackdrop?: boolean;
Copy link
Contributor

Choose a reason for hiding this comment

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

There's a bug where if hasBackdrop === false && animate === false then this happens:
image

/>
);
return (
<Portal>
Copy link
Contributor

Choose a reason for hiding this comment

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

We will need to use popperjs instead so that the spotlight moves as the node underneath it moves.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

using popperjs instead of portal

Comment on lines 30 to 33
['--ocs-spotlight-top' as React.ReactText]: `${top}px`,
['--ocs-spotlight-left' as React.ReactText]: `${left}px`,
['--ocs-spotlight-height' as React.ReactText]: `${height}px`,
['--ocs-spotlight-width' as React.ReactText]: `${width}px`,
Copy link
Contributor

Choose a reason for hiding this comment

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

Clean up dead code.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

Comment on lines 8 to 9
animate?: boolean;
hasBackdrop?: boolean;
Copy link
Contributor

Choose a reason for hiding this comment

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

Combine these 2 props into one called interactive and add a description.
If interactive it will allow click through and animate. If !interactive it will display the background and prevent click through.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

Comment on lines 41 to 45
const handleClick = () => setClicked(true);
document.addEventListener('mousedown', handleClick);
return () => {
document.removeEventListener('mousedown', handleClick);
};
Copy link
Contributor

Choose a reason for hiding this comment

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

Only listen for clicks if in interactive mode.
You should also make sure the click occurs on the target element and not anywhere on screen.

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
const handleClick = () => setClicked(true);
document.addEventListener('mousedown', handleClick);
return () => {
document.removeEventListener('mousedown', handleClick);
};
const handleClick = () => setClicked(true);
element.addEventListener('mousedown', handleClick);
return () => {
element.removeEventListener('mousedown', handleClick);
};

Copy link
Contributor Author

@nemesis09 nemesis09 Nov 26, 2020

Choose a reason for hiding this comment

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

the goal for this function is to detect any click outside the link and stop the animation.

The solid rectangle hint persists until the user clicks somewhere else on the UI or waits the 10 seconds until it fades away.

although reading the uxd again, it seems the click-anywhere-to-disappear should only apply to the solid rectangle persisting after the expand animation. I'll check this with ux

pointer-events: none;
position: absolute;
&__with-backdrop {
mix-blend-mode: hard-light;
Copy link
Contributor

Choose a reason for hiding this comment

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

This causes the blue for the guided tour to be slightly a different color than the one we actually want. Perhaps raise a separate issue for this since it was an issue before as well.
image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Comment on lines 36 to 38
document.addEventListener('mousedown', handleClick);
return () => {
document.removeEventListener('mousedown', handleClick);
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
document.addEventListener('mousedown', handleClick);
return () => {
document.removeEventListener('mousedown', handleClick);
element.addEventListener('mousedown', handleClick);
return () => {
element.removeEventListener('mousedown', handleClick);

This was not updated...

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'm not sure if we need to check for click event on the element,
element is the component to highlight and the UXD says a click anywhere on the screen should stop the animation

Copy link
Contributor

Choose a reason for hiding this comment

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

I'll check with ux on the design again

Copy link
Contributor

Choose a reason for hiding this comment

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

I checked and you are right. They want it to disappear when clicking anywhere.

@nemesis09
Copy link
Contributor Author

/retest

@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label Nov 30, 2020
@andrewballantyne
Copy link
Contributor

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Nov 30, 2020
@andrewballantyne
Copy link
Contributor

/retest

@andrewballantyne
Copy link
Contributor

Odd, pod didn't start...

  • 1x kubelet: Successfully pulled image "quay.io/prometheus/busybox:latest" in 1m20.65114373s
    2020/11/30 16:34:27 pod didn't start running within 15m0s:
  • Container artifacts is not ready with reason ContainerCreating
  • Container release is not ready with reason ContainerCreating

/retest

Copy link
Contributor

@rohitkrai03 rohitkrai03 left a comment

Choose a reason for hiding this comment

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

@nemesis09 I was testing this with guided tours by passing interactive prop to spotlight. I noticed some weird behaviors.

  • The outside click doesn't work on any part of the document. It only works when clicked on the popper part of the guided tour.
  • The borders on the help menu looks off. It looks okay without the interactive prop passed but the arrow is still off a bit from the center.

Screenshot from 2020-11-30 22-30-54

Screenshot from 2020-11-30 22-29-21

@christianvogt
Copy link
Contributor

Interesting that the popover for help is also offset.

@andrewballantyne
Copy link
Contributor

I don't understand how others are reproducing this situation lol... Christian on his Mac can reproduce... Aritra on Linux and Rohit on Linux -- but I can't on my Mac lol

Chrome
Screen Shot 2020-11-30 at 1 57 39 PM

FF
Screen Shot 2020-11-30 at 1 58 12 PM

@andrewballantyne
Copy link
Contributor

The outside click doesn't work on any part of the document. It only works when clicked on the popper part of the guided tour.

@rohitkrai03 are you saying during Guided Tour you are expecting to click on the mask and exit? Because the interactive mode is false and thus the only way to close the modal is to close it via the x or finish the flow (or use one the exit at the start)

@nemesis09
Copy link
Contributor Author

@nemesis09 I was testing this with guided tours by passing interactive prop to spotlight. I noticed some weird behaviors.

* The outside click doesn't work on any part of the document. It only works when clicked on the popper part of the guided tour.

* The borders on the help menu looks off. It looks okay without the `interactive` prop passed but the arrow is still off a bit from the center.

Screenshot from 2020-11-30 22-30-54

Screenshot from 2020-11-30 22-29-21

This is odd. As far as I understand, there has been no substantial change in the spotlight as far as the implementation for Guided Tour is concerned.

@andrewballantyne
Copy link
Contributor

This is odd. As far as I understand, there has been no substantial change in the spotlight as far as the implementation for Guided Tour is concerned.

@rohitkrai03 / @christianvogt / @nemesis09 Can you fire up any cluster (before this is merged) and check the Guided Tour? Is this a pre-existing issue? I obviously can't reproduce this 😞

@nemesis09
Copy link
Contributor Author

@nemesis09 I was testing this with guided tours by passing interactive prop to spotlight. I noticed some weird behaviors.

* The outside click doesn't work on any part of the document. It only works when clicked on the popper part of the guided tour.

* The borders on the help menu looks off. It looks okay without the `interactive` prop passed but the arrow is still off a bit from the center.

Screenshot from 2020-11-30 22-30-54

Screenshot from 2020-11-30 22-29-21

Update: I tried it out in the cluster, rather than localhost to check the differences. The offset in the arrow seems to be a pre-existing issue. I think this could be related to a similar behaviour in popover arrow that i noticed in the modals for cluster status card items, which later turned out to be a patternfly issue. here is the slack thread https://coreos.slack.com/archives/C6A3NV5J9/p1603962222473200

@rohitkrai03
Copy link
Contributor

The outside click doesn't work on any part of the document. It only works when clicked on the popper part of the guided tour.

@rohitkrai03 are you saying during Guided Tour you are expecting to click on the mask and exit? Because the interactive mode is false and thus the only way to close the modal is to close it via the x or finish the flow (or use one the exit at the start)

@andrewballantyne I tested guided tour after passing interactive prop to the Spotlight component. So my expectation was that clicking anywhere should stop the animation and fade out the border but it only works when clicked on the popover.

The below screenshot shows the original use of Spotlight without interactive prop. The arrow seems to be offset which is a pre-existing issue even before this PR but the border box around help is correctly placed.
Screenshot from 2020-11-30 22-30-54

The below screenshot shows the Spotlight with interactive prop passed so that it uses InteractiveSpotlight with animation. It has the border box around help icon offset to the icon but the arrow is now centered with the border box.
Screenshot from 2020-11-30 22-29-21

@andrewballantyne
Copy link
Contributor

@andrewballantyne I tested guided tour after passing interactive prop to the Spotlight component. So my expectation was that clicking anywhere should stop the animation and fade out the border but it only works when clicked on the popover

Well that's disconcerting... I'll have to test this out once I am finished with my current task.

The below screenshot shows the original use of Spotlight without interactive prop. The arrow seems to be offset which is a pre-existing issue even before this PR but the border box around help is correctly placed.
Screenshot from 2020-11-30 22-30-54

The below screenshot shows the Spotlight with interactive prop passed so that it uses InteractiveSpotlight with animation. It has the border box around help icon offset to the icon but the arrow is now centered with the border box.
Screenshot from 2020-11-30 22-29-21

This is very confusing lol... I can't reproduce this in any fashion... I will have to try all the browsers under my disposal to see if I can reproduce this. Either way, I think we are addressing this post this PR merge.

};

const Spotlight: React.FC<SpotlightProps> = ({ selector, interactive }) => {
const element = document.querySelector(selector);
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
const element = document.querySelector(selector);
const element = React.useMemo(() => document.querySelector(selector), [selector]);

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

Comment on lines 23 to 31
const isInViewport = (elementToCheck: Element) => {
const rect = elementToCheck.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
};
Copy link
Contributor

Choose a reason for hiding this comment

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

This is a utility function. Move it out of the render closure.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

Comment on lines 16 to 22
const popperOptions: PopperOptions = {
modifiers: {
preventOverflow: {
enabled: false,
},
},
};
Copy link
Contributor

Choose a reason for hiding this comment

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

Make this a const outside of the render function.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label Nov 30, 2020
Copy link
Contributor

@andrewballantyne andrewballantyne left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Nov 30, 2020
@christianvogt
Copy link
Contributor

/approve

@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: andrewballantyne, christianvogt, nemesis09

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 30, 2020
@nemesis09
Copy link
Contributor Author

/retest

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

1 similar comment
@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-merge-robot openshift-merge-robot merged commit 01588d5 into openshift:master Dec 1, 2020
@spadgett spadgett added this to the v4.7 milestone Dec 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. component/core Related to console core functionality component/shared Related to console-shared lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet