Skip to content

fix(frontend): order the roster by name - #3199

Open
hello1101n wants to merge 3 commits into
mainfrom
fix/frontend-members-grid-sort-visible
Open

fix(frontend): order the roster by name#3199
hello1101n wants to merge 3 commits into
mainfrom
fix/frontend-members-grid-sort-visible

Conversation

@hello1101n

@hello1101n hello1101n commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Why. The People roster's Members list opens in an order nothing on screen explains — behind-peers first — while the org tree next to it is A→Z. Rows read as unordered.

What changed. The grid defaults to name order whenever the standing facet is off, which is exactly the roster: no chip names a standing, and the Person header offers only a name toggle. Views that do show the facet — AI & Cost, the group drilldowns — keep behind-first.

Screenshots. People roster on the MSW mock roster, same data either side.

Before After

Verified. pnpm test (2357), pnpm lint, pnpm typecheck — green. Screenshots from pnpm dev on the mock roster, no deployed data.

The People roster grid defaults to the "furthest behind" order but never
passed showIssues, so the standing chip, the "worst:" line and the Person
sort arrow stayed hidden — the roster read as unsorted. Wire the team-state
view to the standing facet.

The legend was static as well, promising a Bottom 25% red that the Rewards
and Critical focus modes never paint; it now names only the standings the
active focus still paints.

Signed-off-by: hello1101n <hello1101n@users.noreply.github.com>
@hello1101n
hello1101n requested a review from a team as a code owner September 5, 2026 02:02
@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: f7a3a95c-d774-4b58-b002-13c9bd212862

📥 Commits

Reviewing files that changed from the base of the PR and between 263d612 and 6317527.

📒 Files selected for processing (4)
  • src/frontend/src/components/portal/team-state-view.test.tsx
  • src/frontend/src/components/portal/team-state-view.tsx
  • src/frontend/src/components/widgets/dashboard/members-grid.test.tsx
  • src/frontend/src/components/widgets/dashboard/members-grid.tsx

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The change makes the member legend respond to focusMode, adds coverage for rewards filtering, passes showIssues from TeamStateView to MembersGrid, and tests peer standing labels.

Changes

Focus-aware member legend

Layer / File(s) Summary
Focus-aware legend filtering
src/frontend/src/components/widgets/dashboard/members-grid.tsx, src/frontend/src/components/widgets/dashboard/members-grid.test.tsx
Legend now renders statuses for the active focus mode. Rewards focus shows “Top 25%” and “Everything else”. Tests reset the mocked settings and verify the filtered output.

Team state member grid

Layer / File(s) Summary
Team state grid integration
src/frontend/src/components/portal/team-state-view.tsx, src/frontend/src/components/portal/team-state-view.test.tsx
TeamStateView passes showIssues to MembersGrid. The test verifies behind-peer and ahead-peer labels.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 63175

The Members grid now shows focus-appropriate standing legends and issue indicators in the team-state view, with coverage for focus filtering and peer-standing labels. No current merge-blocking risk is identified.

Suggested reviewers: aleksdotbar

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 4 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title identifies the roster ordering change. The PR makes the existing name-ordering control visible and also includes related member-standing and legend updates.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/frontend-members-grid-sort-visible

Comment @coderabbitai help to get the list of available commands.

This reverts commit 6317527.

Signed-off-by: hello1101n <hello1101n@users.noreply.github.com>
The People roster's members grid opened on the "furthest behind" order
even where nothing on screen named it: no standing chip, and the Person
header offers only a name toggle. Beside an alphabetical org tree the
rows read as unordered.

Default to name order whenever the standing facet is off. Views that do
show the facet — AI & Cost, the group drilldowns — keep behind-first.

Signed-off-by: hello1101n <hello1101n@users.noreply.github.com>
hello1101n added a commit that referenced this pull request Sep 5, 2026
@hello1101n hello1101n changed the title fix(frontend): show what orders the members grid fix(frontend): order the roster by name Sep 5, 2026
@hello1101n

Copy link
Copy Markdown
Contributor Author

Follow-up on the dead facet this order came from: #3201.

@hello1101n
hello1101n enabled auto-merge September 5, 2026 02:58
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.

1 participant