From the Super-charged resource tables page (Prototype Review, version 34, Richard Cox, 2026-10-02). Struck-through items there are treated as done.
9fixed
4not changing
3blocked or after merge
92.17 / post 2.16.0 (not now)
44already done before
Status as of 2026-10-02: 9 fixed on the feedback branch (one of them found while checking), 4 not changing. The triage further down is as written before the decisions.
Found while checking B6 (Certificates on the cluster dashboard): the menu now stays put and the list stays open
New
Cluster and Project Members throws uncaught errors
Not ours
—
Same with the flag off: pre-existing on this Rancher
The items, as triaged
Type
Next step
B1
“You have unsaved changes” banner is cut off when the tab menu scrolls
Priority: High · Checked: Reproduced (400px-tall window). Ours: a regression from this week.
BugOurs
Fixed6647cf15b4 Banner whole at 400px tall, keyboard reaches the last item; taller windows unchanged (4/4)
the view drop down has an entry for You have unsaved changes... . when the vertical screen size is small the drop down has a scroll bar... but that row gets vertically s
What it’s about
The tab menu (the chevron on a tab) starts with a “You have unsaved changes…” banner. On a short window the menu is cut to the screen and scrolls, and the top of the banner is clipped.
What I found
The banner is pulled up over the menu’s top padding so it meets the rounded corner. That used to work because the menu didn’t clip anything (flush). Since flush left the library (Cody’s review), the menu only scrolls once it’s cut to the screen, and when it does the 10px the banner reaches above it are clipped. Measured: banner top 193, scrolling area top 203.
Richard’s screenshotReproduced on the branch
Plan
Keep the banner whole when the menu scrolls: make it the top of the scrolling area (sticky, so it also stays visible while scrolling the items) instead of reaching over the padding, or stop pulling it up once the menu is cut. Check at a tall and a short window, light and dark.
Effort: Small.
B2
JWT Authentication: selected rows can’t be unselected
Priority: High · Checked: Reproduced: the second click leaves the row selected (checkbox and highlight).
BugOurs
Fixed2b55a52c8b Select / unselect / all / none on JWT and Pods, flag on and off (4/4)
cluster management --> advanced --> JWT authentication. select some rows. rows now can't become unselected
What it’s about
Cluster Management → Advanced → JWT Authentication. Select a row, click it again: it stays selected.
What I found
This list builds its rows itself: plain objects made fresh every time its rows computed runs, and that computed also writes state (forceUpdateLiveAndDelayed). If anything makes it run again while rows are selected, the selection holds the old objects and the table compares against new ones. What re-runs it with table views on is still to find (Richard says “now”, so it worked before).
Two rows that stay selected
Plan
Find what re-runs the rows with table views on and stop it, or make the selection match rows by their key (id) rather than by object. Check the bulk actions still apply to the right clusters.
Effort: Medium.
B3
Columns menu offers columns the list doesn’t really have (“Status”, a second “Name”)
Priority: Medium · Checked: Reproduced. Projects/Namespaces offers Status; Cluster and Project Members offers STATUS, a second Name and Namespace.
project/namespace list → list config → columns → there's a weird 'status' column that can be added.
cluster → cluster and project members has a similar 'STATUS' column
What it’s about
View → Columns lists extra columns on some pages.
What I found
The menu offers every column the resource type has, not only the page’s, and takes the type’s own headers from type-map/headersFor. Pages with their own headers (namespaces under projects, members built from role bindings) get the type’s ones added: the API’s STATUS for namespaces, and the binding’s own Name/Namespace/Status for members.
Plan
Only add the type’s headers for lists that show the type itself; a page with its own headers keeps its own, plus labels. Then check the pages that rely on the extra columns (Pods, Deployments, ConfigMaps) still offer them.
Effort: Small.
B4
Filter suggestions show this page’s values first, then swap to the server’s
Priority: Medium · Checked: Behaviour as described.
BugYour call
Fixeda9239c3f0b “Loading values…” until the server answers, then its values; Enter picks nothing meanwhile; client lists unchanged (6/6)
omni search: showing potential options shows values from current page counts first, then once results back updates with the values from the http request. do we want to show nothing first, are long network requests leaving stale values an issue?
What it’s about
After picking a field in the filter, the value list first shows values and counts from the rows on screen, then replaces them with the server’s once it answers. Richard asks: show nothing first? Are long requests leaving stale values?
What I found
It’s on purpose today: the page’s values appear at once and the server’s replace them. On a slow request the counts are the page’s for a moment, which reads as wrong.
Options
A · Loading state (recommended): Show “Loading values…” until the server answers, then the full list. No numbers that change under the pointer.
B · Keep, but mark them: Keep the page’s values first with a “from this page” note until the server’s arrive.
Effort: Small.
B5
Add View / Duplicate View: the new tab doesn’t show “unsaved changes”
Priority: Low · Checked: Behaviour confirmed, and by design.
BugYour call
No change By design: new views are saved when created
When selecting Add View or Duplicate View the new tab does not contain the "unsaved changes" notification (tab dot, dropdown row)
What it’s about
After Add View or Duplicate, the new tab has no unsaved dot or banner.
What I found
Both save the new view straight away (Add View with the table’s defaults, Duplicate as a copy) and open its name for typing, so there’s nothing unsaved. Richard may expect a draft that only exists once saved.
Options
A · Reply: by design (recommended): New views are saved when created; the dot means changes since the last save.
B · Make new views drafts: Unsaved until saved, gone if discarded. A bigger change to how views are created.
Effort: None / Medium.
B6
Group headers show the raw value, not what the column shows
Priority: Low · candidate to bump · Checked: Not re-checked; Richard’s example is Certificates → group by Expires (a number of seconds rather than “3 days”).
BugOurs
Fixed525da74834 Months read “November 2026”; Certificates by State groups as “Active” instead of “(none)”
Group By feature groups rows under a tab like header. the content of that is the raw value from the resource rather than what we would show in the table. For example Cluster --> Cluster Dashboard --> Certificates group by expires in (shows duration integer rather than X minutes/hours kind string)
What it’s about
The group header shows the value from the resource, while the column formats it.
What I found
Group headers use the grouped field’s raw value. Dates already read as months; other formatted columns don’t.
Plan
Label group headers through the column’s own formatting where it has one. Richard marked it low priority and a candidate to bump.
Effort: Medium.
I1
Cluster badge column between State and Name
Priority: Medium · Checked: Today it’s after Name (State, Name, Badge, Provider…).
ImprovementOurs
No change Already in the right place
...situated between the "State" and the "Name" columns...
What it’s about
Ovi’s request: the Badge column sits between State and Name on Home and Cluster Management.
What I found
The badge column exists on both lists; only its place differs.
Plan
Move it before Name on both lists, keeping Name locked.
Effort: Small.
I2
Filter field list: label first, property name second
Priority: Medium · Checked: Today each row reads property then label (“state | State”, “summary | Machines”).
ImprovementOurs
Fixeda9239c3f0b2e8495435d Rows read “Machines machines”; the Machines column is named machines, filter machines:1 works. Other column names parked
omni filter: drop down shown for selecting a column. swap the column name (currently on right) and property string (currently on left) around
What it’s about
In the filter’s field dropdown, swap the column name (now on the right) and the property (now on the left).
What I found
Would also make “summary” read as Machines first (the naming you asked about).
Plan
Swap them in the suggestion rows and keep matching on both.
Effort: Small.
I3
Export of lots of resources (the 2.16 part)
Priority: Medium · Checked: —
ImprovementOurs
Fixed5e39d0f5a9 Warning wording kept as is. Selected-rows export now closes on Download and is followed as a notification (in progress → completed), like a view’s
more than 1000? show warning
ensure that when the user clicks download in the modal... the modal closes (doesn't wait for complete) and the download state is tracked via native browser download process
What it’s about
For 2.16: warn when an export is over 1,000 rows, and close the export modal as soon as Download is clicked, leaving the progress to the browser’s own download. (Progress in notifications is 2.17.)
What I found
The modal waits for the export to finish today.
Plan
Warning in the modal above 1,000; close on click and stream the file through the browser’s download.
Effort: Medium.
I4
Version the saved view data
Priority: Medium · Checked: —
TaskOurs
Fixedc6d3bfbd80 Written as { metadata: { version: 1 }, payload }; views saved before are read and rewritten with it
Once persistence is sorted.. i've been stung a few times with compatibility between persisted data and releases. for the view that we save can we group customisations into an object with metadata and payload? - { metadata: { version: 1 }, payload: ... }
What it’s about
Richard: wrap what we save as { metadata: { version: 1 }, payload }, having been stung by persisted data changing between releases.
What I found
Cheapest before the first release: nothing to migrate yet. Ties in with the storage moving to a CR (blocked, below).
Plan
Save views wrapped with a version, read both shapes, and document it on the data page.
Effort: Small–Medium.
I5
“Pinned” as a Group By option on Cluster Management
Priority: Low · Checked: We tried it and stopped.
ImprovementYour call
Not doing Possible but risky
in the "cluster management" page, it would be nice to add the "Pinned" as a "Group by" option [image] - this would allow the users to have the "pinned" clusters at the top
What it’s about
Ovi: group by Pinned so pinned clusters come first.
What I found
Grouping is a server sort, and pinned isn’t on the cluster resource (it’s the user’s preference), so it can’t be indexed or sorted on the server without workarounds. We stopped it for that reason and added the pinned:true filter instead.
Options
A · Reply: not for 2.16 (recommended): Point to the pinned filter; revisit if pinning moves to the resource (“Expand pinned concept” is post-2.16).
Effort: None.
Nothing matches these filters.
Blocked, or after the flag is merged
Persist views in a CR instead of the user preference Richard: architecture discussion (one CR for everyone vs one per user, permissions, backup). Blocks moving the storage.
Description as an optional column Blocked on indexing in Rancher: https://github.com/rancher/rancher/issues/55811
Validate the table with server-side pagination off (pods) Task for when the feature flag is merged.
Open discussion (Richard / UX)
Not ours to build yet; they can change the work above.
Arch: RC: Creation of CR for persisting settings
Arch,UX: RC: confirm how to save, share, select views
UX: Various limits in shell/components/ResourceTable.vue
UX: Discuss original / default tab name of Explorer (should this be the resource name Clusters / Pods / Services)
Lost the 'share' option (click button, get serialised string, use serialised string as query param)
UX: Omni search drop down Group operations together at bottom?
UX: On first click of the omni filter the first thing the user see's is `not leave these out`. this makes sense given users can choose not → property → value. it does feel a bit jarring though
i often wanted to set group by namespace on all my lists, at the moment the only way is to create custom views for all my lists. it's like we need a per user set of overrides for the default views, which seems an odd angle
UX: Discuss "search in blind" i.e. adding columns for filter values
UX: similar to "search in blind" but for Group By, i.e removing columns that are applied via group by
UX: Should global project/namespace filter apply to custom tables
UX: Should state filter link to (for example deployment overview page → click on pods in error mode → pods list with state filter UX) be updated
UX: General Discussion
Not now: 2.17 and post 2.16.0
Export progress and result in notifications2.17
Labels: key as column name, filtering, columns, renaming2.17
Sub rows: hide them, add new ones2.17
Manual opt-out of tables for admins / extensions2.17
Page size as part of a viewPost 2.16.0
Global table viewsPost 2.16.0
Extensions using the new tablePost 2.16.0
Pinned for all resourcesPost 2.16.0
Shorter keys in the saved dataPost 2.16.0
Also found while checking
Cluster and Project Members throws uncaught errors (404s) on this Rancher. Same with the flag off, so not ours.
Already done (44 items struck through on the page)
omni search: once a property is selected we show potential values for the user to select. this doesn't kick off a http request to fetch them and they're only coming from the resources in the current p
changing "group by" does not result in a new http request (group by is basically a kind of `sort`). this means we can only group by properties that are indexed. so basically tieing in with the fields
project / namespace list doesn't load
deployment create page container tab/s don't load
type in junk (no selection of a column, just aaaaa directly), table shows loading blur but not no rows
download results: "all matching rows" downloads 11 in list if 27 entries
node list: group by namespaces|node brokene
the bulk action and delete button disappear when there's no search results (user has searched and nothing is returned). this causes horizontal wiggle
ensure delete and bulk actions buttons are same size
pods list → some in unknown / terminating state (i.e. no ip) --> group by ip → unknonwn ips are grouped together but the title is missing. when a group by section is null|false|'' shall we show the te
CSV download - some columns like cluster management → cluster → explore button are purely visual and don't need to be in CSV. ideally these aren't included in output. super duper lower priority to fix
Users & Authentication → Groups → change group by between group name and group role names doesn't change list. group role names isn't something that can be sorted by (no sort header prop). so i think
Cluster → Cluster and Project Members. list is grouped by cluster (not sure why, but it happens in head as well). bug is though that there's a group by namespace option
Detail Pages → lists here don't have the view tabs. i don't think the multiple tabs here are as important as core pages, but the ability to customise a list probably is.
custom header shenangigans
on any list hover over Liz header icon. it expands the state columns pill but totally covers it. previously the pop-right was underneath
cluster management --> providers --> hosted providers. uses old table. guessing this might just use sortable table natively, if so that's fine (FWIW these are provided by ui extension, not ever gonna
use existing components
move delete button to be left of bulk actions
the view button shouldn't have a cog (it dups the cog on the actions menu)
view dropdown
MVP: Limit removal of some core columns. we have code in that expects these.
notification when changes are unsaved
tab drop down menu
Validate super charged table with more exotic tables
Omni-search magnifying icon should change to x when filter provided. click x clears filter
changing group should not close either popup
Default Export type should be yaml
Validate extensions that have different updates to tables (i.e. both of the security teams extensions)
UX: how to combine current "group by" icons feature with new "group by" section (currently setting former breaks later). example pod page
Dev: RC: syntax for omni search. currently it's always partial (~) and never exact `=""`
Dev: Can we support changing the order of columns?
Arch,UX: RC: how does download "all matching" work
Arch,UX: RC: can admins / extension developers manually disable feature for specific resources/routes
UX: omni search: quickly clear search via cross?
UX: change grouping click closes grouping popup but not base popup
UX: All detail page lists don't have view persistance?
UX: Confirm `Export As` modal is new design
UX: Using growl rather than notifications (including undo action)
UX: On any change to table config (group, columns, sort, filter) we go back to page one. before we only went back to page one on sort change (shell/components/SortableTable/index.vue viewFilters)
UX: Previously setting a Group By would remove the column associated with the value (group by namespace --> no namespace column)
UX: Order of home page create, import, manage flipped
UX: omni search: should tab key select current dropdown option (tab complete)
Marcelo: resolve improvements / bugs that are not blocked