Skip to content

feat(core, react): release 3.2.0 - #482

Merged
chakrihacker merged 1 commit into
mainfrom
feat/release-3.2.0
Aug 18, 2026
Merged

feat(core, react): release 3.2.0#482
chakrihacker merged 1 commit into
mainfrom
feat/release-3.2.0

Conversation

@chakrihacker

@chakrihacker chakrihacker commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Added

  • Truncated roles column with click-through (feat: truncate roles display in member table with clickable expansion #448). The member table now renders the first two roles followed by a +More link. Clicking it opens that member's detail view with the Roles tab already selected, instead of showing the full list in a tooltip.
  • initialTab on member detail. OrganizationMemberDetail and useOrganizationMemberDetail accept initialTab?: 'details' | 'roles', which makes the roles tab deep-linkable (e.g. from a ?tab=roles query param).
  • Complete assigned-role set in the assign-roles modal. When a member has 10 or more roles (ROLES_PREFETCH_THRESHOLD, matching the API's default page size), the modal fetches the member's full role list rather than relying on the truncated payload from the table row. A spinner (isLoadingRoles) is shown while that request is in flight, in both the management and detail flows.
  • New public surface:
    • OrganizationMemberManagementView is now exported from the package root (fix: export added for organization member mgmt for docs #468). It was omitted at BETA because the Mintlify docs site wasn't in scope.
    • ViewMemberDetailsParams{ userId: string; tab?: OrganizationMemberDetailTab }.
    • memberRolesQuery on MemberManagementServiceResult; memberRoles and isLoadingMemberRoles on UseOrganizationMemberManagementResult.
    • OrganizationMemberRemoveRoleModalProps.isLoadingRoles.
    • isValidUserId(userId) utility, replacing the inline regex that was duplicated in useMemberDetailService.

Changed

  • viewMemberDetailsAction payload is now an object. ComponentAction<string>ComponentAction<ViewMemberDetailsParams>, so the callback can carry the target tab. Same change applies to OrganizationMemberTableProps.onView, OrganizationMemberTableActionsColumnProps.onViewDetails, and handleViewMemberDetails.
  • MemberDetailTab renamed to OrganizationMemberDetailTab, aligning with the component-prefixed naming used elsewhere.
  • Member roles cache key. Components now read and invalidate memberManagementQueryKeys.memberRoles(userId) instead of memberDetailQueryKeys.memberRoles(userId), so the management and detail views share one cache entry. Both key factories are still exported from core, but seeding or invalidating the memberDetailQueryKeys variant no longer affects the components.
  • Remove-role modal translation placeholders. member.detail.roles.remove_modal.description now uses <roleBold> and <memberBold> instead of a single <bold> tag (en-US, fr, ja), so the role name and member name can be styled independently.
  • SsoProviderEdit moved to the action-props pattern (refactor(react): use action props pattern in sso-provider-edit #459). It was the last block component using the { logic, handlers } split. SsoProviderEditViewProps is now a flat interface extending UseSsoProviderEditReturn, and the container spreads the hook result into the view. The public SsoProviderEdit props are unchanged — only the view-level contract moved.

Removed

  • SsoProviderEditLogicProps, SsoProviderEditHandlerProps, and UseSsoProviderEditLogicResult — superseded by the flat SsoProviderEditViewProps.
  • Internal test helpers createMockSsoProviderEditLogic and createMockSsoProviderEditHandler.

New translation keys

member.table.more_roles ("More") and member.table.view_all_roles ("View all ${count} roles") in en-US, fr, and ja.

Upgrading

Update any viewMemberDetailsAction handler to destructure the params object:

 <OrganizationMemberManagement
   viewMemberDetailsAction={{
-    onAfter: (userId) => router.push(`/member-management/${userId}`),
+    onAfter: ({ userId, tab }) =>
+      router.push(`/member-management/${userId}${tab ? `?tab=${tab}` : ''}`),
   }}
 />

And, to honour the tab the +More link asks for, forward it to the detail component:

+const tab = searchParams.get('tab') as OrganizationMemberDetailTab;
+
 <OrganizationMemberDetail
   userId={user_id}
+  initialTab={tab}
   onBack={() => router.push('/member-management')}
 />

Packages

  • packages/core
  • packages/react
  • examples

Checklist

  • Breaking change
  • Requires docs update
  • Backward compatible

Contributing

Summary by CodeRabbit

  • Chores
    • Updated package versions from 3.1.2 to 3.2.0.

@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6af8cd3e-5eca-40fd-96df-28b9f4bc93f1

📥 Commits

Reviewing files that changed from the base of the PR and between 24228aa and 5ca0167.

📒 Files selected for processing (2)
  • packages/core/package.json
  • packages/react/package.json

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


📝 Walkthrough

Walkthrough

The core and React package versions were updated from 3.1.2 to 3.2.0.

Changes

Package version updates

Layer / File(s) Summary
Update package versions
packages/core/package.json, packages/react/package.json
Both package manifests now specify version 3.2.0.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 5ca01

The current changes are limited to package metadata updates, with no actionable merge-blocking risk remaining beyond normal checks and review.

Suggested reviewers: rax7389

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the core and React packages and the 3.2.0 release, which matches the main change.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/release-3.2.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.91%. Comparing base (24228aa) to head (5ca0167).

Additional details and impacted files
@@           Coverage Diff            @@
##             main     #482    +/-   ##
========================================
  Coverage   90.91%   90.91%            
========================================
  Files         239      239            
  Lines       17726    17726            
  Branches     2004     2603   +599     
========================================
  Hits        16116    16116            
  Misses       1610     1610            

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@chakrihacker
chakrihacker merged commit a50fc9c into main Aug 18, 2026
7 checks passed
@chakrihacker
chakrihacker deleted the feat/release-3.2.0 branch August 18, 2026 07:04
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