Skip to content

upcoming: [UIE-10430] - Reserved IP: Implement Landing Screen.#13549

Merged
grevanak-akamai merged 6 commits intolinode:developfrom
tanushree-akamai:feature/UIE-10430-ReservedIPs-Landing-screen
Apr 10, 2026
Merged

upcoming: [UIE-10430] - Reserved IP: Implement Landing Screen.#13549
grevanak-akamai merged 6 commits intolinode:developfrom
tanushree-akamai:feature/UIE-10430-ReservedIPs-Landing-screen

Conversation

@tanushree-akamai
Copy link
Copy Markdown
Contributor

Description 📝

Implement Reserved IP Landing Table alongwith CRUD MSW mock setup.

Changes 🔄

  • Add ReservedIpsLanding component to render Reserved IPs list with pagination, loading/error/empty states using web components.
  • Implement ShowMore to allow overflow of tags based on maxLength
  • Implement ReservedIps factory, seeds and handlers

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

Target release date 🗓️

Please specify a release date (and environment, if applicable) to guarantee timely review of this PR. If exact date is not known, please approximate and update it as needed.

Preview 📷

Screenshot 2026-03-31 at 5 30 16 PM

How to test 🧪

Prerequisites

  • Open DevTools Panel
  • Enable the Reserved IP feature flag
  • Navigate to "MSW" section, Toggle "Enable MSW" to ON -> Select "CRUD" preset
  • navigate to "Seeds" section -> Set seed counts: Reserve IP: 26

Verification steps

  • Navigate to localhost:3000/reserved-ips/
  • Verify that you are able to see the list
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 tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Implements the Reserved IPs landing experience (table + row rendering) and adds supporting MSW “CRUD preset” wiring and seed data so the page can be exercised locally behind the feature flag.

Changes:

  • Added Reserved IPs landing UI (table, row rendering, action menu) with pagination and ordering driven by query params/preferences.
  • Extended MSW mock state/types and added Reserved IP list handler + seeder to populate mock data.
  • Wired Reserved IP mocks/seeders into the baseline CRUD preset and DevTools seed list.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
packages/manager/src/mocks/types.ts Adds “Reserved IPs” to CRUD groups/IDs and adds reservedIPs to MockState.
packages/manager/src/mocks/presets/crud/seeds/networking.ts Adds reservedIPSeeder using reservedIPsFactory and IndexedDB seed state.
packages/manager/src/mocks/presets/crud/seeds/index.ts Registers reservedIPSeeder in dbSeeders.
packages/manager/src/mocks/presets/crud/networking.ts Adds reservedIPsCrudPreset to expose Reserved IP handlers in CRUD preset.
packages/manager/src/mocks/presets/crud/handlers/networking.ts Adds MSW GET handler for /v4beta/networking/reserved/ips.
packages/manager/src/mocks/presets/baseline/crud.ts Includes networking and reserved IP handlers in the baseline CRUD preset.
packages/manager/src/mocks/mockState.ts Initializes reservedIPs: [] in the empty mock store.
packages/manager/src/features/ReservedIps/ReservedIpsLanding/ReservedIpsLandingTable.tsx New table component rendering Reserved IPs list with sorting + pagination.
packages/manager/src/features/ReservedIps/ReservedIpsLanding/ReservedIpsLandingRow.tsx New row renderer with assigned-entity link logic and tag overflow handling.
packages/manager/src/features/ReservedIps/ReservedIpsLanding/ReservedIpsLanding.tsx Hooks up queries/pagination/sorting and renders empty/loading/error states.
packages/manager/src/features/ReservedIps/ReservedIpsLanding/ReservedIpsActionMenu.tsx Adds action menu skeleton for Edit/Unreserve actions.
packages/manager/src/factories/networking.ts Adds reservedIPsFactory seed data for Reserved IPs (regions/tags/assigned entities).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@tanushree-akamai tanushree-akamai force-pushed the feature/UIE-10430-ReservedIPs-Landing-screen branch from 4aba464 to e90983d Compare March 31, 2026 17:03
@tanushree-akamai tanushree-akamai force-pushed the feature/UIE-10430-ReservedIPs-Landing-screen branch from e0a76d1 to 8dd1752 Compare April 7, 2026 14:34
@linode linode deleted a comment from Copilot AI Apr 8, 2026
@linode linode deleted a comment from Copilot AI Apr 8, 2026
@linode linode deleted a comment from Copilot AI Apr 8, 2026
@tanushree-akamai tanushree-akamai force-pushed the feature/UIE-10430-ReservedIPs-Landing-screen branch from ff9e625 to 647d13a Compare April 8, 2026 12:19
@linode-gh-bot
Copy link
Copy Markdown
Collaborator

Cloud Manager UI test results

🔺 1 failing test on test run #10 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
1 Failing901 Passing11 Skipped38m 49s

Details

Failing Tests
SpecTest
object-storage.e2e.spec.tsCloud Manager Cypress Tests→object storage end-to-end tests » can update bucket access

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/objectStorage/object-storage.e2e.spec.ts"

@tanushree-akamai tanushree-akamai added the Add'tl Approval Needed Waiting on another approval! label Apr 8, 2026
@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Apr 10, 2026
@grevanak-akamai grevanak-akamai merged commit 22f8513 into linode:develop Apr 10, 2026
34 of 35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Apr 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Add'tl Approval Needed Waiting on another approval! Ready for Review Reserve IP Reserve IP

Projects

Status: Merged

Development

Successfully merging this pull request may close these issues.

5 participants