Sync apr20 - #660
Conversation
…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
…e dialog with privateImageSharing flag on & off (linode#13568)
Add `databaseValkey` feature flag
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>
…ts were failing due to timeout
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
There was a problem hiding this comment.
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.
| const { data: stream, isLoading: isLoadingStream } = useStreamQuery( | ||
| Number(streamId) | ||
| ); |
There was a problem hiding this comment.
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).
| if (isPasswordLessLinodesEnabled) { | ||
| if (!values.root_pass) { | ||
| values.root_pass = undefined; | ||
| } | ||
| if (values.authorized_keys?.length === 0) { | ||
| values.authorized_users = undefined; | ||
| } |
There was a problem hiding this comment.
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).
| 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, | ||
| }); |
There was a problem hiding this comment.
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).
| (oldData) => { | ||
| if (replace) { | ||
| return { ...newData }; | ||
| } | ||
| if (!isPreferencesMergeBase(oldData)) { | ||
| return oldData; | ||
| } |
There was a problem hiding this comment.
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.
| ...networkingCrudPreset.handlers, | ||
| ...nodeBalancerCrudPreset.handlers, | ||
| ...networkingCrudPreset.handlers, | ||
| ...reservedIPsCrudPreset.handlers, |
There was a problem hiding this comment.
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.
| @@ -0,0 +1,12 @@ | |||
| # must be unique in a given SonarQube instance | |||
| sonar.projectKey=fee:cloud-maanager | |||
There was a problem hiding this comment.
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.
| "@linode/validation": Changed | ||
| --- | ||
|
|
||
| Make root_pass optional to support passworless linode creation, rebuild and disk creation ([#13516](https://github.com/linode/manager/pull/13516)) |
There was a problem hiding this comment.
Typo in the changeset description: "passworless" should be "passwordless".
| const TABLE_CELL_BASE_STYLES: React.CSSProperties = { | ||
| boxSizing: 'border-box', | ||
| }; |
There was a problem hiding this comment.
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.
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:
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.
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
As an Author, before moving this PR from Draft to Open, I confirmed ✅