Skip to content

Conversation

@MarceloRobert
Copy link
Collaborator

@MarceloRobert MarceloRobert commented Jan 22, 2026

Changes

  • Adds a new page for the treeListing using the new endpoint
  • Updates the status type to conform with the 3-status format
  • Reorganizes routes and files
  • Refactors some component parts to be reusable between treeListings
  • Adds a banner to switch between treeListing versions
  • Adds a feature flag to switch the main treeListing version
    • Also refactors a lot of components since they now will be able to appear on multiple routes

Logic for the naming of the components/pages/routes:

  • we shouldn't have to rename a whole file every time a version changes (such as "treeListing" -> "treeListingV0")
  • there shouldn't be a new route for a different version of a page, only a new subroute (note that this is not the same for the backend, where a new version should equate to a new api endpoint for discoverability)
  • the latest version of the route shouldn't need to explicit the version
  • we should avoid calling things "old" or "new" as these words are relative and may change meaning over time

How to test

Start of with data in the new treeListing table, instructions on how to populate it can be found in #1706
Check the new treeListing page and the old version. Check if the redirects are working as intended

Closes #1559

@MarceloRobert MarceloRobert self-assigned this Jan 22, 2026
@MarceloRobert MarceloRobert added the Frontend Most or all of the changes for this issue will be in the frontend code. label Jan 22, 2026
- Replaces old treeListing page with new endpoint and status format
- Reorganizes the routes and component files
- Refactors some component parts in order to be reused between treeListings
@MarceloRobert MarceloRobert force-pushed the feat/use-new-tree-listing branch from b0be2f0 to 20d453b Compare January 23, 2026 12:58
@MarceloRobert MarceloRobert marked this pull request as ready for review January 23, 2026 13:03
Copy link
Contributor

@gustavobtflores gustavobtflores left a comment

Choose a reason for hiding this comment

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

LGTM, just a small nit, i'll pre-approve

page: formatMessage({ id: 'treeListing.treeListing' }),
gitHubLink: (
<a
href="https://github.com/kernelci/dashboard/issues"
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: I think we could move this URL into a constant at that point

@MarceloRobert MarceloRobert added the enhancement New feature or request label Jan 23, 2026
Used as a link between the newer and older versions of the treeListing, should be removed after the new tree listing is stable
@MarceloRobert MarceloRobert force-pushed the feat/use-new-tree-listing branch from 20d453b to fcb7d4f Compare January 26, 2026 15:47
Adds a feature flag to select the version of the main treeListing page

Closes kernelci#1559
@MarceloRobert MarceloRobert force-pushed the feat/use-new-tree-listing branch from ee53343 to a09ec16 Compare January 27, 2026 14:00
Comment on lines +33 to +34
default:
descriptionId = 'treeListing.description';
Copy link
Contributor

Choose a reason for hiding this comment

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

what is the reason to move this to default?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

since descriptionId was declared before the switch and there was no default for the switch, it meant that descriptionId was possibly undefined, which raised a type warning/error at line 37/38

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I arrived at this file by searching the uses of PossibleMonitorPath, which was related to the PR. I understand that this file is not directly related to it, but I think it's enough to be included

Comment on lines +52 to +53
default:
return formatMessage({ id: 'treeListing.title' });
Copy link
Contributor

Choose a reason for hiding this comment

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

ditto

@gustavobtflores
Copy link
Contributor

and if we have just one route being active at a time, why do we need two different routes? wouldn't be possible to have just /tree and switch behavior with the env flag?

@MarceloRobert
Copy link
Collaborator Author

and if we have just one route being active at a time, why do we need two different routes? wouldn't be possible to have just /tree and switch behavior with the env flag?

The idea is that since changing the feature flag is not on our hands, it is useful to still have both versions up so that we can compare them very easily anytime

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Frontend Most or all of the changes for this issue will be in the frontend code.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace current tree views with new, denormalized, table

2 participants