Skip to content

fix: [UIE-9111] - DBaaS - Database landing page shows error state after plans column is sorted. - #12729

Merged
smans-akamai merged 3 commits into
linode:developfrom
smans-akamai:UIE-9111-dbaas-landing-sort-crashing-fix
Aug 20, 2025
Merged

smans-akamai merged 3 commits into
linode:developfrom
smans-akamai:UIE-9111-dbaas-landing-sort-crashing-fix

Conversation

@smans-akamai

@smans-akamai smans-akamai commented Aug 19, 2025

Copy link
Copy Markdown
Contributor

Description 📝

This pull request fixes in issue in the DBaaS Landing page where the error state is displayed shortly after "Plan" column is sorted.

Changes 🔄

List any change(s) relevant to the reviewer.

  • Sort Cell for "Plan" column has been updated to provide type which changes what we provide to orderBy for X-Filter in the database instances request and should work with both variations of the call (new and legacy)
  • The text displayed for this column header will continue to be "Plan". This is only an update to what what we provide to the backend call for the database list.

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 🗓️

8/26/2025

Preview 📷

Before After
legacy-databases-call-fails-after-plan-sort legacy-and-new-dataabase-cluster-calls-successful

How to test 🧪

Prerequisites

(How to setup test environment)

  • This has to be tested in an environment with the actual backend calls
  • Have access to the Databases tab and landing page
  • Have 1 more databases created so you can view the table

Reproduction steps

(How to reproduce the issue, if applicable)

Note: You can differentiate between the legacy and new database instances calls via the platform field in X-Filter.

  • ie. rdbms-legacy vs rdbms-default
  • Access the Databases tab to view the landing page
  • In the table, click the "Plan" column header cell to sort it, then wait until the legacy call for databases is made (See Screenshots)
  • See that the database instances call fails with a bad request and check X-Filter to see that "orderBy": "plan" is provided.
  • See that the error state for the table is displayed with the message Could not apply filter

Verification steps

(How to verify changes)

  • Access the Databases tab to view the landing page
  • In the table, click the "Plan" column header cell to sort it, then wait until the legacy call is made.
  • View the calls and verify that X-Filter has "orderBy": "type" provided
  • Verify that both variations of the call (new and legacy) are successful and you don't see the error state display.
  • Verify that "Plan" is still shown as the text in the column header
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

@smans-akamai
smans-akamai marked this pull request as ready for review August 19, 2025 20:29
@smans-akamai
smans-akamai requested a review from a team as a code owner August 19, 2025 20:29
@smans-akamai
smans-akamai requested review from corya-akamai, hasyed-akamai and mjac0bs and removed request for a team August 19, 2025 20:29
@smans-akamai
smans-akamai removed the request for review from hasyed-akamai August 19, 2025 20:34
@smans-akamai smans-akamai added DBaaS Relates to Database as a Service 🚨 Urgent labels Aug 19, 2025
@corya-akamai corya-akamai added the Add'tl Approval Needed Waiting on another approval! label Aug 19, 2025
direction={order}
handleClick={handleOrderChange}
label="plan"
label="type"

@corya-akamai corya-akamai Aug 19, 2025

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 this need to stay "plan"?

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.

@corya-akamai On line 126, you'll see Plan which is the text that gets displayed in the column header cell. I left that as is so we still see Plan in the UI.

The label property is what gets passed up and eventually used in x-filter. You can see the onClick for TableSortCell here where it gets used.
https://github.com/linode/manager/blob/develop/packages/manager/src/components/TableSortCell/TableSortCell.tsx#L46

@smans-akamai smans-akamai Aug 19, 2025

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.

However I also see it used for the aria-label in TableSortCell here:
https://github.com/linode/manager/blob/develop/packages/manager/src/components/TableSortCell/TableSortCell.tsx#L69

@mjac0bs Though "type" and "plan" refer to the same field, does the aria-label need to mirror the actual text we're seeing in the UI?

If so, then I'll need to reach out to UX to see if we want to make this change to the actual text that gets displayed.

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.

As Sam said, it does need to be consistent with the actual filter on the backend and this statement in the PR description isn't correct/maybe was not removed as intended:

The label for this column will continue to be "Plan". This is only an update to what what we provide to the backend call for the database list.

As for the aria-label, I think you're fine - there are plenty of other spots that handle the Plan/Type column with the aria-text slightly differing. (you can see them by searching active={orderBy === 'type'}).

direction={order}
handleClick={handleOrderChange}
label="plan"
label="type"

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.

As Sam said, it does need to be consistent with the actual filter on the backend and this statement in the PR description isn't correct/maybe was not removed as intended:

The label for this column will continue to be "Plan". This is only an update to what what we provide to the backend call for the database list.

As for the aria-label, I think you're fine - there are plenty of other spots that handle the Plan/Type column with the aria-text slightly differing. (you can see them by searching active={orderBy === 'type'}).

@github-project-automation github-project-automation Bot moved this from Review to Approved in Cloud Manager Aug 19, 2025
@mjac0bs mjac0bs added Approved Multiple approvals and ready to merge! and removed Add'tl Approval Needed Waiting on another approval! labels Aug 19, 2025
@smans-akamai

smans-akamai commented Aug 19, 2025

Copy link
Copy Markdown
Contributor Author

@mjac0bs Just saw your comment and updated the description to just say that the column header text will continue to be plan.
The text displayed for this column header will continue to be "Plan". This is only an update to what what we provide to the backend call for the database list.

Thanks for the quick response!

@linode-gh-bot

Copy link
Copy Markdown

Cloud Manager UI test results

🎉 730 passing tests on test run #2 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
0 Failing730 Passing4 Skipped119m 18s

@smans-akamai
smans-akamai merged commit 28ba6c0 into linode:develop Aug 20, 2025
35 checks passed
@github-project-automation github-project-automation Bot moved this from Approved to Merged in Cloud Manager Aug 20, 2025
@smans-akamai
smans-akamai deleted the UIE-9111-dbaas-landing-sort-crashing-fix branch September 9, 2025 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approved Multiple approvals and ready to merge! DBaaS Relates to Database as a Service 🚨 Urgent

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants