Tables feedback triage

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.

Status

Checked on the feedback branch’s preview, proto-supercharged-tables-feedback, 2026-10-02 (its commits).

ItemWhatStatusCommitChecked
B1Unsaved-changes banner cut off when the tab menu scrollsFixed6647cf15b4Banner whole at 400px tall, keyboard reaches the last item; taller windows unchanged (4/4)
B2JWT Authentication rows can’t be unselectedFixed2b55a52c8bSelect / unselect / all / none on JWT and Pods, flag on and off (4/4)
B3Columns menu offers columns the list doesn’t haveFixed2d50e8559718 dropped, 7 kept (Home: Autoscaler, Machines, Age; Cluster Management: CPU, Memory, Pods; Git Repos: Commit). Kept ones render; Machines still sorts (7/7)
B4Filter shows the page’s values, then the server’sFixeda9239c3f0b“Loading values…” until the server answers, then its values; Enter picks nothing meanwhile; client lists unchanged (6/6)
B5Add / Duplicate View show no “unsaved changes”No change—By design: new views are saved when created
B6Group headers show the raw valueFixed525da74834Months read “November 2026”; Certificates by State groups as “Active” instead of “(none)”
I1Badge column between State and NameNo change—Already in the right place
I2Filter field list: label first; the summary nameFixeda9239c3f0b 2e8495435dRows read “Machines machines”; the Machines column is named machines, filter machines:1 works. Other column names parked
I3Export of lots of resourcesFixed5e39d0f5a9Warning wording kept as is. Selected-rows export now closes on Download and is followed as a notification (in progress → completed), like a view’s
I4Version the saved view dataFixedc6d3bfbd80Written as { metadata: { version: 1 }, payload }; views saved before are read and rewritten with it (6/6)
I5“Pinned” as a Group By optionNot doing—Possible but risky
NewGroup By low on a page scrolled the page and closed the listFixed05a2918cbeFound while checking B6 (Certificates on the cluster dashboard): the menu now stays put and the list stays open
NewCluster and Project Members throws uncaught errorsNot 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
Fixed 6647cf15b4 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 screenshot
Richard’s screenshot
Reproduced on the branch
Reproduced 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
Fixed 2b55a52c8b 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
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.
BugOurs
Fixed 2d50e85597 18 dropped, 7 kept (Home: Autoscaler, Machines, Age; Cluster Management: CPU, Memory, Pods; Git Repos: Commit). Kept ones render; Machines still sorts (7/7)
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
Fixed a9239c3f0b “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
Fixed 525da74834 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
Fixed a9239c3f0b 2e8495435d 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
Fixed 5e39d0f5a9 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
Fixed c6d3bfbd80 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.

Blocked, or after the flag is merged

Open discussion (Richard / UX)

Not ours to build yet; they can change the work above.

Not now: 2.17 and post 2.16.0

Also found while checking

Already done (44 items struck through on the page)