Skip to content

feat(web): show the Users page to every org - #2324

Merged
Makisuo merged 1 commit into
mainfrom
feat/users-page-ungated
Nov 7, 2026
Merged

Makisuo merged 1 commit into
mainfrom
feat/users-page-ungated

feat(web): show the Users page to every org

4034912
Select commit
Loading
Failed to load commit list.
Maple Review Bot / Maple / review completed Nov 7, 2026 in 45s

Confidence 8/10 · 1 issue to address

🟢 Confidence 8/10 · likely safe to merge. Flag removal is consistent end to end, but the ungating it introduces has no test pinning it.
1 warning −1 · tests partial −1 · risk medium

Removes the users rollout flag: the nav row, palette entry and /users routes are ungated for every org. No stale flag reader or server-side gate is left behind; only the missing test for the new behavior holds it back.

  • OrganizationFeatureFlags and ClerkOrganization.flags drop the users key
  • navGroups always renders the Users row under Analyze
  • flaggedRouteRedirect gates only status page routes now

Findings

🟠 Warning · F1 · The change's own behavior — Users always shown and reachable — is pinned by no test

tests · apps/web/src/shell/nav.test.ts:69-73

The Users-row test was deleted rather than inverted, so nothing asserts navGroups always contains Users, and route.test.ts:130 no longer pins that /users and /users/:id are not redirected. Both files test this kind of code, so the ungating itself is unpinned and a later re-gate would pass CI.

Add `expect(titles({ releases: false, securityAudit: false, statusPages: false })).toContain("Users")` here, and in `route.test.ts` assert `flaggedRouteRedirect(parse("/users"), { statusPages: false })` is `Option.none()`.
What was checked
  • sandbox_grep at head finds no remaining flags.users reader or users: flag literal
  • organizationFeatureFlagsFrom ignores excess metadata keys, so orgs with users: true still decode
  • apps/api/src/routes/v2/users.http.ts has no feature-flag gate; the web page reads the warehouse directly

4034912 · Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.

Annotations

Check warning on line 73 in apps/web/src/shell/nav.test.ts

See this annotation in the file changed.

@maple-review-bot maple-review-bot / Maple / review

tests: The change's own behavior — Users always shown and reachable — is pinned by no test

The Users-row test was deleted rather than inverted, so nothing asserts `navGroups` always contains `Users`, and `route.test.ts:130` no longer pins that `/users` and `/users/:id` are not redirected. Both files test this kind of code, so the ungating itself is unpinned and a later re-gate would pass CI.