Skip to content

Release v1.146.0 - release → staging#12493

Merged
coliu-akamai merged 140 commits intostagingfrom
release-v1.146.0
Jul 10, 2025
Merged

Release v1.146.0 - release → staging#12493
coliu-akamai merged 140 commits intostagingfrom
release-v1.146.0

Conversation

@coliu-akamai
Copy link
Contributor

@coliu-akamai coliu-akamai commented Jul 9, 2025

Cloud Manager - [2025-07-15] - v1.146.0

Added:

  • Unsaved Changes modal for Legacy Alerts on Linode Details page (#12385)
  • 'New' Badge to APL section of Create Cluster flow (#12461)

Changed:

  • Replace the button component under DBAAS with Akamai CDS button web component (#12148)
  • TooltipIcon help to info icon (#12348)
  • Improve VLANSelect component behavior when creating a new VLAN (#12380)
  • Alerts banner text in Legacy and Beta modes to match latest UX mocks (#12419)
  • Update Linode and NodeBalancer create summary text (#12455)
  • Use Paper in create page sidebars (#12463)
  • Alerts subheading text in Legacy and Beta modes to match latest UX mocks (#12465)

Fixed:

  • Console error in Create NodeBalancer page and columns misalignment in Subnet NodeBalancers Table (#12428)
  • Disable kubeconfig and upgrade options for users with read-only access (#12430)
  • TOD payload script encoding error (#12434)
  • Upgrade cluster version modal for LKE-E (#12443)
  • Newly created VLANs not showing up in the VLAN select after creation when using Linode Interfaces (#12448)
  • Extra background on code block copy icon (#12456)
  • Unexpected Linode Create deep link behavior (#12457)
  • Unsaved changes modal for upload image feature (#12459)
  • APL header bolding in Create Cluster flow and GA code clean up (#12461)
  • ACLP-Alerting: added fallback to the AlertsResources and DisplayAlertResources components (#12467)
  • ACLP-Alerting: spacing instead of using sx: gap for DimensionFilter, add flexWrap, remove unnecessary Box spacing in Metric (#12475)
  • Region select missing selected icon (#12481)

Removed:

  • Move EntityTransfers queries and dependencies to shared queries package (#12406)
  • Move Databases queries and dependencies to shared queries package (#12426)
  • Move Status Page queries and dependencies to shared queries package (#12468)

Tech Stories:

  • Reroute Linodes (#12363)
  • Clean up authentication code post PKCE and decoupling of Redux (#12405)
  • Use REACT_APP_ENVIRONMENT_NAME to set the Sentry environment (#12450)
  • Clean up getLinodeXFilter function (#12452)
  • Enhance devtools to support aclpBetaServices nested feature flags (#12478)
  • Improve contribution guidelines related to CI checks (#12480)
  • Clean up unused mock data and constants (#12482)
  • Update usePagination hook to use TanStack router instead of react router (#12424)

Tests:

  • Add smoke tests for when aclpIntegration is disabled given varying user preferences (#12310)
  • Clean up VPC unit tests and mock queries over relying on server handlers (#12429)
  • Add Host Maintenance Policy account settings Cypress tests (#12433)
  • Block analytics requests in Cypress tests by default (#12438)
  • Add integration test to confirm manually assigning a VPC IPv4 when assigning a Linode to subnet (#12445)

Upcoming Features:

  • Add region filtering for VLANSelect in AddInterface form (#12380)
  • Add scope column, handle bulk alert enablement in AlertInformationActionTable.tsx, add new alerts mutation query in alerts.tsx (#12393)
  • CloudPulse: Add new port filter config in FilterConfig.ts, add new component CloudPulsePortFilter.tsx, update utilities in utils.ts (#12401)
  • Show when public IPs are unreachable more accurately for Linode Interfaces (#12408)
  • Add support for nodebalancerIpv6 feature flag for NodeBalancer Dual Stack Support (#12420)
  • DataStream: add Destinations empty state and Create Destination views (#12422)
  • Add CloudPulseModifyAlertRegions, AlertRegions and DisplayAlertRegions component, add getSupportedRegions function in alert utils.ts file, add regions key in CreateAlertDefinitionForm (#12435)
  • Add alerts object to View Code Snippets for beta Alerts opt-in users in Create Linode flow (#12446)
  • Implement the new RBAC permission hook in Linodes configuration tab (#12447)
  • Updating Stream Summary on form values change (#12451)
  • Implement the new RBAC permission hook in Linode Network tab (#12458)
  • Add "New" badge for VM Host Maintenance; Fix maintenance table loading state; Fix maintenance policy responsive behavior for Linode Create (#12460)
  • CloudPulse: Add filters for new service - nodebalancer at FilterConfig.ts in metrics (#12464)
  • ACLP-Alerting: using latest /services api data to fetch the evaluation period and polling interval time options (#12466)
  • Add notice when changing policies for scheduled maintenances for VM Host Maintenance (#12472)
  • Implement the new RBAC permission hook in Linodes alerts and settings tabs (#12476)
  • Update legacy/beta toggle behavior for Metrics, Alerts and Banners (#12479)
  • Implement the new RBAC permission hook in Linodes storage tab (#12484)
  • Implement the new RBAC permission hook in Linodes Landing Page (#12485)

APIv4 - [2025-07-15] - v0.144.0

Changed:

  • ACLP:Alerting - fixed the typo from evaluation_periods_seconds to evaluation_period_seconds (#12466)

Fixed:

  • Unnecessary 404 errors when components attempt to fetch deleted resources (#12474)

Upcoming Features:

  • CloudPulse: Update types in alerts.ts and types.ts; Linode: Update type in types.ts (#12393)
  • CloudPulse: Update service type in types.ts (#12401)
  • Add regions in Alert interface in types.ts file for cloudpulse (#12435)

UI - [2025-07-15] - v0.16.0

Added:

  • Add null as type option for headingChip (#12460)

Changed:

  • TooltipIcon CDS standardization (#12348)
  • Add timeZoneProps to control timeZone dropdown in DateTimeRangePicker.tsx (#12423)
  • Require selected prop in ListItemOptionProps type (#12481)

Queries - [2025-07-15] - v0.9.0

Added:

  • entitytransfers/ directory and migrated relevant query keys and hooks (#12406)
  • Added databases/ directory and migrated relevant query keys and hooks (#12426)
  • statusPage/ directory and migrated relevant query keys and hooks (#12468)

Validation - [2025-07-15] - v0.70.0

Upcoming Features:

  • Update validation schemas for the changes in endpoints /v4/nodebalancers & /v4/nodebalancers/configs/{configId}/nodes for NB Dual Stack Support (#12421)
  • Add regions in createAlertDefinitionSchema and editAlertDefinitionSchema (#12435)

Shared - [2025-07-15] - v0.5.0

Upcoming Features:

  • Add useIsLinodeAclpSubscribed hook and unit tests (#12479)

@coliu-akamai coliu-akamai requested review from a team as code owners July 9, 2025 21:12
@coliu-akamai coliu-akamai requested review from bill-akamai, dmcintyr-akamai and mjac0bs and removed request for a team July 9, 2025 21:12
bill-akamai
bill-akamai previously approved these changes Jul 9, 2025
mjac0bs
mjac0bs previously approved these changes Jul 9, 2025
Copy link
Contributor

@mjac0bs mjac0bs left a comment

Choose a reason for hiding this comment

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

There's just one changeset who appears to be in the wrong spot, but otherwise the changes, version bumps, and changelogs look good.

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Jul 9, 2025
@coliu-akamai
Copy link
Contributor Author

ahh I forgot new commits here dismiss old reviews - will need some reapprovals 🙏


const authorizeUrl = await generateOAuthAuthorizeEndpoint(returnTo);

window.location.assign(authorizeUrl);

Check failure

Code scanning / CodeQL

DOM text reinterpreted as HTML High

DOM text
is reinterpreted as HTML without escaping meta-characters.
DOM text is reinterpreted as HTML without escaping meta-characters.

Copilot Autofix

AI 8 months ago

To fix the issue, we need to ensure that the authorizeUrl is properly sanitized before being used in window.location.assign. This can be achieved by encoding the entire URL using a safe method, such as encodeURI, to prevent any malicious input from being interpreted as executable code.

Steps to fix:

  1. Use encodeURI to encode the authorizeUrl before passing it to window.location.assign.
  2. Ensure that all components of the URL, including the query parameters, are properly escaped to prevent injection attacks.

Required changes:

  • Modify the redirectToLogin function in packages/manager/src/OAuth/oauth.ts to encode the authorizeUrl using encodeURI.

Suggested changeset 1
packages/manager/src/OAuth/oauth.ts

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/packages/manager/src/OAuth/oauth.ts b/packages/manager/src/OAuth/oauth.ts
--- a/packages/manager/src/OAuth/oauth.ts
+++ b/packages/manager/src/OAuth/oauth.ts
@@ -178,3 +178,3 @@
 
-  window.location.assign(authorizeUrl);
+  window.location.assign(encodeURI(authorizeUrl));
 }
EOF
@@ -178,3 +178,3 @@

window.location.assign(authorizeUrl);
window.location.assign(encodeURI(authorizeUrl));
}
Copilot is powered by AI and may make mistakes. Always verify output.
Copy link
Contributor

Choose a reason for hiding this comment

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

@bnussman-akamai Dismissible as well, trusting generateOAuthAuthorizeEndpoint to return a sanitized URL?

Copy link
Member

Choose a reason for hiding this comment

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

I think so. generateOAuthAuthorizeEndpoint does return a properly encoded URL so I feel okay dismissing

@cliu-akamai cliu-akamai self-requested a review July 10, 2025 13:23
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 2 failing tests on test run #2 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
2 Failing674 Passing4 Skipped134m 9s

Details

Failing Tests
SpecTest
account-maintenance.spec.tsCloud Manager Cypress Tests→Maintenance » Maintenance
account-maintenance.spec.tsCloud Manager Cypress Tests→Maintenance » Maintenance

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/account/account-maintenance.spec.ts"

Copy link
Contributor

@mjac0bs mjac0bs left a comment

Choose a reason for hiding this comment

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

Thanks for the changeset fix, @coliu-akamai

Copy link
Contributor

@cliu-akamai cliu-akamai left a comment

Choose a reason for hiding this comment

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

The test failure is due to the new Host & VM Maintenance feature flag. A fix PR is ready: #12499

@coliu-akamai coliu-akamai merged commit d88ec86 into staging Jul 10, 2025
38 of 39 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Jul 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Release → Staging Pre-Release: Release → Staging

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.