Mobile app
App crashes on startup
App crashes on startup
- Clear Expo cache:
- Delete
node_modulesand reinstall: - Check for missing environment variables in
.env
Authentication fails with OAuth
Authentication fails with OAuth
- Verify
scheme: "soundcheck"inapp.config.js - Rebuild the app (OTA updates don’t include native changes):
- Check Clerk Dashboard OAuth configuration
- Ensure redirect URLs match exactly
API requests return 401 Unauthorized
API requests return 401 Unauthorized
iOS Simulator won't start
iOS Simulator won't start
npm run ios hangs or fails.Solutions:- Install Xcode Command Line Tools:
- Open Xcode and accept license agreement
- Reset simulator:
Android emulator connection issues
Android emulator connection issues
- Use
10.0.2.2instead oflocalhostfor Android emulator - Or use your machine’s IP address
- Ensure API is running and accessible
Build fails with disk space error (ENOSPC)
Build fails with disk space error (ENOSPC)
- Run cleanup script:
- Manual cleanup:
- Use cloud builds instead:
Web app
Build fails with module not found
Build fails with module not found
npm run build fails with import errors.Solutions:- Clear Next.js cache:
- Delete and reinstall dependencies:
- Check for typos in import paths
Environment variables not loading
Environment variables not loading
process.env.NEXT_PUBLIC_* returns undefined.Solutions:- Ensure file is named
.env.local(not.env) - Prefix client-side vars with
NEXT_PUBLIC_ - Restart dev server after adding new variables
- Check for syntax errors in
.env.local
Clerk authentication redirect loop
Clerk authentication redirect loop
- Check
CLERK_SECRET_KEYis set (server-side) - Clear browser cookies and local storage
- Verify Clerk Dashboard redirect URLs include
localhost:3000
API requests fail with CORS error
API requests fail with CORS error
CORS_ORIGINS.Solutions:- Check that
CORS_ORIGINSincludes your browser’s origin. For local dev the defaults coverhttp://localhost:3000(Next.js),http://localhost:8081(Expo Web / Metro), andhttp://localhost:8082(legacy) - If you’re running the web app on a non-default port, add it to
CORS_ORIGINSin your API.env - In deployed environments,
CORS_ORIGINSmust be explicitly set (e.g.https://app.soundchecklive.io) - Native mobile apps (iOS/Android) are not affected by CORS — only browser-based clients
TypeScript errors in VS Code but build succeeds
TypeScript errors in VS Code but build succeeds
npm run build works.Solutions:- Restart TypeScript server:
Cmd+Shift+P→ “TypeScript: Restart TS Server” - Check
tsconfig.jsonpaths match your setup - Run
npm run typecheckto see actual errors
API
Docker containers won't start
Docker containers won't start
docker compose up fails or containers exit immediately.Solutions:- Check Docker Desktop is running
- View container logs:
- Check port conflicts (5433, 8080):
- Reset Docker:
Database connection refused
Database connection refused
- Ensure database container is running:
- Check
DATABASE_URLuses correct port (5433 for Docker) - Wait for database to be ready (can take 10-15 seconds)
- Check database logs:
Prisma migration fails
Prisma migration fails
prisma migrate deploy errors.Solutions:- Ensure database is accessible
- Check for pending migrations:
- Reset database (dev only):
- Check schema syntax:
Clerk JWT validation fails
Clerk JWT validation fails
- Verify
CLERK_SECRET_KEYmatches Clerk Dashboard - Check token is being sent in
Authorization: Bearer <token>header - Ensure Clerk instance is correct (test vs production)
- Check if token has expired
Webhook signature verification fails
Webhook signature verification fails
- Verify webhook secret matches Dashboard
- For Stripe: Check
STRIPE_WEBHOOK_SECRET - For Clerk: Verify signing secret in Clerk Dashboard
- Ensure request body is raw (not parsed JSON)
Infrastructure
Terraform plan fails with authentication error
Terraform plan fails with authentication error
terraform plan fails with Azure auth errors.Solutions:- Re-authenticate with Azure:
- Check service principal credentials:
- Verify
ARM_*environment variables are set
Key Vault access denied
Key Vault access denied
- Verify managed identity is assigned to App Service
- Check RBAC permissions on Key Vault
- Ensure private endpoint is configured
- Check private DNS zone is linked to VNet
VPN connection fails
VPN connection fails
- Re-import
azurevpnconfig.xmlfrom 1Password - Ensure Azure AD account is provisioned
- Check VPN gateway is running in Azure Portal
- Try disconnecting and reconnecting
CI/CD
GitHub Actions workflow fails to start
GitHub Actions workflow fails to start
- Check self-hosted runner is online
- Verify runner labels match workflow
runs-on - Check GitHub Actions service status
EAS build fails with missing credentials
EAS build fails with missing credentials
- Check
EXPO_TOKENis set in GitHub Secrets - Run credentials setup:
- For iOS: Ensure certificates aren’t expired
- For Android: Verify keystore is configured
Terraform apply fails with state lock
Terraform apply fails with state lock
- Wait for other deployment to complete
- If stuck, force unlock (use with caution):
- Check Azure Blob Storage for lock file
Getting help
If your issue isn’t covered here:- Search existing issues on GitHub
- Check logs for specific error messages
- Ask in Slack
#soundcheck-dev - Open a GitHub issue with:
- Steps to reproduce
- Expected vs actual behavior
- Relevant logs/screenshots
- Environment details (OS, versions)