Skip to main content

General Issues

”Integration not showing in sidebar”

Troubleshooting Steps:
Go to Account → Integrations and verify the integration is listed and active.
Integrations require authentication. Make sure you’re signed in.
Sometimes a simple refresh resolves state issues.
Open DevTools (F12) and look for errors in the Console tab.
Clear your browser cache and reload: Ctrl+Shift+R (Windows) or Cmd+Shift+R (Mac)

Supabase-Specific Issues

”Failed to connect to Supabase”

Common Causes and Solutions:
  • Invalid URL
  • Invalid Anon Key
  • Project Paused
  • Network Issues
Error: URL format is incorrectSolution: Ensure the URL follows this pattern:
https://[project-id].supabase.co
❌ Wrong: supabase.co/my-project✅ Correct: https://abcdefgh.supabase.co

”RLS policy error” in generated code

Error Message:
new row violates row-level security policy for table "posts"
What It Means: Row Level Security (RLS) is enabled but the query doesn’t have permission. Solutions:
1

Check if user is authenticated

const { data: { user } } = await supabase.auth.getUser()
console.log('Current user:', user)
If user is null, authentication is required.
2

Review RLS policies

Go to Supabase → Authentication → PoliciesMake sure you have policies like:
CREATE POLICY "Enable read for authenticated users"
  ON posts FOR SELECT
  USING (auth.role() = 'authenticated');
3

Temporary: Disable RLS for testing

ALTER TABLE posts DISABLE ROW LEVEL SECURITY;
Only for testing! Re-enable RLS before going to production.

”Missing environment variables”

Error:
TypeError: Cannot read property 'VITE_SUPABASE_URL' of undefined
Solution:
  1. Create .env.local file in project root:
.env.local
VITE_SUPABASE_URL=https://xxxxx.supabase.co
VITE_SUPABASE_ANON_KEY=your-anon-key
  1. Restart your dev server:
npm run dev
Variable names might differ based on framework:
  • Vite: VITE_
  • Next.js: NEXT_PUBLIC_
  • Create React App: REACT_APP_

TypeScript errors with Supabase types

Error:
Property 'posts' does not exist on type 'Database["public"]["Tables"]'
Solutions:
npm install @supabase/supabase-js
npx supabase gen types typescript --project-id YOUR_PROJECT_ID > src/types/database.types.ts
Ensure the table name in your code matches the actual table name in Supabase (case-sensitive).
If you changed your schema, regenerate the types file.

Connection Test Failures

”Latency too high” warning

What It Means: Connection takes longer than expected (>1000ms). Impact:
  • Slower application performance
  • Poor user experience
  • Possible timeout errors
Solutions:
  1. Choose a closer region: Create a new Supabase project in a region closer to your users
  2. Check your network: Test from a different network/device
  3. Upgrade Supabase plan: Free tier has lower performance
  4. Use caching: Implement client-side caching for frequently accessed data

”Permission denied”

Error: Test connection succeeds but operations fail. Causes:
  • Anon key has limited permissions
  • RLS policies are too restrictive
Solution:
  1. Review your RLS policies in Supabase
  2. Ensure the user has necessary permissions for the operation
  3. Check that RLS is properly configured for your use case

Generated Code Issues

”Cannot find module ’@/lib/supabase’”

Error:
Module not found: Can't resolve '@/lib/supabase'
Solution:
1

Check if file exists

Verify src/lib/supabase.ts was generated.
2

Check path alias configuration

In tsconfig.json:
{
  "compilerOptions": {
    "paths": {
      "@/*": ["./src/*"]
    }
  }
}
In vite.config.ts:
resolve: {
  alias: {
    '@': path.resolve(__dirname, './src')
  }
}
3

Restart dev server

npm run dev

“Too many connections” error

Error:
remaining connection slots are reserved for non-replication superuser connections
What It Means: Your app is creating too many database connections. Solutions:
import { createClient } from '@supabase/supabase-js'

export const supabase = createClient(url, key, {
  db: {
    schema: 'public',
  },
  auth: {
    autoRefreshToken: true,
    persistSession: true
  },
  global: {
    headers: { 'x-my-custom-header': 'my-app-name' },
  },
})
Don’t create a new client on every request. Import the singleton:
// ❌ Bad
function MyComponent() {
  const supabase = createClient(...)
}

// ✅ Good
import { supabase } from '@/lib/supabase'
function MyComponent() {
  // Use imported supabase
}
Free Supabase tier has connection limits. Consider upgrading.

Performance Issues

Slow query responses

Symptoms:
  • Long loading times
  • Timeout errors
  • Poor user experience
Diagnostics:
  1. Check query complexity:
// ❌ Inefficient
const { data } = await supabase
  .from('posts')
  .select('*, author(*), comments(*), likes(*)')

// ✅ Better
const { data } = await supabase
  .from('posts')
  .select('*, author(name, avatar)')
  .range(0, 9)
  1. Add indexes:
CREATE INDEX idx_posts_created_at ON posts(created_at DESC);
CREATE INDEX idx_posts_user_id ON posts(user_id);
  1. Use pagination:
const { data } = await supabase
  .from('posts')
  .select('*')
  .range(0, 19) // First 20 items

Integration Management Issues

Can’t delete integration

Error: “Integration is being used by active projects” Solution:
  1. Go to each project using the integration
  2. Disable the integration in the Integrations tab
  3. Return to Account → Integrations
  4. Try deleting again

Can’t edit integration

Error: Changes not saving or reverting Solutions:
  • Ensure all required fields are filled
  • Test connection before saving
  • Check browser console for errors
  • Try clearing browser cache

Getting Help

If you’re still experiencing issues:

Reporting Bugs

When reporting integration issues, please include:

Prevention Tips

Periodically test your integration connections to catch issues early.
Rotate API keys regularly and update them in CodeRocket.
Check your service dashboards (Supabase, etc.) for usage limits and errors.
Test integration changes in a staging project before applying to production.
If you customize generated code, document your changes for future reference.