fix: protect personal organization billing credits - #167
Conversation
Co-authored-by: openhands <openhands@all-hands.dev>
|
|
Co-authored-by: openhands <openhands@all-hands.dev>
Coverage reportClick to see where and how coverage changed
This report was generated by python-coverage-comment-action |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
|
E2E follow-up: OpenHands-Cloud #1103 adds release-level coverage for this PR. I reviewed the existing open budget drafts (#1064, #1070, #1071, #1072, #1074, #1077, #1078, and #1080); they cover shared/team governance but not the personal-workspace and nullable/unlimited billing behavior here. The new draft extends the real Stripe flow to verify:
Validation completed: locked dependency install, full TypeScript/ESLint/Prettier checks, Playwright test discovery, and the Cloud PR AI disclosure: This comment was generated by an AI agent (OpenHands) on behalf of the user. |
|
Hey @hieptl - please take another look and offer any advice on how we can better test this code before merging. Since it's a sensitive piece of the product, I'd love to get more assurance. |
Renumber the personal organization budget cleanup migration to follow the current revision 147 head and update its regression-test import. Co-authored-by: openhands <openhands@all-hands.dev>
Resolve merge conflict in enterprise/tests/unit/test_org_budget_service.py by combining both branches' new tests: - main's test_sync_litellm_budgets_skips_passive_disabled_team_org (from #167) - this PR's test_sync_litellm_budgets_keeps_member_cap_stable_across_sessions Co-authored-by: openhands <openhands@all-hands.dev>
|
🚀 Released in 1.55.0. |
…hell Resolve conflicts with main (#167 null balance, #176 dropdown search term, #199 quota nav item) and align the merged result with the neo settings shell: - credits/payment: keep main's null balance -> "no budget limit" semantics - settings nav: add the Quota entry (subline + icon) and tokenize the quota page with the shared form-control helpers - settings loader: fall back to the backend's current org after a hard load so /settings/credits stays reachable - integrations: style the Jira member-guidance row like the other rows - tests: move the no-limit credits test with the credits UI; drop the legacy-sidebar avatar E2E spec (the sidebar no longer renders)
Summary
$NaN, and expose organization credit availability separately from balanceValidation
336 passedacross affected enterprise billing, LiteLLM, organization, organization-route, and governance-budget unit modules33 passed, 1 todoacross the payment-form and manage-organization frontend suites20 successful,1 skipped,0 failingNotes
AsyncSession.merge.This pull request was updated by an AI agent (OpenHands) on behalf of Saurya Velagapudi.
Enterprise server image for this PR: