Repository navigation
fix(billing): cancelling a member's repository seat cancels that seat - #502
Conversation
|
Change classification: normal — platform or application code changed. A normal change carries a documented automated review on this pull request before merge, in place of a second human approver. The |
|
@claude please review this PR |
|
Claude finished @jfrench9's task in 16s —— View job Review of PR #502
Verdict: looks good, with one merge blocker (already in your Deploy Notes) and a few small points. The fix is correct and small. The repository cancel now sends the row's Blocker
Points to consider
No security concerns. The server must still check that the caller may cancel another member's seat, and that is not visible in this repo. |
Core 0.15.0 carries the own-seat fix this branch's cancel depends on. Claude-Session: https://claude.ai/code/session_014Wxgk4yttBxgdE2uBHT71R
Summary
Repository seats are per member, and an owner or admin sees every member's seat on Organization → Subscriptions. Cancelling one sent no
user_id, so the API cancelled the owner's own seat while the member's kept billing. The cancel now names the row's seat, and each card says whose seat it is.Changes
organization/billing-panels.tsx:user_id.repositories/content.tsx: the cancel sends the row'suser_id.Deploy Notes
Bumps
@robosystems/coreto 0.15.0 (the own-seat fix this change depends on) and@robosystems/clientto 2.12.0, in this PR. Safe to merge as one unit.Testing
New vitest cases: cancelling a member's seat sends that member's id, and the cards label and gate Change Plan. The cancel test fails without the fix.
npm test(711 tests), lint and typecheck pass, before and after the package bump.🤖 Generated with Claude Code
https://claude.ai/code/session_014Wxgk4yttBxgdE2uBHT71R