Skip to content

RI-000: Add column sorting for browser key list (list view)#5690

Merged
pawelangelow merged 9 commits intomainfrom
fe/sort-browser-keys-columns
Mar 24, 2026
Merged

RI-000: Add column sorting for browser key list (list view)#5690
pawelangelow merged 9 commits intomainfrom
fe/sort-browser-keys-columns

Conversation

@pawelangelow
Copy link
Contributor

@pawelangelow pawelangelow commented Mar 24, 2026

What

Adds client-side column sorting to the browser key list. Users can now
sort keys by Name, TTL, or Size in ascending or descending order
directly from the Columns popover.

Credits to #5673 (@burryfun) for the original proposal and implementation. ❤️

We decided to take a different UX approach - sorting controls live inside the existing Columns popover rather than in a dedicated sort bar. The goal is to provide the same functionality with less UI space consumption and lower complexity, while fully supporting all use cases of the component.

Preview

Screenshot 2026-03-24 at 14 24 58

Note

Medium Risk
Moderate risk because it changes key-list rendering order and rewrites metadata-fetch application logic (including request cancellation and scroll resets), which could impact list integrity or performance in edge cases.

Overview
Adds client-side sorting for the Browser key list (List view) via the existing Columns popover, letting users sort by Key, TTL, or Size (ASC/DESC) and clearing sort automatically when a sorted column is hidden.

Updates KeyList to accept a sortedColumn, apply stable ordering (treating missing metadata and ttl=-1 as “no value” so they sort last), and re-run sorting as metadata arrives.

Refactors metadata fetching to update rows by reference instead of positional splicing to prevent corrupting the list when only a subset of visible rows fetches metadata, and adds coverage for sorting behavior + async metadata edge cases.

Written by Cursor Bugbot for commit 6eece64. This will update automatically on new commits. Configure here.

@pawelangelow pawelangelow self-assigned this Mar 24, 2026
@pawelangelow pawelangelow requested a review from a team as a code owner March 24, 2026 12:32
@pawelangelow pawelangelow force-pushed the fe/sort-browser-keys-columns branch from af15352 to 27eeea2 Compare March 24, 2026 12:33
@jit-ci
Copy link

jit-ci bot commented Mar 24, 2026

🛡️ Jit Security Scan Results

CRITICAL HIGH MEDIUM

✅ No security findings were detected in this PR


Security scan by Jit

dantovska
dantovska previously approved these changes Mar 24, 2026
valkirilov
valkirilov previously approved these changes Mar 24, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Mar 24, 2026

Code Coverage - Frontend unit tests

St.
Category Percentage Covered / Total
🟢 Statements 82.32% 23479/28523
🟡 Branches 67.42% 9890/14669
🟡 Functions 77.32% 6328/8184
🟢 Lines 82.78% 22972/27750

Test suite run success

6530 tests passing in 773 suites.

Report generated by 🧪jest coverage report action from 6eece64

@pawelangelow pawelangelow dismissed stale reviews from valkirilov and dantovska via 34d2508 March 24, 2026 13:02
@pawelangelow pawelangelow force-pushed the fe/sort-browser-keys-columns branch from 34d2508 to 3529e55 Compare March 24, 2026 13:05
valkirilov
valkirilov previously approved these changes Mar 24, 2026
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

@pawelangelow pawelangelow merged commit 57ac1f4 into main Mar 24, 2026
29 of 30 checks passed
@pawelangelow pawelangelow deleted the fe/sort-browser-keys-columns branch March 24, 2026 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants