Repository navigation
feat(instance): sort, filter and page the instance users table - #1835
Merged
dawsontoth merged 2 commits intoOct 12, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Code Review
This pull request enables sorting on all columns in the instance users table (Username, Role, Active, Created, and Updated) and configures global filtering to ignore the Created and Updated timestamp columns. It also adds a search filter and pagination to the users table component, and introduces a comprehensive test suite to verify these sorting and filtering behaviors. There are no review comments, and the changes look solid, so I have no additional feedback to provide.
This was referenced Oct 11, 2026
Coverage Report
File Coverage
|
||||||||||||||||||||||||||||||||||||||||||||
dawsontoth
marked this pull request as ready for review
October 12, 2026 19:45
Opts the Config > Users table into SimpleBrowseDataTable's `filter` and `paginated` props and makes every column sortable. Role and Created become accessor columns so they can be sorted (and Role searched); the Created and Updated timestamps are kept out of the filter, since their digits would otherwise match almost anything typed. Refs #1268 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dawsontoth
force-pushed
the
claude/1268-instance-users-table
branch
from
October 12, 2026 19:46
30e9fee to
5a9d3af
Compare
Opts the organization Roles table into SimpleBrowseDataTable's `filter` and `paginated` props and makes every column sortable. ID and Users Assigned become accessor columns so they can be sorted (by id, and by how many users hold the role); the filter matches the role name only, since the opaque ids and the user counts would match many short queries. Refs #1269 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
⊙ Problem
An instance's Config > Users table can't be sorted (every column sets
enableSorting: false), searched, or paged (#1268 asks for sort and filter by name and role, and paging).💡 Solution
Stacked on #1832, which adds the shared opt-in
filter/paginatedprops toSimpleBrowseDataTable; this PR turns both on for instance users.__createdtime__(still rendered as "time ago") so it sorts by time.createColumnHelper.✅ Verification
End-to-end route: component integration in jsdom through the real
SimpleBrowseDataTable, TanStack row models and these column definitions, rendered as the page renders it (initial username sort,filter,paginated). Not browser-verified, since the authenticated dev origin was shared with other sessions; no Playwright spec covers this page.src/features/instance/config/users/constants/tableDefinition.test.tsx: filters by username and role (case-insensitively), andtrueor a timestamp prefix matches nothing; sorts by Role, then by Created, starting from the page's initial username sort.tsc -bexit 0;oxlintexit 0;dprint checkexit 0; commitlint passed.claude/1264-org-users-table. Codex found nothing. Gemini's major (that passingsortingStatelocks sorting) is wrong: feat(organization): sort, filter and page the org users table #1832's component uses it only as the initial value of its own sorting state, and the test now renders with it and still re-sorts. Its minor (Active matchestrue) is covered by the new assertion and needed no change. Cursor could not fetch through the 1Password SSH agent and the Harper domain adjudicator failed on an expired Claude OAuth session, so the round was not adjudicated. The test changes made after the round were not re-reviewed.Merge after #1832. Its base is
claude/1264-org-users-table, so GitHub retargets it tostageonce that branch merges and is deleted.Closes #1268
🤖 Generated with Claude Code; posted via @dawsontoth.
Related PRs: #1832 independent (the stacked base this builds on; merge it first)
Complexity: easy
Review-Coverage: authored=claude; ran=gemini,codex; blocked=cursor-composer(no-receipt),domain(auth); declined=cursor-grok,cursor-kimi,cursor-muse; rounds=1; full=1 @ 30e9fee
Review-Attention: study ~9m (raised: degraded review, open major) @ 30e9fee