From the CodeRabbit and Copilot reviews on #106:
- Tab close is a real button beside the link, not nested inside it.
- Pulse tiles refresh on screen in realtime mode, so "Live · 15s" is
true. The freshness time is formatted after mount (no hydration
mismatch).
- Deleting an alert refreshes the list. Social sign-in errors are
caught.
- The sponsors band only shows logos for company and partner tiers.
The sponsor page only states a monthly total when every cost is
known.
- README and check-env list INNGEST_EVENT_KEY. OAuth keys are shown
as optional.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nodemailer already skips sending without credentials, but the welcome-email job
still logged "sent successfully" and the README and env checker listed the
Gmail variables as required. The job now reports skipped sends, and the docs and
check-env treat NODEMAILER_EMAIL/NODEMAILER_PASSWORD as optional.
Ported from #69 (its Nodemailer changes were already on main).
Closes#69
Co-authored-by: keshav-005 <keshavchaudhary0005@gmail.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Better Auth handler at /api/auth (OAuth callbacks and reset links had no route).
- Reset emails double-encoded callbackURL (INVALID_CALLBACKURL); fixed with a test.
- Providers enable only when their env vars are set; documented in check-env.
- Session cookie cache and a per-request session helper; onboarding answers are
stored on the user as additional fields.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Expand required vars from 6 to 9 (add INNGEST_SIGNING_KEY, NODEMAILER_EMAIL/PASSWORD)
- Add 7 optional vars for AI providers, Adanos, Kit, and AI_PROVIDER selection
- Detect deprecated FINNHUB_API_KEY and suggest migration to NEXT_PUBLIC_FINNHUB_API_KEY
- Add contextual hints for each missing required variable
- Implement value masking (shows first 4 + last 4 chars)
- Add clear summary with counts and exit codes
- Improve output formatting with categorized sections