Skip to content

Sync apr20 - #660

Open
santoshp210-akamai wants to merge 42 commits into
ACLPManager:aclp_developfrom
santoshp210-akamai:sync_apr20
Open

Sync apr20#660
santoshp210-akamai wants to merge 42 commits into
ACLPManager:aclp_developfrom
santoshp210-akamai:sync_apr20

Conversation

@santoshp210-akamai

Copy link
Copy Markdown

Description 📝

Highlight the Pull Request's context and intentions.

Changes 🔄

List any change(s) relevant to the reviewer.

  • ...
  • ...

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 📷

Include a screenshot <img src="" /> or video <video src="" /> of the change.

🔒 Use the Mask Sensitive Data setting for security.

💡 For changes requiring multiple steps to validate, prefer a video for clarity.

Before After
📷 📷

How to test 🧪

Prerequisites

(How to setup test environment)

  • ...
  • ...

Reproduction steps

(How to reproduce the issue, if applicable)

  • ...
  • ...

Verification steps

(How to verify changes)

  • ...
  • ...
Author Checklists

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

Check all that apply

  •  Use React components instead of HTML Tags
  • Proper naming conventions like cameCase for variables & Function & snake_case for constants
  • Use appropriate types & avoid using "any"
  • No type casting & non-null assertions
  • Adding a changeset
  • Providing/Improving test coverage
  • Use sx props to pass styles instead of style prop
  • Add JSDoc comments for interface properties & functions
  • Use strict equality (===) instead of double equal (==)
  • Use of named arguments (interfaces) if function argument list exceeds size 2
  • Destructure the props
  • Keep component size small & move big computing functions to separate utility
  • 📱 Providing mobile 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

grevanak-akamai and others added 30 commits April 7, 2026 13:19
…node#13559)

* Bump tsup to fix vuln

* Bump vite

* Added changeset: Bump `tsup` from `8.4.0` to `8.5.1`

* Added changeset: Bump `tsup` from `8.4.0` to `8.5.1`

* Added changeset: Bump `vite` from `7.2.2` to `7.3.1`

* Bump vite
)

* Added missing padding around the Managed dashboard card

* changed spacing to spacingFunction

* Implement basic sharegroup create form

* Added changeset: Implement the basic share group create page

* update unit test

* Update packages/manager/.changeset/pr-13550-upcoming-features-1774974481770.md

Co-authored-by: Dajahi Wiley <114682940+dwiley-akamai@users.noreply.github.com>

* Update the createShareGroup query

* Update description cell to truncate the text overflow and use tooltips

* Update table design and tooltip appearance

* Update table cell styling

* Update the share groups table columns and add tooltips

* Update description column width

---------

Co-authored-by: Dajahi Wiley <114682940+dwiley-akamai@users.noreply.github.com>
…3547)

* save progress

* cleanup

* Added changeset: Increase profile preferences reliability

* Added changeset: Prevent setData on updateUserPreferences

* feedback @bnussman-akamai

* cleanup
* fix:[UIE-10720] fixed lke version upgrade logic

* fix:[UIE-10720] added changeset
…inode#13554)

* upcoming: [DPS-41826] - add newFeature chip to render conditionally

* add changeset
)

* fix: [UIE-9487] - Networking/DBaaS - Display DBaaS resource count and table in the VPC UI

* Making enhancements to the SubnetDatabasesTable and cleaning up

* Moving paginator in SubnetDatabasesTable

* Applying initial feedback

* Removing leftover change from old implementation

* Adding unit tests for various changes related to dbaas resource count and table feature

* adding changesets

* Applying secondary feedback

* Updating changeset and unit tests based on additional feedback

* Applying feedback to fix text for database table IPV4 Address header
…inode#13572)

* Mock disable private image sharing feature flag to fix test failures

* Fix malformed feature flag mock

* Fix last test failure

* Added changeset: Mock private image sharing flag to be disabled in Image tests
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.13.5...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…t table (linode#13567)

* Added missing padding around the Managed dashboard card

* changed spacing to spacingFunction

* Implement the images multi-select table

* Remove unnecessary async statement

* Improve the image select component

* Rename variable for clarity

* Added changeset: Private Image Sharing: implement the images select table in the create share groups page

* Update packages/manager/.changeset/pr-13567-upcoming-features-1775674749388.md

Co-authored-by: Dajahi Wiley <114682940+dwiley-akamai@users.noreply.github.com>

* Fix bug with the image description in the image payload

* Add pendoId support for the landing header

* Add loading state for the submit button

* Update constants.ts

---------

Co-authored-by: Dajahi Wiley <114682940+dwiley-akamai@users.noreply.github.com>
…ssword (linode#13516)

* upcoming: [UIE-10333] - Allow Creating Secure Linodes without Root Password

* Add unit tests for useIsPasswordLessLinodesEnabled

* fixing margin issues

* update validation error message

* co-pilot PR feedback

* Added changeset:  Allow Creating Secure Linodes without Root Password

* remove error from root password when ssh keys are added

* update the heading font size

* add custom error message for invalid authentication

* remove root_pass/ssh keys when it is empty for passwordless linodes

* fix root password error when image is not selected

* trigger root_pass error only when field is touched
…node#13571)

* UIE-10778: IAM LA/New flag fix

* UIE-10777: IAM: text update

* Added changeset: IAM: remove LA badge and add only New badge, text update for  User's Account Delegation search result
…stream (linode#13492)

* feat: [DPS-36767] - Embedded metrics dashboard as contextual view in stream UI

* Added changeset: Stream Metrics tab with embedded metrics dashboard

* Hide metrics tab and url behind a flag

* Hide tabs when stream query failed

* CR changes 1

* merge conflicts fix
…de#13539)

* disable premium plan tab and display no region selected placeholder in dbaas create

* only display no region selected message for dbaas if generational plans is enabled

* add databaseGenerationalPlans feature flag

* update resize flow and feature flag resizing to a different plan type

* comment out hard-coded g7 types

* rename databaseGenerationalPlans flag to databaseResizeGenerationalPlans

* fix failing tests

* do not display changes if there are no g7 plans for databases

* clean up

* remove legacy resize test

* Added changeset: Generational plans changes for Databases

* Added changeset: Mock databaseResizeGenerationalPlans feature flag to false for resize-database.spec.ts

* Updating changelog

* Removing temporary dbtypes json file and PR testing code prior to merging

---------

Co-authored-by: Sam Mans <smans@akamai.com>
…te OAuth and storage (linode#13570)

* Use sessionStorage for codeVerifier: update OAuth and storage

* update

* Added changeset: Login issue: Use sessionStorage for codeVerifier and nonce

* Remove alert and fix ts errors

* Remove alert and fix ts errors

* Update AuthenticationError message

* Update the test references to use session storage instead of local storage for the code verifier and nonce

---------

Co-authored-by: pmakode-akamai <pmakode@akamai.com>
Co-authored-by: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com>
* upcoming: [M3-10780] - prepare for LKE Dashboard removal

Do not show LKE Dashboard button if the dashboard is missing.

https://techdocs.akamai.com/cloud-computing/docs/an-overview-of-the-kubernetes-dashboard-on-lke

LKE’s Kubernetes Dashboard will be decommissioned in May 2026

Following the upstream archival of the Kubernetes Dashboard project,
Akamai Cloud will decommission the LKE-hosted Kubernetes Dashboard. This
change will occur in May 2026. Once decommissioned, the Kubernetes
Dashboard UI will no longer be available for new and existing LKE
clusters.

* Added changeset: Upcoming: [M3-10780] - prepare for LKE Dashboard removal

* Delete packages/manager/.changeset/pr-13485-upcoming-features-1773779546608.md

---------

Co-authored-by: Alban Bailly <130582365+abailly-akamai@users.noreply.github.com>
Co-authored-by: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com>
…omponent (linode#13582)

* upcoming: [UIE-10427] - Reserved IP: Implement IP Address Selection component.

* Address review comments.

* Address review comments.
…re (linode#13569)

Co-authored-by: tvijay-akamai <51293194+tvijay-akamai@users.noreply.github.com>
tvijay-akamai and others added 12 commits April 15, 2026 18:36
Merge in FEE/cloud-manager from chore/test-timeouts to develop

* commit '40b35192ad701ac89fcb254e1423347e3e0c3d38':
  fix(tests): CICD unit tests timeout
Merge in FEE/cloud-manager from feature/UIE-11111 to develop

Squashed commit of the following:

commit 09c727ac6b62e9ad7188ccbb8eb5f01d63c9a4d3
Author: Alban Bailly <abailly@akamai.com>
Date:   Thu Apr 16 18:49:03 2026 +0200

    Revert "latest snapshot"

    This reverts commit 8a20d64ba3050ab8ae986e7ab27fe9afa5b3e675.

commit 8a20d64ba3050ab8ae986e7ab27fe9afa5b3e675
Author: Alban Bailly <abailly@akamai.com>
Date:   Thu Apr 16 16:04:37 2026 +0200

    latest snapshot

commit a9a2f410aae6a74f9465c2a662d040cff263a742
Author: Alban Bailly <abailly@akamai.com>
Date:   Thu Apr 16 10:57:25 2026 +0200

    Update import paths for all components

commit 164de604b04a72d5d87dd1ececbd7a81878e3b9c
Author: Alban Bailly <abailly@akamai.com>
Date:   Thu Apr 16 10:38:07 2026 +0200

    cds libs to latest snapshot
…ilures targeting repeat offenders

Merge in FEE/cloud-manager from feature/UIE-11109-cloud-manager-unit-tests-cicd to develop

* commit 'abd0dccf8be1034dab7682a99ec2bc614c77728d':
  chore: [UIE-11109] - Fix intermittent test failures targeting repeat offenders
…ards

Merge in FEE/cloud-manager from chore/test-sharding to develop

Squashed commit of the following:

commit 0927af64df85d656d6843925712ca71a58348e8b
Author: Alban Bailly <abailly@akamai.com>
Date:   Fri Apr 17 12:58:11 2026 +0200

    cleanup

commit 31a7be98e30deb17047cfb62f8a32de0134902fe
Author: Alban Bailly <abailly@akamai.com>
Date:   Fri Apr 17 12:24:27 2026 +0200

    improve script and cleanup

commit 90f1d5d451cdb1d10e82af4a42c686d3d8c4d39e
Author: Alban Bailly <abailly@akamai.com>
Date:   Fri Apr 17 12:09:52 2026 +0200

    different approach via separate scripting

commit a94bbefe26e5aed57290975aafe320668c0f38ce
Author: Alban Bailly <abailly@akamai.com>
Date:   Fri Apr 17 11:43:06 2026 +0200

    jenkins not supported - sharding locally

commit e7e3dd1c8516fbb508fdced367d3610336d7f9d7
Author: Alban Bailly <abailly@akamai.com>
Date:   Fri Apr 17 11:17:30 2026 +0200

    jenkins sharding

commit 5cc68a95d42d35ba76cd59bac04de65bc78743e1
Author: Alban Bailly <abailly@akamai.com>
Date:   Fri Apr 17 10:47:54 2026 +0200

    each sequence.groupOrder

commit dac6bce2298dec574d88550ab3dba263ba5e1a3e
Author: Alban Bailly <abailly@akamai.com>
Date:   Fri Apr 17 10:40:01 2026 +0200

    test sharding setup
…1109] Improve Vitest setup w/ shards"

Merge in FEE/cloud-manager from chore/cicd-tests to develop

Squashed commit of the following:

commit 8f53c371bb83fa794a3dd948f954b0ecd233f4ea
Author: Conal Ryan <corya@akamai.coms>
Date:   Fri Apr 17 12:45:56 2026 -0400

    Revert "Pull request linode#73: chore: [UIE-11109] Improve Vitest setup w/ shards"

    This reverts commit 4cb03e5.
…op, staging, master or a PR.

Merge in FEE/cloud-manager from chore/cicd-optimizations to develop

Squashed commit of the following:

commit 7f48334e0308d813ac2b487bbf5f025157b995ee
Author: Conal Ryan <corya@akamai.coms>
Date:   Fri Apr 17 10:22:04 2026 -0400

    chore: CICD - Skip pipeline unless it's develop, staging, master or a PR.
… IPs while creating a nodebalancer

Merge in FEE/cloud-manager from feature/UIE-10437-reserve-ip-from-nb-create-page to develop

Squashed commit of the following:

commit 3b18326b4cf2bc653dac307238f71c5e77063a0b
Author: Ganesh Revanakar <grevanak@akamai.com>
Date:   Fri Apr 17 17:02:06 2026 +0530

    Added changeset

commit 46fe0646945c623f578c955ddd08a57d40fc223a
Author: Ganesh Revanakar <grevanak@akamai.com>
Date:   Thu Apr 16 18:04:44 2026 +0530

    upcoming: [UIE-10437] - Allow allotment of reserved IPs while creating a nodebalancer
Copilot AI review requested due to automatic review settings April 20, 2026 10:52
@santoshp210-akamai
santoshp210-akamai requested a review from a team as a code owner April 20, 2026 10:52
@santoshp210-akamai santoshp210-akamai self-assigned this Apr 20, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR is a large sync that updates multiple packages across the monorepo, spanning CI/test configuration, feature-flagged UX changes (Linode passwordless flows, VPC DBaaS resource counting, Delivery route/status updates), and broader component/library migrations.

Changes:

  • Adds feature-flagged “passwordless” Linode create/rebuild/disk flows and related validation + error handling.
  • Expands Reserved IPs and VPC DBaaS resource support across queries, mocks, UI, and tests.
  • Improves test/CI stability (Vitest configs/timeouts) and updates several routes, UI components, and dependencies.

Reviewed changes

Copilot reviewed 251 out of 252 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
vitest.config.ts Sets global Vitest timeouts.
sonar-project.properties Adds SonarQube project config.
packages/validation/src/linodes.schema.ts Adjusts Linode/root_pass validation; adds schemas/fields.
packages/validation/src/delivery.schema.ts Extends stream status validation.
packages/validation/package.json Bumps tsup devDependency.
packages/validation/.changeset/pr-13559-tech-stories-1775480726426.md Changeset for tsup bump.
packages/validation/.changeset/pr-13516-changed-1775718949304.md Changeset for passwordless root_pass.
packages/ui/src/components/Drawer/Drawer.tsx Adds optional pendoId to close button.
packages/search/package.json Pins vite peerDependency range.
packages/queries/src/profile/preferences.ts Updates preferences mutation/cache handling.
packages/queries/src/networking/networking.ts Adds IP + reserved IP types queries/mutations.
packages/queries/src/images/sharegroups.ts Adds create sharegroup mutation + cache updates.
packages/queries/src/databases/databases.ts Makes refetch interval configurable.
packages/manager/vitest.config.ts Moves manager Vitest config out of Vite config.
packages/manager/vite.config.ts Removes embedded Vitest config from Vite config.
packages/manager/src/utilities/storage.ts Adds sessionStorage helpers; OAuth nonce/verifier stored in session.
packages/manager/src/utilities/linodes.ts Adds passwordless feature hook; extends plan type support.
packages/manager/src/utilities/linodes.test.ts Tests new passwordless feature hook.
packages/manager/src/utilities/analytics/utils.test.ts Increases test timeout for CI stability.
packages/manager/src/testSetup.ts Increases testing-library/MSW timeouts for CI.
packages/manager/src/store/selectors/getSearchEntities.ts Updates Delivery entity paths to /summary.
packages/manager/src/routes/images/index.ts Adds share-groups create route; adds image “view” action.
packages/manager/src/mocks/types.ts Adds Reserved IPs to mock state/types.
packages/manager/src/mocks/serverHandlers.ts Refactors mock DB list generation; adds VPC subnet comment.
packages/manager/src/mocks/presets/crud/seeds/utils.ts Adds reserved IP seed cleanup.
packages/manager/src/mocks/presets/crud/seeds/networking.ts Adds reserved IP seeder + factories usage.
packages/manager/src/mocks/presets/crud/seeds/index.ts Registers reserved IP seeder.
packages/manager/src/mocks/presets/crud/networking.ts Adds reserved IP CRUD preset/handlers.
packages/manager/src/mocks/presets/crud/handlers/networking.ts Implements reserved IP CRUD MSW handlers.
packages/manager/src/mocks/presets/baseline/crud.ts Adds networking/reserved IP handlers to baseline.
packages/manager/src/mocks/mockState.ts Adds reservedIPs to empty store.
packages/manager/src/features/components/PlansPanel/types.ts Adds DBaaS resize restriction flags to plan type.
packages/manager/src/features/components/PlansPanel/PlansPanel.tsx Wires new DBaaS resize restriction props.
packages/manager/src/features/components/PlansPanel/PlanSelection.tsx Disables plans based on new DBaaS resize restrictions.
packages/manager/src/features/components/PlansPanel/PlanSelection.test.tsx Fixes async assertion for dynamic pricing.
packages/manager/src/features/components/PlansPanel/PlanContainer.tsx Adjusts “no region selected” logic for DB flows.
packages/manager/src/features/VPCs/utils.ts Adds optional DB counting to unique resource count.
packages/manager/src/features/VPCs/utils.test.ts Adds DB counting coverage for VPC utilities.
packages/manager/src/features/VPCs/VPCLanding/VPCRow.tsx Counts DBaaS resources conditionally via flag.
packages/manager/src/features/VPCs/VPCLanding/VPCRow.test.tsx Updates VPCRow tests for new prop.
packages/manager/src/features/VPCs/VPCLanding/VPCLanding.tsx Wires vpcDbaasResources + nodebalancerVpc flags.
packages/manager/src/features/VPCs/VPCDetail/VPCSubnetsTable.tsx Adds DB resources count + DB table when expanded.
packages/manager/src/features/VPCs/VPCDetail/VPCSubnetsTable.test.tsx Adds coverage for expanded DB table + counts.
packages/manager/src/features/VPCs/VPCDetail/VPCDetail.tsx Updates resources summary count with DB flag.
packages/manager/src/features/VPCs/VPCDetail/VPCDetail.test.tsx Updates expected resource counts.
packages/manager/src/features/VPCs/VPCDetail/SubnetDatabasesTable.test.tsx Adds tests for new subnet DB table.
packages/manager/src/features/VPCs/VPCDetail/SubnetAssignLinodesDrawer.test.tsx Updates subnet fixture with databases field.
packages/manager/src/features/TopMenu/UserMenu/UserMenuPopover.tsx Switches IAM badge flag to iamNewBadge.
packages/manager/src/features/ReservedIps/constants.ts Adds Reserved IP docs/description constants.
packages/manager/src/features/ReservedIps/ReservedIpsLanding/UnreserveIPDialog.tsx Adds Unreserve confirmation dialog + mutation.
packages/manager/src/features/ReservedIps/ReservedIpsLanding/ReservedIpsLandingEmptyState.tsx Adds callback prop to open reserve drawer.
packages/manager/src/features/ReservedIps/ReservedIpsLanding/ReservedIpsActionMenu.tsx Adds action menu component for Reserved IPs.
packages/manager/src/features/ReservedIps/ReservedIpsLanding/ReservedIpsActionMenu.test.tsx Tests action menu interactions.
packages/manager/src/features/Profile/APITokens/CreateAPITokenDrawer.test.tsx Increases async test timeout.
packages/manager/src/features/Longview/LongviewLanding/LongviewPlans.test.tsx Increases wait timeout for CI.
packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateDiskDrawer.tsx Selects schema + cleans payload for passwordless disk create.
packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/ImageAndPassword.tsx Reorders/updates security UI for passwordless flag.
packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/ImageAndPassword.test.tsx Increases timeout for async error rendering.
packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/utils.ts Adds passwordless-aware rebuild schemas/resolver.
packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/SSHKeys.tsx Triggers root_pass validation when SSH keys change.
packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/Password.tsx Adds showErrorText option for password field.
packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/LinodeRebuildForm.tsx Reorders auth UI; transforms passwordless create errors.
packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/Image.tsx Updates ImageSelect props to single-selection API.
packages/manager/src/features/Linodes/LinodeEntityDetail.test.tsx Increases async test timeout.
packages/manager/src/features/Linodes/LinodeCreate/utilities.ts Adds passwordless payload cleanup + error transform.
packages/manager/src/features/Linodes/LinodeCreate/utilities.test.tsx Adds tests for passwordless payload cleanup.
packages/manager/src/features/Linodes/LinodeCreate/schemas.ts Adds schema wrappers for root_pass required/optional.
packages/manager/src/features/Linodes/LinodeCreate/resolvers.ts Switches schemas based on passwordless context flag.
packages/manager/src/features/Linodes/LinodeCreate/index.tsx Wires passwordless context + new Security module path.
packages/manager/src/features/Linodes/LinodeCreate/Tabs/OperatingSystems.tsx Triggers root_pass revalidation on image change.
packages/manager/src/features/Linodes/LinodeCreate/Tabs/Marketplace/AppSelect.test.tsx Increases wait timeout.
packages/manager/src/features/Linodes/LinodeCreate/Tabs/Images.tsx Updates ImageSelect props to single-selection API.
packages/manager/src/features/Linodes/LinodeCreate/Security/Security.tsx Splits password + SSH keys into components; reorders for passwordless.
packages/manager/src/features/Linodes/LinodeCreate/Security/Security.test.tsx Fixes type import path; increases timeout.
packages/manager/src/features/Linodes/LinodeCreate/Security/SSHKeys.tsx New SSH keys form component with passwordless revalidation.
packages/manager/src/features/Linodes/LinodeCreate/Security/Password.tsx New password input component w/ passwordless messaging.
packages/manager/src/features/Linodes/LinodeCreate/Firewall.test.tsx Increases wait timeout.
packages/manager/src/features/Kubernetes/kubeUtils.ts Fixes K8s version ordering and avoids downgrade suggestion.
packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeSummaryPanel.tsx Disables dashboard actions when URL missing.
packages/manager/src/features/Kubernetes/CreateCluster/HAControlPlane.tsx Updates HA copy uptime value.
packages/manager/src/features/Images/utils.ts Adds helper for image region label/country.
packages/manager/src/features/Images/utils.test.tsx Adds tests for image region helper.
packages/manager/src/features/Images/ImagesLanding/v2/constants.ts Adds Pendo IDs for share group create + view drawer.
packages/manager/src/features/Images/ImagesLanding/v2/ShareGroups/shareGroupsTabsConfig.tsx Adds column className + copy tweak.
packages/manager/src/features/Images/ImagesLanding/v2/ShareGroups/ShareGroupsCreate/ShareGroupsCreateLazyRoute.tsx Adds lazy route for share group create.
packages/manager/src/features/Images/ImagesLanding/v2/ShareGroups/ShareGroupsCreate/ShareGroupsCreateContainer.tsx Adds container header + layout for create page.
packages/manager/src/features/Images/ImagesLanding/v2/ShareGroups/ShareGroupTable.styles.ts Adds responsive column styling + action cell tweaks.
packages/manager/src/features/Images/ImagesLanding/v2/ShareGroups/ShareGroupRow.tsx Adds truncation + tooltips + className wiring.
packages/manager/src/features/Images/ImagesLanding/v2/ImageLibrary/ViewImageDrawer.styles.ts Adds styles for shared image view drawer.
packages/manager/src/features/Images/ImagesLanding/v2/ImageLibrary/ImageLibraryTabs.tsx Adds “view image details” drawer wiring.
packages/manager/src/features/Images/ImagesLanding/ImagesActionMenu.tsx Adds “View Image Details” action handler hook-up.
packages/manager/src/features/IAM/Users/UserDetailsLanding.tsx Swaps limited availability badge to new badge.
packages/manager/src/features/IAM/Users/UserDelegations/UserDelegationsTable.tsx Reuses generic “no items” empty message.
packages/manager/src/features/IAM/Shared/constants.ts Removes delegated-users-specific empty constant.
packages/manager/src/features/IAM/Roles/RolesTable/RolesTable.tsx Migrates CDS table/pagination imports + sort handler API.
packages/manager/src/features/IAM/Roles/Defaults/DefaultsLanding.tsx Swaps limited availability badge to new badge.
packages/manager/src/features/IAM/IAMLanding.tsx Removes LA badge UI; keeps new badge only.
packages/manager/src/features/Delivery/deliveryUtils.ts Adds metrics-enabled flag return.
packages/manager/src/features/Delivery/Streams/StreamsLanding.tsx Navigates to /summary instead of /edit.
packages/manager/src/features/Delivery/Streams/StreamsLanding.test.tsx Updates expected /summary navigation.
packages/manager/src/features/Delivery/Streams/StreamTableRow.tsx Adds new statuses + routes link to /summary.
packages/manager/src/features/Delivery/Streams/StreamForm/streamEditLazyRoute.ts Removes old /edit lazy route.
packages/manager/src/features/Delivery/Streams/StreamForm/StreamFormGeneralInfo.tsx Updates descriptive copy.
packages/manager/src/features/Delivery/Streams/StreamForm/StreamForm.tsx Blocks submit on more statuses; uses API error reason in snackbar.
packages/manager/src/features/Delivery/Streams/StreamForm/StreamEdit.tsx Updates route param source; removes embedded metrics/dashboard.
packages/manager/src/features/Delivery/Streams/StreamForm/StreamCreate.test.tsx Updates labels; stabilizes async assertions/timeouts.
packages/manager/src/features/Delivery/Streams/StreamForm/Delivery/StreamFormDelivery.tsx Adds tooltips + guards destination details rendering.
packages/manager/src/features/Delivery/Streams/StreamForm/Clusters/StreamFormClustersTableContent.tsx Renames column header text.
packages/manager/src/features/Delivery/Streams/StreamForm/Clusters/StreamFormClusters.tsx Updates copy, placeholders, and info notices.
packages/manager/src/features/Delivery/Streams/StreamForm/Clusters/StreamFormClusters.test.tsx Updates placeholder expectations.
packages/manager/src/features/Delivery/Streams/StreamActionMenu.tsx Disables activate/deactivate on new statuses; minor refactor.
packages/manager/src/features/Delivery/Streams/Stream/streamLandingLazyRoute.ts Adds stream landing lazy route.
packages/manager/src/features/Delivery/Streams/Stream/StreamMetrics.tsx Adds metrics dashboard view route component.
packages/manager/src/features/Delivery/Shared/types.ts Adds stream status options (deactivating/failed).
packages/manager/src/features/Delivery/Shared/PathSample.tsx Adjusts tooltip icon size prop.
packages/manager/src/features/Delivery/Shared/DestinationAkamaiObjectStorageDetailsForm.tsx Updates copy/tooltips/placeholders for destination form.
packages/manager/src/features/Delivery/Destinations/DestinationsLanding.tsx Navigates to /summary instead of /edit.
packages/manager/src/features/Delivery/Destinations/DestinationsLanding.test.tsx Updates expected /summary navigation.
packages/manager/src/features/Delivery/Destinations/DestinationTableRow.tsx Links destination name to /summary.
packages/manager/src/features/Delivery/Destinations/DestinationForm/destinationEditLazyRoute.ts Moves destination edit route to /summary.
packages/manager/src/features/Delivery/Destinations/DestinationForm/DestinationEdit.tsx Improves loading/error handling; updates title/breadcrumb path.
packages/manager/src/features/Delivery/Destinations/DestinationForm/DestinationEdit.test.tsx Updates copy expectations (“details manually”, “Save Changes”).
packages/manager/src/features/Delivery/Destinations/DestinationForm/DestinationCreate.tsx Uses API error reason in snackbar message.
packages/manager/src/features/Databases/utilities.ts Adds getIsLinkInactive helper for DB status.
packages/manager/src/features/Databases/shared.styles.ts Migrates TableCell import to new CDS package.
packages/manager/src/features/Databases/constants.ts Updates resize restriction copy constant name/text.
packages/manager/src/features/Databases/DatabaseLanding/DatabaseRow.tsx Uses getIsLinkInactive; migrates CDS imports.
packages/manager/src/features/Databases/DatabaseLanding/DatabaseLandingTable.tsx Migrates CDS table/pagination; updates sort handler prop.
packages/manager/src/features/Databases/DatabaseLanding/DatabaseLanding.tsx Passes polling interval explicitly to query hook.
packages/manager/src/features/Databases/DatabaseLanding/DatabaseLanding.test.tsx Increases wait timeout.
packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx Migrates Button import to new CDS package.
packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseCaCert.tsx Migrates Button import to new CDS package.
packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/MaintenanceWindow.tsx Migrates Button/Select imports to new CDS package.
packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsMenuItem.tsx Migrates Button import to new CDS package.
packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsMaintenance.tsx Migrates Button import to new CDS package.
packages/manager/src/features/Databases/DatabaseDetail/DatabaseResize/DatabaseResize.test.tsx Updates feature flag setup; removes obsolete test.
packages/manager/src/features/Databases/DatabaseDetail/DatabaseResize/DatabaseResize.style.ts Migrates Button import to new CDS package.
packages/manager/src/features/Databases/DatabaseDetail/DatabaseNetworking/DatabaseConnectionPools.tsx Migrates CDS table/pagination imports.
packages/manager/src/features/Databases/DatabaseDetail/DatabaseNetworking/DatabaseConnectionPoolRow.tsx Migrates TableCell/TableRow imports.
packages/manager/src/features/Databases/DatabaseDetail/DatabaseAdvancedConfiguration/DatabaseConfigurationItem.tsx Migrates Button import to new CDS package.
packages/manager/src/features/Databases/DatabaseDetail/DatabaseAdvancedConfiguration/DatabaseAdvancedConfigurationDrawer.tsx Migrates Button import to new CDS package.
packages/manager/src/features/Databases/DatabaseDetail/DatabaseAdvancedConfiguration/DatabaseAdvancedConfiguration.tsx Migrates Button import to new CDS package.
packages/manager/src/features/Databases/DatabaseDetail/AccessControls.tsx Migrates Button import to new CDS package.
packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx Disables premium tab conditionally; refactors plan utils usage.
packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.style.ts Migrates Button import to new CDS package.
packages/manager/src/features/CloudPulse/Alerts/EditAlert/EditAlertDefinition.test.tsx Increases test timeouts.
packages/manager/src/features/CloudPulse/Alerts/CreateAlert/CreateAlertDefinition.test.tsx Increases test timeouts.
packages/manager/src/features/Account/SwitchAccounts/ChildAccountsTable.tsx Migrates CDS table/pagination imports.
packages/manager/src/features/Account/Quotas/utils.test.tsx Improves QueryClient cleanup to avoid teardown hangs.
packages/manager/src/featureFlags.ts Adds/renames flags (passwordless, iamNewBadge, vpcDbaasResources, etc.).
packages/manager/src/factories/types.ts Adds reserved IP pricing type factory.
packages/manager/src/factories/subnets.ts Adds subnet assigned DB factory + subnet databases field.
packages/manager/src/factories/networking.ts Adds reserved IPs factory.
packages/manager/src/factories/databases.ts Adds failover members to DB factories.
packages/manager/src/dev-tools/FeatureFlagTool.tsx Adds new flags to dev tools UI.
packages/manager/src/components/TagsInput/TagsInput.tsx Adds optional label support.
packages/manager/src/components/Markdown/Markdown.test.tsx Replaces brittle snapshot with semantic assertions.
packages/manager/src/components/Markdown/snapshots/Markdown.test.tsx.snap Removes snapshot file.
packages/manager/src/components/LandingHeader/LandingHeader.tsx Adds pendoId prop and passes to Breadcrumb.
packages/manager/src/components/ImageSelect/constants.ts Adds Pendo IDs for share group create image select table.
packages/manager/src/components/Breadcrumb/Breadcrumb.tsx Adds pendoId + data-pendo-id attribute.
packages/manager/src/OAuth/oauth.ts Updates error messages for session storage.
packages/manager/src/OAuth/oauth.test.tsx Updates expectations for session storage behavior.
packages/manager/package.json Renames package, adds CDS deps, bumps axios/vite, adjusts test script.
packages/manager/cypress/support/ui/pages/logs-destination-form.ts Updates placeholder/label assertions.
packages/manager/cypress/support/constants/delivery.ts Adds delivery error message constants.
packages/manager/cypress/support/constants/databases.ts Adds DB configuration fixtures.
packages/manager/cypress/e2e/core/linodes/rebuild-linode.spec.ts Mocks privateImageSharing flag off.
packages/manager/cypress/e2e/core/images/smoke-create-image.spec.ts Mocks privateImageSharing flag off.
packages/manager/cypress/e2e/core/images/images-non-empty-landing-page.spec.ts Mocks privateImageSharing flag off.
packages/manager/cypress/e2e/core/images/images-empty-landing-page.spec.ts Mocks privateImageSharing flag off.
packages/manager/cypress/e2e/core/images/create-linode-from-image.spec.ts Mocks privateImageSharing flag off.
packages/manager/cypress/e2e/core/images/create-image.spec.ts Mocks privateImageSharing flag off.
packages/manager/cypress/e2e/core/delivery/streams-non-empty-landing-page.spec.ts Updates URL expectations to /summary.
packages/manager/cypress/e2e/core/delivery/edit-stream.spec.ts Updates edit URL + toast assertions.
packages/manager/cypress/e2e/core/delivery/edit-destination.spec.ts Updates destination URL expectations to /summary.
packages/manager/cypress/e2e/core/delivery/destinations-non-empty-landing-page.spec.ts Updates URL expectations to /summary.
packages/manager/cypress/e2e/core/delivery/create-stream.spec.ts Asserts API error reasons from responses.
packages/manager/cypress/e2e/core/delivery/create-destination.spec.ts Asserts API error reasons from responses.
packages/manager/cypress/e2e/core/databases/resize-database.spec.ts Adds feature flag mocking + refactor; moves imports.
packages/manager/cypress/e2e/core/account/restricted-user-details-pages.spec.ts Mocks privateImageSharing flag off.
packages/manager/.changeset/pr-62-upcoming-features-1776425273770.md Changeset: Reserve IP/NB create integration.
packages/manager/.changeset/pr-13577-upcoming-features-1776064521778.md Changeset: Reserved IP unreserve.
packages/manager/.changeset/pr-13574-fixed-1775805450095.md Changeset: destination tooltip icon positioning.
packages/manager/.changeset/pr-13573-upcoming-features-1775770343868.md Changeset: add databaseValkey flag.
packages/manager/.changeset/pr-13572-tests-1775773189306.md Changeset: image tests mock flag off.
packages/manager/.changeset/pr-13571-changed-1775819280655.md Changeset: IAM badge update + copy tweak.
packages/manager/.changeset/pr-13570-fixed-1776157063540.md Changeset: OAuth sessionStorage fix.
packages/manager/.changeset/pr-13568-upcoming-features-1775671959206.md Changeset: private image sharing rebuild dialog.
packages/manager/.changeset/pr-13567-upcoming-features-1775674749388.md Changeset: share group create select images table.
packages/manager/.changeset/pr-13562-fixed-1775692362893.md Changeset: LKE version upgrade logic.
packages/manager/.changeset/pr-13559-tech-stories-1775480790969.md Changeset: vite bump.
packages/manager/.changeset/pr-13558-upcoming-features-1775269042594.md Changeset: shared image view drawer.
packages/manager/.changeset/pr-13556-changed-1775141881220.md Changeset: delivery copy updates.
packages/manager/.changeset/pr-13554-upcoming-features-1775117165280.md Changeset: nav/alert new feature chip.
packages/manager/.changeset/pr-13552-changed-1775047281616.md Changeset: snackbars show API error reason.
packages/manager/.changeset/pr-13551-added-1774974854479.md Changeset: new stream statuses.
packages/manager/.changeset/pr-13550-upcoming-features-1774974481770.md Changeset: share group create skeleton.
packages/manager/.changeset/pr-13549-upcoming-features-1774976696073.md Changeset: reserved IPs landing page.
packages/manager/.changeset/pr-13547-fixed-1774943336443.md Changeset: preferences reliability.
packages/manager/.changeset/pr-13541-upcoming-features-1774844980662.md Changeset: reserve IP drawer.
packages/manager/.changeset/pr-13539-upcoming-features-1775850537076.md Changeset: DB generational plans changes.
packages/manager/.changeset/pr-13539-tests-1775850586793.md Changeset: mock DB resize flag in e2e.
packages/manager/.changeset/pr-13516-upcoming-features-1774344661328.md Changeset: passwordless Linodes.
packages/manager/.changeset/pr-13504-upcoming-features-1775679549160.md Changeset: VPC DBaaS resources UI.
packages/manager/.changeset/pr-13492-added-1773404986416.md Changeset: stream metrics tab.
packages/manager/.changeset/pr-13485-upcoming-features-1773779457837.md Changeset: LKE dashboard removal prep.
packages/api-v4/src/vpcs/types.ts Adds subnet databases typing.
packages/api-v4/src/networking/types.ts Reuses shared Entity type for assigned_entity.
packages/api-v4/src/networking/networking.ts Uses beta API root for reserved IP types endpoint.
packages/api-v4/src/linodes/types.ts Adds boot_size and kernel to create request type.
packages/api-v4/src/delivery/types.ts Adds stream statuses (deactivating/failed).
packages/api-v4/package.json Bumps axios/tsup versions.
packages/api-v4/.changeset/pr-13559-tech-stories-1775480693116.md Changeset: tsup bump.
packages/api-v4/.changeset/pr-13504-added-1775602581034.md Changeset: subnet databases type addition.
acc/publish.mjs Adds publish script for manager package.

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

Comment on lines +25 to +27
const { data: stream, isLoading: isLoadingStream } = useStreamQuery(
Number(streamId)
);

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

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

useStreamQuery errors are no longer handled here. If fetching the stream fails, isLoadingStream will be false and the form will still render with default values, allowing an "edit" submit without the existing stream data. Capture error from useStreamQuery and render an error state / block rendering the form when it’s present (similar to how destination errors are handled).

Copilot uses AI. Check for mistakes.
Comment on lines +134 to +140
if (isPasswordLessLinodesEnabled) {
if (!values.root_pass) {
values.root_pass = undefined;
}
if (values.authorized_keys?.length === 0) {
values.authorized_users = undefined;
}

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

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

In the passwordless block, the empty-array check is for authorized_keys, but the code clears authorized_users. This leaves authorized_keys: [] in the payload and may accidentally drop authorized_users instead. Clear the matching field(s) (e.g., set authorized_keys to undefined when empty, and consider also clearing authorized_users when empty).

Copilot uses AI. Check for mistakes.
Comment on lines +106 to +123
it('should remove the root_pass and authorized_keys properties when passwordLessLinodes is enabled and no root password or SSH keys are provided', () => {
const values = {
...createLinodeRequestFactory.build({
root_pass: '',
authorized_keys: [],
}),
} as LinodeCreateFormValues;

expect(
getLinodeCreatePayload(values, {
isShowingNewNetworkingUI: false,
isPasswordLessLinodesEnabled: true,
})
).toEqual({
...values,
root_pass: undefined,
authorized_users: undefined,
});

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

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

This test claims authorized_keys should be removed when empty, but the expectation checks authorized_users: undefined instead. Once the payload cleanup logic is corrected, update this assertion to match the intended behavior (and add coverage for empty authorized_users separately if needed).

Copilot uses AI. Check for mistakes.
Comment on lines +70 to +76
(oldData) => {
if (replace) {
return { ...newData };
}
if (!isPreferencesMergeBase(oldData)) {
return oldData;
}

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

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

updatePreferenceData currently returns oldData unchanged when the cache is empty/undefined (i.e. not a mergeable object). That prevents optimistic updates from applying on the first mutation. Consider defaulting to {} (or newData) when oldData is undefined/null so partial updates still write into the cache.

Copilot uses AI. Check for mistakes.
Comment on lines +53 to +56
...networkingCrudPreset.handlers,
...nodeBalancerCrudPreset.handlers,
...networkingCrudPreset.handlers,
...reservedIPsCrudPreset.handlers,

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

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

networkingCrudPreset.handlers is included twice in the baselineCrudPreset handlers array, which will register duplicate MSW handlers (and can make request resolution order unpredictable). Remove the duplicate spread.

Copilot uses AI. Check for mistakes.
Comment thread sonar-project.properties
@@ -0,0 +1,12 @@
# must be unique in a given SonarQube instance
sonar.projectKey=fee:cloud-maanager

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

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

sonar.projectKey appears to have a typo (cloud-maanager). If this is unintended, it will create/target a different SonarQube project key than expected. Update the key to the correct spelling before relying on this config.

Copilot uses AI. Check for mistakes.
"@linode/validation": Changed
---

Make root_pass optional to support passworless linode creation, rebuild and disk creation ([#13516](https://github.com/linode/manager/pull/13516))

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

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

Typo in the changeset description: "passworless" should be "passwordless".

Copilot uses AI. Check for mistakes.
Comment on lines +22 to +24
const TABLE_CELL_BASE_STYLES: React.CSSProperties = {
boxSizing: 'border-box',
};

Copilot AI Apr 20, 2026

Copy link

Choose a reason for hiding this comment

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

React.CSSProperties is used for TABLE_CELL_BASE_STYLES, but this file doesn’t import React (or CSSProperties) anywhere. This will fail type-checking in TS. Import the needed type (e.g., import type { CSSProperties } from 'react') and use that type instead of the React namespace.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.