Stability Verification

Release checklist for stability and error handling

Use this page before every release to verify auth reliability, chatbot stability, provider failure handling, loading behavior, and the public widget experience.

Pre-deploy automated checks
These checks should gate every production deploy.
`npm run lint` passes
`npm run build` passes
Public routes load: `/`, `/pricing`, `/docs`, `/login`
Dashboard loads for a fresh user account
No blocking errors in browser console during signup/login/dashboard load
Widget iframe route loads and public widget opens only on click
Manual smoke suite
Run these user journeys in staging before promoting to production.
New user signup -> redirect -> dashboard renders
Existing user login -> refresh -> reopen browser -> session persists
Create chatbot -> training -> integration -> copy widget code
Public widget test on a third-party page
Dashboard support widget opens, replies, and handles rate-limit/failure safely
Plans & billing page loads even for trial users
Failure-mode checklist
Make sure each dependency fails gracefully and does not white-screen the app.
Supabase auth/session unavailable
Billing bootstrap failure or missing billing rows
Groq unavailable or rate-limited
Hugging Face embedding failure
Firecrawl crawl timeout or scrape failure
Razorpay env/config mismatch
Load and performance checks
These checks help catch slow pages, fragile widgets, and burst-traffic issues.
Measure homepage, login, dashboard, and widget first load times
Repeat dashboard loads for fresh accounts
Burst traffic against `/api/chat/public` and `/api/support`
Verify mobile rendering for pricing, docs, login, and widget
Current monitoring surfaces
These are the first places to inspect if a release behaves unexpectedly.

Critical route logs now include structured request-level events for chat, public chat, support, training, and billing endpoints.

Use /api/health to quickly verify the app is up and the required provider/env configuration is present.

If a user hits a white-screen or application error, inspect the server logs for the route name, request id, duration, and provider metadata first.