Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
Route all lifecycle/transactional emails through Novu (api.bildirim.semih.ai, delivered via Postal). A framework-agnostic client is shared by the NestJS API and the standalone BullMQ worker. - welcome + referral on signup (better-auth user.create.after) - email-verification + password-reset (auth.ts; token links never track-wrapped so the one-time token survives) - referral-qualified / referral-reward to the referrer on qualification - payment-success / payment-failed in the Stripe webhook handlers - trial-ending + win-back via a new daily lifecycle-email cron (worker), idempotent via a 1-day endDate window (no sent-flag column) - signed track.sase.tr CTA links when MAILTRACK_SECRET is set - NOVU_* / APP_PUBLIC_URL / MAILTRACK_SECRET env added to config, validation, .env.example and both compose service blocks Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.0 KiB
1.0 KiB