Skip to main content

Common Issues

From ENGINEERING.md:
Database connection: Check DATABASE_URL, Neon dashboard status, connection pool limits in server/db.ts Migrations: Run npm run migrate manually to debug. Check drizzle/migrations/ exists. Failures are logged but don’t block startup. Quiz errors: Ensure quiz_answers table exists (migrations). Verify learner has active lesson. Check browser console. Build errors: npx tsc --noEmit to check types. rm -rf client/dist server/dist to clear cache. TS_NODE_TRANSPILE_ONLY=true for deployment. Auth issues: Verify JWT_SECRET is set. Check token expiration. Parent users scoped to own learners only.

Database Connection Problems

ECONNREFUSED

Symptom:
Causes:
  1. PostgreSQL not running
  2. Wrong host/port in DATABASE_URL
  3. Firewall blocking connection
Solutions:

Authentication Failed

Symptom:
Solution:

SSL Required

Symptom:
Solution:

Connection Pool Exhausted

Symptom:
Solution: From server/db.ts:
Or close idle connections:

AI Provider Failures

OpenRouter 401 Unauthorized

Symptom:
Solution:

OpenRouter 402 Insufficient Credits

Symptom:
Solution:
  1. Add credits at openrouter.ai/credits
  2. Fallback model will be tried automatically:
From server/config/env.ts:

OpenRouter 404 Model Not Found

Symptom:
Solution:

Bittensor Connection Timeout

Symptom:
Solution: From server/config/flags.ts:
Test Bittensor connection:

Authentication Issues

Invalid or Expired Token

Symptom:
Causes:
  1. Token expired (default 7 days)
  2. JWT_SECRET changed after token issued
  3. Malformed token
Solutions:

Forbidden (403)

Symptom:
Cause: User role doesn’t have permission for the endpoint. From server/routes.ts:
Solution:

Parent Can’t Access Learner Data

Symptom:
Cause: Learner doesn’t belong to parent. Solution:

Migration Problems

Migration Already Applied

Symptom:
Cause: Migration ran but wasn’t recorded in drizzle_migrations. Solution:

Constraint Violation During Migration

Symptom:
Cause: Existing data doesn’t meet new constraint. Solution:

Build Errors

TypeScript Compilation Errors

Symptom:
Solution:

Vite Build Fails

Symptom:
Solution:

Deploy Build Timeout

Symptom:
Solution: From ENGINEERING.md:
TS_NODE_TRANSPILE_ONLY=true for deployment.
In package.json:

Lesson Generation Issues

Lesson Generation Fails with 503

Symptom:
Causes:
  1. AI provider API down
  2. Rate limit exceeded
  3. Invalid API key
  4. Network timeout
Debugging:

Lesson Contains Placeholder Content

From ENGINEERING.md:
validateLessonSpec() rejects placeholder/stub content — generation failures return 503 (never save stubs)
Symptom: Lesson generation succeeds but contains “Lorem ipsum” or “[Placeholder]”. Cause: Validation not working properly. Solution: Check server/services/lesson-validator.ts:

Images Not Generating

Symptom: Lessons created without images. Cause: Background image generation failing silently. Debugging:
Solution:

Quiz Errors

From ENGINEERING.md:
Quiz errors: Ensure quiz_answers table exists (migrations). Verify learner has active lesson. Check browser console.

Quiz Submission Fails

Symptom:
Debugging:

Points Not Awarded

Symptom: Quiz submitted successfully but no points added. Debugging:
Solution: Tables might not exist (migration issue).

Performance Issues

Slow Response Times

Symptom: API requests taking > 5 seconds. Debugging:
Solutions:
  1. Add missing indexes:
  1. Optimize queries:

High Memory Usage

Symptom:
Solution:
Check for memory leaks:

Debugging Workflow

1

Check Server Logs

2

Test Database Connection

3

Verify Environment Variables

4

Check Health Endpoint

5

Review Recent Migrations

6

Test API Endpoints

Getting Help

GitHub Issues

Report bugs or ask questions

Discussions

Community support and feature requests

Documentation

Full documentation and guides

All One Thing Labs

Contact the development team

Next Steps

Monitoring

Set up monitoring to catch issues early

Security

Review security best practices