Skip to content

Conversation

@harsh-akamai
Copy link
Contributor

@harsh-akamai harsh-akamai commented Dec 23, 2025

Description 📝

This PR implements the feature flag for the Marketplace feature and implements the routes for it.

Changes 🔄

List any change(s) relevant to the reviewer.

  • Support the Marketplace Feature flag
  • Make name changes to the PrimaryNav according to the UX mockups
  • Implement new routes for Marketplace

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

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.

Flag Disabled Flag Enabled
image image

How to test 🧪

Verification steps

  • Confirm a toggle for "Marketplace" is present in our dev tool
  • Verify that you are able to see the "Quick Deploy Apps" and "Partner Referrals" feature in the Side Nav when the flag is enabled
Author Checklists

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

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


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

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

  • All tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@harsh-akamai harsh-akamai marked this pull request as ready for review January 5, 2026 04:56
@harsh-akamai harsh-akamai requested a review from a team as a code owner January 5, 2026 04:56
display: 'Marketplace',
display: !isMarketplaceFeatureEnabled
? 'Marketplace'
: 'Quick Deploy Apps',
Copy link
Contributor

Choose a reason for hiding this comment

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

I would strongly recommend revisiting your naming conventions. You're "enabling marketplace", which essentially is removing marketplace. This is the kind of semantic logic pitfall that leads to bad DX and bugs down the line. Not sure if you had semantic requirements for your tickets, but if so I'd advise to correct the course before moving further. At the very least, if you can't change your flag (which i think you still should do), make sure your logic utilities reference quickDeployApps, not an existing Cloud Manager naming convention. (maybe "cloudMarketplace", marketplaceV2, but anything more explicit then marketplace whcih is already the feature name will go a long way).

It also is the opposite of the account capability you're introducing VS the legacy capability..

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You're right. Thanks for pointing this out. I've renamed the flag to marketplaceV2 now


interface Marketplace extends BetaFeatureFlag {
ga: boolean;
la: boolean;
Copy link
Contributor

Choose a reason for hiding this comment

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

isn't la === false the same as ga?

@github-project-automation github-project-automation bot moved this from Review to Changes Requested in Cloud Manager Jan 5, 2026
Copy link
Contributor

@abailly-akamai abailly-akamai left a comment

Choose a reason for hiding this comment

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

Thanks for the changes @harsh-akamai - approving pending one small remaining change


const { isNetworkLoadBalancerEnabled } = useIsNetworkLoadBalancerEnabled();

const { isMarketplaceFeatureEnabled } = useIsMarketplaceV2Enabled();
Copy link
Contributor

Choose a reason for hiding this comment

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

can we also change this const to isMarketplaceV2FeatureEnabled?


const { isPlacementGroupsEnabled } = useIsPlacementGroupsEnabled();
const { isDatabasesEnabled } = useIsDatabasesEnabled();
const { isMarketplaceFeatureEnabled } = useIsMarketplaceV2Enabled();
Copy link
Contributor

Choose a reason for hiding this comment

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

let's use isMarketplaceV2FeatureEnabled here as well


if (!flags) {
return {
isMarketplaceFeatureEnabled: false,
Copy link
Contributor

Choose a reason for hiding this comment

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

same let's use isMarketplaceV2FeatureEnabled here


const { isDatabasesEnabled } = useIsDatabasesEnabled();
const { isPlacementGroupsEnabled } = useIsPlacementGroupsEnabled();
const { isMarketplaceFeatureEnabled } = useIsMarketplaceV2Enabled();
Copy link
Contributor

Choose a reason for hiding this comment

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

isMarketplaceV2FeatureEnabled

import { useIsMarketplaceV2Enabled } from 'src/features/Marketplace/utils';

export const MarketplaceRoute = () => {
const { isMarketplaceFeatureEnabled } = useIsMarketplaceV2Enabled();
Copy link
Contributor

Choose a reason for hiding this comment

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

isMarketplaceV2FeatureEnabled

to: '/linodes/create/marketplace',
},
{
attr: { 'data-qa-one-click-nav-btn': true },
Copy link
Contributor

Choose a reason for hiding this comment

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

Need to add pendo ids also:
[data-pendo-id:"menu-item-Cloud Marketplace"]

Copy link
Contributor Author

@harsh-akamai harsh-akamai Jan 6, 2026

Choose a reason for hiding this comment

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

Added in 148766a

@github-project-automation github-project-automation bot moved this from Changes Requested to Approved in Cloud Manager Jan 6, 2026
@tvijay-akamai
Copy link
Contributor

@harsh-akamai Thanks for your work here. Looks good.

@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 1 failing test on test run #9 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
1 Failing869 Passing11 Skipped38m 25s

Details

Failing Tests
SpecTest
timerange-verification.spec.tsCloud Manager Cypress Tests→Integration tests for verifying Cloudpulse custom and preset configurations » should implement and validate custom date/time picker for a specific date and time range

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/cloudpulse/timerange-verification.spec.ts"

@harsh-akamai harsh-akamai merged commit 5d1d250 into linode:develop Jan 6, 2026
34 of 35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Merged

Development

Successfully merging this pull request may close these issues.

4 participants