Skip to content

upcoming: [UIE-9410] - Create Share Group: Implement the Images select table#13567

Open
fabrice-akamai wants to merge 16 commits intolinode:developfrom
fabrice-akamai:UIE-9410-images-select-table
Open

upcoming: [UIE-9410] - Create Share Group: Implement the Images select table#13567
fabrice-akamai wants to merge 16 commits intolinode:developfrom
fabrice-akamai:UIE-9410-images-select-table

Conversation

@fabrice-akamai
Copy link
Copy Markdown
Contributor

@fabrice-akamai fabrice-akamai commented Apr 8, 2026

Description 📝

This PR adds the Images table to the Create Share Group page, enabling unrestricted users to select the images to include in a new share group.

Changes 🔄

List any change(s) relevant to the reviewer.

  • Added the ImageSelectTable to the create share group page
  • Modified the ImageSelectTable and ImageSelectRow to allow hybrid selection mode
  • Added pendo support for imageSelectTable

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 📷

Screen.Recording.2026-04-08.at.1.28.31.PM.mov

How to test 🧪

Prerequisites

(How to setup test environment)

  • Switch to DevCloud in the dev tools in order to test the share groups API
  • Enable the Private Image Sharing feature flag

Verification steps

(How to verify changes)

  • Navigate to Images -> Share groups tab -> Create Share Group
  • Fill the label and optionally the description
  • Select one or more images to include in the share group
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 self-assigned this Apr 8, 2026
@fabrice-akamai fabrice-akamai added the Private Image Sharing Related to Private Image Sharing feature label Apr 8, 2026
@fabrice-akamai fabrice-akamai changed the title [upcoming] UIE-9410: Create Share Group - Implement the Images select table upcoming: [UIE-9410] - Create Share Group: Implement the Images select table Apr 8, 2026
@fabrice-akamai fabrice-akamai marked this pull request as ready for review April 8, 2026 18:12
@fabrice-akamai fabrice-akamai requested a review from a team as a code owner April 8, 2026 18:12
shareGroupInfoIcon: 'Linodes Rebuild Images-Share Group info icon',
};

export const IMAGE_SELECT_TABLE_SHARE_GROUP_CREATE_PENDO_IDS = {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Pendo Ids based on the Figma mockup

Copy link
Copy Markdown
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.

The Create Share Group API requires each image in the payload to have a non-empty description, otherwise it returns a 400 Error code.

Per the API spec, shouldn't that field be optional? If the API isn't treating it as such, we should check with them to see if the spec is inaccurate or if it's an API bug

@fabrice-akamai

This comment was marked as resolved.

@linode-gh-bot
Copy link
Copy Markdown
Collaborator

Cloud Manager UI test results

🔺 1 failing test on test run #7 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
1 Failing901 Passing11 Skipped38m 46s

Details

Failing Tests
SpecTest
object-storage.e2e.spec.tsCloud Manager Cypress Tests→object storage end-to-end tests » can update bucket access

Troubleshooting

Use this command to re-run the failing tests:

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

Copy link
Copy Markdown
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 ✅
Code review ✅

Approved pending Pendo-related tweaks

Comment on lines +4 to +7
landingHeader: 'Share Groups Create Images-Landing Header',
label: 'Share Groups Create Images-Label',
description: 'Share Groups Create Images-Description',
createButton: 'Share Groups Create Images-Create Button',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We usually approximately match the breadcrumb structure, so something like Images Share Groups Create–{etc etc.} seems more accurate.

<>
<DocumentTitleSegment segment="Create a Share Group" />
<LandingHeader
data-pendo-id={CREATE_SHARE_GROUP_PENDO_IDS.landingHeader}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Does passing this to LandingHeader achieve the desired effect? I don't see it when I inspect.

I think you would have to add a pendoId prop to LandingHeader and pass that down to <DocsLink /> in the component (see the analyticsLabel prop)

Image

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: Review

Development

Successfully merging this pull request may close these issues.

3 participants