Skip to content

upcoming: [UIE 9401] – Implement Share Groups Landing page tabs#13471

Merged
fabrice-akamai merged 16 commits intolinode:developfrom
fabrice-akamai:UIE-9401
Mar 10, 2026
Merged

upcoming: [UIE 9401] – Implement Share Groups Landing page tabs#13471
fabrice-akamai merged 16 commits intolinode:developfrom
fabrice-akamai:UIE-9401

Conversation

@fabrice-akamai
Copy link
Contributor

@fabrice-akamai fabrice-akamai commented Mar 5, 2026

Description 📝

This PR implements the Share Groups Landing page and its corresponding subtabs:

  • Owned groups
  • Joined groups
  • My membership requests.

This feature builds upon the existing work on the Image Library tabs and lays the groundwork for the Share groups implementation under the isPrivateImageSharingEnable feature flag.

Changes 🔄

List any change(s) relevant to the reviewer.

  • Added ShareGroupsTabs.tsx and ShareGroupsTabsConfig.tsx
  • Updated the share groups route and index route
  • Updated getImageLibrarySubTabIndex to be more generic so the Share Groups tab can reuse the same logic
  • Added unit test for ShareGroupsTabs.tsx

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 📷

Before After
Screenshot 2026-03-05 at 3 44 45 PM Screenshot 2026-03-05 at 3 43 47 PM

How to test 🧪

Prerequisites

(How to setup test environment)

  • Make sure the isPrivateImageSharingEnabled is enabled for testing the feature under the new Images page

Reproduction steps

Verification steps

(How to verify changes)

  • Navigate to localhost:3000/images/
  • Click on the Share Groups tab
  • Click each of the sub-tabs and make sure they all render the coming soon notice
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

@fabrice-akamai fabrice-akamai marked this pull request as ready for review March 5, 2026 21:48
@fabrice-akamai fabrice-akamai requested a review from a team as a code owner March 5, 2026 21:48
@pmakode-akamai pmakode-akamai added the Private Image Sharing Related to Private Image Sharing feature label Mar 9, 2026
Copy link
Contributor

@pmakode-akamai pmakode-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 @fabrice-akamai! This looks good to me 👍 Could we also add a Upcoming Features changeset for this PR?

Membership Requests is coming soon...
</Notice>
)}
</SafeTabPanel>
Copy link
Contributor

Choose a reason for hiding this comment

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

Why are we not using routed tabs here? See other examples with lazy routes + Outlet

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do we also need the Outlet placeholder here? I saw that it was implemented by the parent component ImagesLandingV2, but looking at the corresponding ImageLibraryTabs, I noticed that the SafeTabPanels are rendered directly in the file without using Outlet. Can you confirm if I need to add it to both files?

Copy link
Contributor

Choose a reason for hiding this comment

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

Ideally yes, since the use of SafeTabPanels should be deprecated (need to do a PR for that). This could however be a follow up if you'd like to keep the PR's scope narrower

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure, I can create a follow-up ticket to replace the use of SafeTabPanels so we can merge this PR if it's non-blocking.

Copy link
Contributor

@dwiley-akamai dwiley-akamai left a comment

Choose a reason for hiding this comment

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

Verification steps & tab functionality ✅

Will do another pass of the PR once the routed tabs have been implemented

@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 4 failing tests on test run #7 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
4 Failing868 Passing11 Skipped38m 12s

Details

Failing Tests
SpecTest
account-switching.spec.tsCloud Manager Cypress Tests→Parent/Child account switching→From Parent to Child » can search child accounts
account-switching.spec.tsCloud Manager Cypress Tests→Parent/Child account switching→From Child to Parent » can switch from Proxy user back to Parent account user from Billing page
account-switching.spec.tsCloud Manager Cypress Tests→Parent/Child account switching→From Child to Child » can switch to another Child account as a Proxy user
object-storage.e2e.spec.tsCloud Manager Cypress Tests→object storage end-to-end tests » can create and delete object storage buckets

Troubleshooting

Use this command to re-run the failing tests:

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

Copy link
Contributor

@dwiley-akamai dwiley-akamai left a comment

Choose a reason for hiding this comment

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

Approving as the routed tabs will be implemented in a follow-up PR.

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Mar 10, 2026
fabrice-akamai and others added 2 commits March 10, 2026 13:16
…243886.md

Co-authored-by: Dajahi Wiley <114682940+dwiley-akamai@users.noreply.github.com>
@fabrice-akamai fabrice-akamai merged commit e12261f into linode:develop Mar 10, 2026
34 of 35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Mar 10, 2026
@fabrice-akamai fabrice-akamai deleted the UIE-9401 branch March 10, 2026 18:07
harsh-akamai pushed a commit to harsh-akamai/manager that referenced this pull request Mar 17, 2026
…de#13471)

* Added missing padding around the Managed dashboard card

* changed spacing to spacingFunction

* Implement share groups landing page tabs

* Update image subtab interface

* Fix image utils test case

* Update packages/manager/src/features/Images/utils.test.tsx

Co-authored-by: Purvesh Makode <pmakode@akamai.com>

* Added changeset: Add share groups tabs

* Update file name and consolidate imports

* Rename file for consistency

* Update packages/manager/.changeset/pr-13471-upcoming-features-1773085243886.md

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

---------

Co-authored-by: Purvesh Makode <pmakode@akamai.com>
Co-authored-by: Dajahi Wiley <114682940+dwiley-akamai@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Private Image Sharing Related to Private Image Sharing feature

Projects

Status: Merged

Development

Successfully merging this pull request may close these issues.

5 participants