-
Notifications
You must be signed in to change notification settings - Fork 370
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
upcoming: [M3-7702] - Update Region Select for edge sites #10194
upcoming: [M3-7702] - Update Region Select for edge sites #10194
Conversation
endAdornment: ( | ||
<React.Fragment> | ||
{textFieldProps?.InputProps?.endAdornment} | ||
{params.InputProps.endAdornment} | ||
</React.Fragment> | ||
), |
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.
Confirmed that:
- I see the icon and helper text for the mock edge site in the Linodes region dropdown.
- I do not see the icon or helper text for the region dropdown in other places it is used.
- Light and dark mode color looks good.
Any test coverage to come for edge sites in the region dropdown?
I left just a few minor punctuation and styling suggestions.
Edit: Also seeing the following unit test failure locally, so 943b272 might not have addressed the issue completely.
@@ -47,6 +47,7 @@ export interface Flags { | |||
databaseScaleUp: boolean; | |||
databases: boolean; | |||
firewallNodebalancer: boolean; | |||
gecko: boolean; |
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.
This PR slips the new feature flag in. Can we call that out in the PR description too, just for completeness?
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.
You may want to consider using a object flag as we discussed recently. Something tells me gecko is going to have more than one parameter we will want to control individually. CC @jaalah-akamai
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.
@abailly-akamai I'll look into using an object flag in a separate PR
// Hide edge sites from Marketplace, Cloning, and Images | ||
const unsupportedEdgeEntities = [ | ||
'Clone Linode', | ||
'Images', | ||
'One-Click', | ||
].includes(createType); |
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.
I wonder if it will bother people that we won't allow users to deploy Marketplace apps to edge regions in Cloud Manager.
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 won't allow it for now but may in the future. The Gecko team needs time to test and curate a Marketplace for edge regions.
@mjac0bs @bnussman-akamai great feedback, addressed! |
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.
Thanks for addressing the feedback -- confirmed the above styling issues look good now and thanks for test coverage!
Do we have a plan for accessibility of the end adornment in the region select via aria? Using voice over, that icon is not read out and I don't think the user is able to view the tooltip, so they would not be able to distinguish edge sites (other than by name).
Approving pending that is addressed.
Also, I'm not sure what's going on with CI for this PR. It failed initially, so I restarted the PR in jenkins, and now it's showing e2es passing but not sure why the rest of CI is still pending. Unit tests pass locally.
@@ -47,6 +47,7 @@ export interface Flags { | |||
databaseScaleUp: boolean; | |||
databases: boolean; | |||
firewallNodebalancer: boolean; | |||
gecko: boolean; |
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.
You may want to consider using a object flag as we discussed recently. Something tells me gecko is going to have more than one parameter we will want to control individually. CC @jaalah-akamai
region.site_type === 'edge' && | ||
region.capabilities.includes(currentCapability) | ||
) | ||
); |
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.
I'd love to see a isGeckoEnabled
util to which you pass your entities (useFlags
can be invoked in the util) and tested as such. In doing so, we need to make those entities type safe
Coverage Report: ✅ |
icon={<EdgeServer />} | ||
status="other" | ||
sxTooltipIcon={sxEdgeIcon} | ||
text="This region is an Edge server." |
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.
text="This region is an Edge server." | |
text="This region is an Edge site." |
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.
Thanks for the changes! - second pass looks great - 🚢 ✅
color: 'inherit', | ||
display: 'flex', | ||
marginLeft: 8, | ||
padding: '8px 0', |
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.
nitpick (no need to address but good to keep in mind for the future) - while sizing an svg with hard coded values is totally fine, we can use theme spacing units for, well, spacing, especially for values we know to be 8 or multiple of 8. Who knows if the compact theme will ever make a comeback :D
Description 📝
Update our Region Select to support edge regions for Project Gecko
Changes 🔄
site_type
property to the Region typegecko
feature flagPreview 📷
How to test 🧪
Prerequisites
(How to setup test environment)
Verification steps
(How to verify changes)
/linodes/create
and open the Region Select dropdown. You should see an icon next to theGecko Edge Test
region and also icon helper text next to the region select.As an Author I have considered 🤔
Check all that apply