Troubleshooting Guide
This guide covers common issues you may encounter when using the TealTiger Playground, along with solutions, error message explanations, free tier limitations, and support resources.
Most issues stem from Supabase configuration, GitHub OAuth setup, or free tier limits. Start with the relevant section below.
Authentication Issues
GitHub OAuth sign-in fails
- Verify GitHub OAuth is enabled in Supabase → Authentication → Providers → GitHub
- Check the OAuth callback URL matches:
https://your-project.supabase.co/auth/v1/callback
- Confirm
.env.local has correct VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY
Session expires unexpectedly
- Check that your browser isn’t blocking third-party cookies
- Clear local storage for the playground domain and sign in again
Organization memberships not syncing
- Ensure the OAuth app requests the
read:org scope
- Verify your GitHub org allows OAuth app access
- Sign out and sign back in to force a sync
Supabase Connection Issues
”Failed to connect to Supabase”
- Check if your Supabase project is paused (free tier pauses after 7 days of inactivity)
- Verify environment variables are correct
- Test directly:
curl https://your-project.supabase.co/rest/v1/ -H "apikey: your-anon-key"
Preventing project pausing
Set up a GitHub Actions cron job to ping your project every 3 days:
name: Keep Supabase Active
on:
schedule:
- cron: '0 0 */3 * *'
jobs:
ping:
runs-on: ubuntu-latest
steps:
- run: curl -s "${{ secrets.SUPABASE_URL }}/rest/v1/" -H "apikey:${{ secrets.SUPABASE_ANON_KEY }}"
Row Level Security (RLS) Errors
”new row violates row-level security policy”
- Verify you’re authenticated — sign out and sign back in
- Check your workspace membership and role in Supabase →
workspace_members table
- Viewers cannot create/edit policies; Editors can create/edit but not manage members
”permission denied for table”
- Ensure RLS is enabled on all tables
- The
audit_log table is append-only — update/delete operations are blocked by design
Policy Editor Issues
Monaco Editor not loading
- Hard refresh:
Ctrl+Shift+R / Cmd+Shift+R
- Check browser console for JavaScript errors (Monaco requires WebAssembly)
- Ensure browser is up to date (Chrome 90+, Firefox 90+, Safari 15+)
- Disable content-modifying browser extensions
”Policy name already exists”
Policy names must be unique within a workspace. Choose a different name or open the existing policy from the registry.
Governance Workflow Issues
Can’t edit an Approved/Production policy
This is expected. Create a new version via “Create New Version” and submit through the approval workflow.
Emergency bypass not available
- Must be enabled in Workspace Settings → Governance
- Only workspace Owners can perform emergency bypasses
Free Tier Limitations
Supabase
| Resource | Limit | When exceeded |
|---|
| Database storage | 500 MB | Writes fail |
| Monthly active users | 50,000 | New sign-ins rejected |
| Inactivity | 7 days | Project pauses |
Vercel
| Resource | Limit |
|---|
| Bandwidth | 100 GB/month |
| Build minutes | 6,000/month |
GitHub Actions
| Resource | Limit |
|---|
| Minutes (private repos) | 2,000/month |
| Minutes (public repos) | Unlimited |
The playground displays usage warnings at 80% and 95% thresholds.
Error Message Reference
| Error | Cause | Solution |
|---|
Auth session missing | No active session | Sign in again |
new row violates row-level security policy | RLS blocked the operation | Check workspace membership and role |
duplicate key value violates unique constraint | Record already exists | Use a different name |
Policy is locked (state: approved) | Editing an approved policy | Create a new version |
VERCEL_TOKEN is not set | Missing Vercel secret | Add secret in repository Settings |
Support Resources