Repository navigation
Conversation
…roup RemoveProjectMember and RemoveGroupMember now find the project or group even when it is disabled, so an admin can take a member's access away without enabling it first. The RemoveGroupUser handler no longer loads the group itself, since that lookup skipped disabled groups.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. Summary
Merge Risk:
|
Coverage Report for CI Build 43399362239Coverage increased (+0.02%) to 56.073%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
Summary
Removing a member from a disabled project or a disabled group now works. Before, it failed with not found, so an admin had to enable the project or group, remove the member, and disable it again. Closes #2051.
Changes
RemoveProjectMemberfinds the project even when it is disabled. It lists the project by id withIncludeDisabled.RemoveGroupMemberfinds the group the same way, through the existinggetGroupIncludingDisabledthatOnGroupDeleteduses.RemoveGroupUserhandler no longer loads the group before calling membership. That lookup skipped disabled groups. Membership loads the group and returns the same errors, so the response codes do not change.Technical Details
RemoveProjectMembertakes only a project id. The RPC validatesproject_idas a UUID.Test Plan
go test ./core/membership/passes. New cases: removing a member from a disabled project and from a disabled group, a missing project, and a failed project or group lookup.go test ./internal/api/v1beta1connect/passes.RemoveGroupUserno longer loads the group itself.TestMemberRemovalFromDisabledProjectAndGroup: an organization owner (not a superuser) disables a project and a group, removes a member from each, and enables both again. The member has no live policy left, nogeton either, and no access through the group to another project. Without the fix, every check fails.go test ./test/e2e/...passes.make testpasses.golangci-lint runreports no issues.