Add multi-tenant cloud mode: self-serve purchase, credit metering, core-decoupling
Introduces RECAP_MODE=multi alongside single-mode self-host: - Tenant auth + accounts (magic-link via System SMTP), per-tenant credit pool, anonymous trial minting with per-IP/-64 caps - Self-serve Pro/Max purchase: inline Lightning (BTCPay) + card (Zaprite), prepaid 30-day periods, expiry-reminder emails - Core-decoupling: relay owns cloud tier/expiry keyed by Recaps user-id - SQLite (better-sqlite3) schema for multi-mode; filesystem unchanged for single - StartOS actions/versions through 0.2.155
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
import { VersionInfo } from '@start9labs/start-sdk'
|
||||
|
||||
export const v_0_2_49 = VersionInfo.of({
|
||||
version: '0.2.49:0',
|
||||
releaseNotes: {
|
||||
en_US: 'In-app buy page: clicking Upgrade now opens a Recap-styled tier-picker modal instead of redirecting to Keysat\'s hosted /buy/recap page. Tiers are pulled live from Keysat\'s policies API (so operator edits in Keysat admin show up without a Recap redeploy), rendered with marketing bullets + price + cadence suffix + featured-discount badges, and checkout opens in a new tab. After payment, the modal polls /api/license/poll/<invoiceId> every 4s and activates the issued license server-side once BTCPay settles. All five Upgrade buttons (toolbar, activation screen, license block, Pro upsell, etc.) point at the new modal.',
|
||||
},
|
||||
migrations: {
|
||||
up: async ({ effects }) => {},
|
||||
down: async ({ effects }) => {},
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user