feat(account): show the plan's renewal date and how to cancel #283
Inga granskare
Etiketter
Inga etiketter
area/backups
area/ci
area/control-panel
area/identity
area/infra
area/observability
area/payments
area/security
area/storage
area/web
blocked
needs-info
needs-triage
ready-for-implementation
type
bug
type
chore
type
docs
type
epic
type
feature
type
task
wontfix
Ingen milstolpe
Inget projekt
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Inget förfallodatum satt.
Beroenden
Inga beroenden satta
Referens
bitborg/bitborg-web!283
Läser in…
Hänvisa till i nytt ärende
Ingen beskrivning angiven.
Ta bort grenen "feat/279-renewal-date"
Borttagning av en gren är permanent. Även om den borttagna grenen kan fortsätta existera en kort tid innan den faktiskt tas bort, kan det INTE ångras i de flesta fall. Vill du fortsätta?
What
On
/account, a paid account (tier_pro) sees when its plan renews, or when it ends ifcancelAtPeriodEndis set. A hint line says to cancel by email to info@bitborg.se (fromlegalEntity.email). Swedish and English. Version 1.16.0.Why
Launch minimum for the control panel. Cancellation is by email until self-service exists. Closes #279.
How
src/lib/renewal.ts: purerenewal(status, lang, now). Date isdateStyle: long, Europe/Stockholm,en-GBorsv-SE. "renews" only for statusactivewithoutcancelAtPeriodEnd. "ends" forcanceledor active withcancelAtPeriodEnd. Null for no period end, an unparsable or past period end, and other statuses such aspast_due.account-panel.astro: the status call is shared with the withdrawal offer (one billing request per render). Rendering is gated onbillingConfigured()andisPaidAccount, like the other billing surfaces. A billing error is logged and the plan section renders without the date.past_due.Tested
pnpm test498 passed, 3 skipped.pnpm check0 errors.pnpm lintclean.pnpm lang-checkclean. Newsrc/lib/renewal.test.tscovers locale format, cancel-at-period-end, canceled, past period end, past_due, Stockholm day boundary, null cases andrenewsAutomatically. Not rendered in a browser.Open questions
past_dueshows no date and no cancel line until its own notice exists.Dates: "renews on" shows the charge day (
currentPeriodEnd+ 1 ms, Europe/Stockholm). "Ends on" shows the last paid day (currentPeriodEnd). This matches the billing service treatingcurrentPeriodEndas the last instant of the paid period.Visa kommandoradsinstruktioner
Manuell sammanfogningshjälp
Använd detta sammanfogningsmeddelande när sammanfogningen slutförs manuellt.
Checka ut
Checka ut en ny gren från din projektkatalog och testa ändringarna.