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

upcoming: [M3-9095] - Add Linode Interfaces Table to Linode Details #11655

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

bnussman-akamai
Copy link
Member

Description 📝

  • Adds the Linode Interfaces table to the Linode Details page 🔌

Preview 📷

Screenshot 2025-02-12 at 7 00 18 PM

How to test 🧪

Prerequisites

  • Have a Linode with enhanced interfaces created
  • Turn on the Linode Interfaces feature flag

Verification steps

  • Verify you see a table containing your Linode's interfaces

Note

The UX mockup only included a type and MAC Addresss column.... I added more columns because I figured it can't hurt. We can refine as the project evolves but I don't see any reason to hide things from the user.

I'm surprised we're not showing the Interfaces IP addresses or attached firewall in the table row. I have a feeling we will want this... I'll ask UX next time we sync, but this isn't a blocker. We'll come back and refine as needed

Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support


  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All unit tests are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@bnussman-akamai bnussman-akamai marked this pull request as ready for review February 13, 2025 18:21
@bnussman-akamai bnussman-akamai requested review from a team as code owners February 13, 2025 18:21
@bnussman-akamai bnussman-akamai requested review from jdamore-linode, harsh-akamai and hasyed-akamai and removed request for a team February 13, 2025 18:21
@coliu-akamai coliu-akamai self-requested a review February 13, 2025 19:16
Copy link

Coverage Report:
Base Coverage: 80.13%
Current Coverage: 80.13%

@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🎉 508 passing tests on test run #8 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
0 Failing508 Passing2 Skipped97m 39s

Copy link
Contributor

@coliu-akamai coliu-akamai left a comment

Choose a reason for hiding this comment

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

thanks Banks! doing a quick initial review while I wait for docker - brb

Comment on lines +35 to +46
<Table>
<TableHead>
<TableRow>
<TableCell>ID</TableCell>
<TableCell>Type</TableCell>
<TableCell>MAC Address</TableCell>
<TableCell>Version</TableCell>
<TableCell>Updated</TableCell>
<TableCell>Created</TableCell>
<TableCell />
</TableRow>
</TableHead>
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: in terms of naming, it seems like this should go in LinodeInterfacesTable too since it's part of the table

return 'public';
};

export type InterfaceType = ReturnType<typeof getLinodeInterfaceType>;
Copy link
Contributor

Choose a reason for hiding this comment

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

could we update this name to LinodeInterfaceType? that way if someone else sees it they don't think 'configuration profile interface vs linodeInterface'

Suggested change
export type InterfaceType = ReturnType<typeof getLinodeInterfaceType>;
export type LinodeInterfaceType = ReturnType<typeof getLinodeInterfaceType>;

const { linodeId } = useParams<{ linodeId: string }>();
const _linodeId = Number(linodeId);

return (
<Stack spacing={2}>
<LinodeNetworkingSummaryPanel linodeId={_linodeId} />
<LinodeFirewalls linodeID={_linodeId} />
{!isLinodeInterfaceEnabled && <LinodeFirewalls linodeID={_linodeId} />}
Copy link
Contributor

Choose a reason for hiding this comment

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

are we planning to hide LinodeFirewalls for LinodeInterfaces / should we check with UX? I can assign [M3-9317] to you if you're planning to tackle it here

Copy link
Member Author

@bnussman-akamai bnussman-akamai Feb 20, 2025

Choose a reason for hiding this comment

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

Yeah, you can assign it to me! I assume we will be hiding this table because Interfaces will exist at the Interface level.

I checked the mockups again, and actually, it looks like I need to add a firewall column to the interfaces table
Screenshot 2025-02-20 at 10 20 35 AM

@@ -18,6 +18,7 @@ export default defineConfig({
},
},
server: {
allowedHosts: ['cloud.lindev.local'],
Copy link
Contributor

Choose a reason for hiding this comment

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

🚀

@coliu-akamai
Copy link
Contributor

oh I forgot to comment - I was able to see the network interfaces table! ✅ will return for a final review after firewall column is added

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants