- 15 new modules with 2000-3000 char markdown content
- 1 quiz question per module with explanation
- audioPath set to .m4a for all 15 modules (TTS-ready)
- Added local TTS generation script (scripts/generate-tts-local.js)
- Added .gitignore for generated audio files
- Total: 7 courses, 32 modules in seed-learn.json
Note: Audio files are generated locally via generate-tts-local.js.
They are excluded from git (see .gitignore) due to large binary size.
For production MP3s, use Azure/ElevenLabs via Gitea's generate-audio.py.
- App healer (v7): checks DNS healer every 30s, restarts if down
- DNS healer (v2): checks app healer every 60s, restarts if down
- scripts/watchdog.sh: ultimate fallback cron job (every 5 min)
revives both healers if both are down simultaneously
- Installed to /usr/local/bin/falah-watchdog + /etc/cron.d/falah-watchdog
Three-layer defense:
Layer 1: Docker --restart unless-stopped (instant)
Layer 2: Cross-heal between the two healers (30-60s)
Layer 3: Cron watchdog (5 min, last resort)
- Removed Apple from OAuth lib (config, exchange, provider type)
- Removed Apple button from auth page
- Removed Apple tab from setup guide page
- Removed Apple env vars from .env, .env.example, docker-compose.yml
- Removed Apple prompts from setup-sso.sh