docs 1
This commit is contained in:
46
user-flow-plan-in-progress-1.md
Normal file
46
user-flow-plan-in-progress-1.md
Normal file
@@ -0,0 +1,46 @@
|
||||
## Session Configuration Summary (Signup → Activation → Billing)
|
||||
|
||||
This doc captures all changes made in this session across backend and frontend to stabilize signup, onboarding, plans, payments, throttling, and admin flows.
|
||||
|
||||
### Backend Changes
|
||||
- Registration slug collision handling
|
||||
- Now generates unique account slugs by appending numeric suffixes to avoid `IntegrityError` on duplicate slugs during signup.
|
||||
- File: `backend/igny8_core/auth/serializers.py`
|
||||
- Plans endpoint throttling removed
|
||||
- `/api/v1/auth/plans/` no longer uses throttling to prevent 429 responses during onboarding/plan fetch.
|
||||
- File: `backend/igny8_core/auth/views.py`
|
||||
|
||||
### Frontend Changes
|
||||
- Plans visibility and throttling behavior
|
||||
- Removed plan filtering to only Starter/Growth/Scale; all active plans returned by the API are shown.
|
||||
- Added a 429 retry: on throttling while loading billing/plans, shows “throttled, retrying” and auto-retries once after 2 seconds.
|
||||
- File: `frontend/src/pages/account/PlansAndBillingPage.tsx`
|
||||
- Signup redirect hard fallback
|
||||
- After successful signup, still calls router navigate to `/account/plans`, and also forces a 500ms hard redirect to `/account/plans` if navigation stalls.
|
||||
- File: `frontend/src/components/auth/SignUpForm.tsx`
|
||||
- Payment method preference
|
||||
- Auto-selects payment method id 14 when available and best-effort sets it as default; prefers enabled methods.
|
||||
- File: `frontend/src/pages/account/PlansAndBillingPage.tsx`
|
||||
- Admin subscriptions actions and linking
|
||||
- Added Activate/Cancel and Refresh actions on `/admin/subscriptions`.
|
||||
- `/admin/accounts` “Manage” links now deep-link to `/admin/subscriptions?account_id=...`.
|
||||
- Files: `frontend/src/pages/admin/AdminSubscriptionsPage.tsx`, `frontend/src/pages/admin/AdminAllAccountsPage.tsx`
|
||||
- Upgrade gating helper
|
||||
- Introduced `isUpgradeError` / `showUpgradeToast` and applied to Sites list to surface upgrade prompts on 402/403. ModuleGuard imported/prepared.
|
||||
- Files: `frontend/src/utils/upgrade.ts`, `frontend/src/pages/Sites/List.tsx`, `frontend/src/components/common/ModuleGuard.tsx`
|
||||
- Balance error UX
|
||||
- Shows “Balance unavailable” with retry; clears stale balance on error instead of silently showing defaults.
|
||||
- Files: `frontend/src/components/dashboard/CreditBalanceWidget.tsx`, `frontend/src/store/billingStore.ts`
|
||||
|
||||
### Behavior Notes / Outcomes
|
||||
- Signup now survives duplicate slug cases (unique slug generation).
|
||||
- Plans fetch should not be throttled; all active plans returned by the API will render.
|
||||
- If SPA navigation fails post-signup, the hard redirect ensures landing on `/account/plans`.
|
||||
- Payment method id 14 is preferred when present; otherwise any default/available method can be used.
|
||||
- Admins can activate/cancel subscriptions from the subscriptions page; Manage links carry `account_id`.
|
||||
- Upgrade prompts now surface on 402/403 in Sites list; balance widgets show proper error/retry state.
|
||||
|
||||
### Operational Dependencies / Reminders
|
||||
- Ensure the backend exposes at least one active plan; otherwise the list will remain empty.
|
||||
- Ensure at least one payment method exists (id 14 preferred) so plan selection/purchases are not blocked.
|
||||
|
||||
Reference in New Issue
Block a user