- CreateUser: provision the default workspace OUTSIDE the signup DB transaction so CreateWorkspace's cache-forget / Stripe-quantity sync never runs inside a transaction (consistent with WorkspaceController::store); user+account stay atomic and a failed workspace create degrades to /workspaces/create. - BillingController::swapToYearly: explicit null guard on the resolved subscription before dereferencing stripe_price. - UsageController: reuse the already-loaded workspaces collection for the count instead of issuing a second query. - Add a GitHub OAuth-callback test covering the default-workspace auto-create (mirrors the Google one). |
||
|---|---|---|
| .. | ||
| AccountController.php | ||
| AuthenticationController.php | ||
| NotificationPreferenceController.php | ||
| ProfileController.php | ||
| SettingsController.php | ||
| UsageController.php | ||