Conversation
- Add "type": "module" to package.json to enable ES module support - Extract axios, i18n, and Sentry configuration into src/services/api.ts service module - Lazy-load apex charts library
- Add PaymentPlanSwitchOperation model to track Stripe subscription plan changes durably - Implement plan switching logic - Enables idempotent payment plan switches with Stripe sync
|
Created image with name |
| xsrfCookieName: 'csrftoken', | ||
| xsrfHeaderName: 'X-CSRFTOKEN', | ||
| }); | ||
| import { api } from '../services/api'; |
There was a problem hiding this comment.
These frontend changes are unrelated to fix compiler warnings
| 'axios', | ||
| 'routeGuards', | ||
| 'capacitor', | ||
| 'apexcharts', |
There was a problem hiding this comment.
apexcharts is hulking, reworked to lazy load on the necessary page instead.
- Add tests for stripe helper functions accepting dict and string objects - Add test for idempotentcy when profile already at target plan - Add test for profile drift detection - Test for database failure tolerance in error recording - Add test for unconfirmed stripe update retry logic - Add tests for plan switch validation (missing plan ID, locked member, same plan) - Add tests for pending and failed operation rejection - Add tests for subscription item count and price validation - Add tests for terminal recovery failure reporting - Improve test coverage for payment plan switch recovery and error handling
|
Created image with name |
|



Closes #41, focused on switching to another payment plan in the same tier with the same subscription period. Mostly to enable Sudoroom members existing pay-what-you-can dues model.
Complicated to include a durable recovery path. Should hopefully tell you when something is wrong/unrecoverable.
PaymentPlanSwitchOperationmodel to track Stripe subscription plan changes durably