Repository navigation
Telemetry Tracker v1.18.0
Highlights
- Native affiliates — TT owns referral attribution and 30% recurring commissions on hosted Pro/Business. Rewardful fully removed (no account, JS, API, webhooks, or secrets).
- Ledger hardening — Pre-payout refunds/disputes only mutate commission rows; post-payout clawbacks use
AffiliateAdjustment. Mark-as-paid serializes concurrent submits and auto-includes unsettled clawbacks. - Stripe basil linking —
invoice.paidstores payment intent via InvoicePayment so refunds/disputes still match after API2025-03-31.basil. - First-invoice race — Commission eligibility also reads hosted Pro/Business from invoice/subscription metadata when org plan is still FREE; ambiguous cases fail for Stripe retry.
Upgrade notes
Database
- Applies forward migration
20261005180000_affiliate_rewardful_to_native(nativeAffiliate.code, payout/adjustment tables). Hosted Cloud API runsprisma migrate deployon production boot.
Environment
- No new required env vars. Leave
AFFILIATES_ENABLED/NEXT_PUBLIC_AFFILIATES_ENABLEDunset to keep affiliates disabled. - To enable later (API):
AFFILIATES_ENABLED=true,AFFILIATE_ADMIN_EMAILS=<founder emails>(requires existingSTRIPE_SECRET_KEY). - To enable later (dashboard):
NEXT_PUBLIC_AFFILIATES_ENABLED=true. - Do not set any
REWARDFUL_*variables.
Detail
See CHANGELOG.md.