Iframe Issues
Microphone not working
Microphone not working
Symptoms: Microphone button is grayed out or not respondingSolutions:
-
Ensure HTTPS: Microphone access requires HTTPS in production
- Use
http://localhostfor local development - Deploy to HTTPS-enabled hosting in production
- Use
-
Check Browser Permissions:
- Click the lock icon in the address bar
- Ensure microphone permission is set to “Allow”
-
Verify iframe attributes:
-
Test in supported browsers:
- ✅ Chrome (recommended)
- ✅ Firefox
- ⚠️ Safari (limited support)
- ❌ Internet Explorer (not supported)
Iframe not loading
Iframe not loading
Symptoms: Blank iframe or loading errorSolutions:
-
Verify Scenario ID: Check that your scenario ID is correct
-
Check is_public setting:
- Scenario must have
is_public: true - Check in dashboard or via API:
- Scenario must have
-
Review browser console:
- Open DevTools (F12)
- Check Console tab for errors
- Look for CORS or CSP errors
-
Check Content Security Policy:
Events not firing
Events not firing
Symptoms: Not receiving
onStart or onStop eventsSolutions:-
Verify origin check:
-
Check event listener timing:
- Ensure listener is set up before iframe loads
- Or set up in
DOMContentLoadedoruseEffect
-
Verify iframe URL:
- Events only work with embed URLs
- Not regular app URLs
API Issues
401 Unauthorized
401 Unauthorized
CORS errors
CORS errors
Symptoms: CORS policy blocks requestSolutions:
-
Use backend proxy (recommended):
-
Never call API directly from frontend:
- ❌ Exposes your API token
- ❌ CORS issues
- ✅ Always use backend proxy
429 Rate limit exceeded
429 Rate limit exceeded
Symptoms: Too many requests errorSolutions:
-
Implement retry with backoff:
-
Cache responses:
- Cache scenario data (rarely changes)
- Cache session analysis results
Session Issues
Session not found
Session not found
Symptoms: 404 when fetching sessionSolutions:
- Wait for session to be saved:
- Session may not be immediately available after
onStop - Add a small delay (1-2 seconds) before fetching
- Session may not be immediately available after
- Verify session ID:
- Check you’re using the full session ID
- Not a truncated version
- Check permissions:
- Ensure API token has access to the session
- Organization-scoped tokens may have limited access
Analysis not available
Analysis not available
Symptoms: Analysis endpoint returns empty or incomplete dataSolutions:
- Wait for analysis to complete:
- Analysis can take 5-30 seconds
- Implement polling or show loading state
- Check if analysis is restricted:
- Scenario may have
restrict_analysis: true - Check scenario settings
- Scenario may have
- Verify session completed:
- Session must be in “completed” status
- Not “terminated” or “failed”
Development Issues
Environment variables not loading
Environment variables not loading
Solutions:
-
Check .env file location:
- Should be in project root
- Not committed to git
-
Restart development server:
- Changes to .env require restart
-
Verify variable names:
-
Check loading method:
Build errors
Build errors
Flask:
- Check Python version:
python --version(need 3.9+) - Reinstall dependencies:
pip install -r requirements.txt - Check for conflicting packages
- Check Node version:
node --version(need 18+) - Clear cache:
rm -rf .next node_modules pnpm-lock.yaml - Reinstall:
pnpm install - Check TypeScript errors:
pnpm build
Best Practices
Always use HTTPS in production
Verify iframe message origins
Store API tokens in environment variables
Use backend proxy for API calls
Implement proper error handling
Add loading states for async operations
Cache API responses when appropriate
Test in multiple browsers
Still Having Issues?
Discord Community
Ask the community for help
API Reference
Test API endpoints
Email Support
Contact our support team
Debug Checklist
When debugging issues, gather this information:- Browser and version
- Error messages from console
- Network tab showing failed requests
- Scenario ID being used
- API token validity (test endpoint)
- Environment (local, staging, production)
- Steps to reproduce the issue