[TABLE_NAME], [path], and [MAX_CHARS]. Replace these with your actual values before pasting into Rocket chat.Supabase issues
App stuck or showing errors after adding Supabase
App stuck or showing errors after adding Supabase
- Open your project settings and go to the Supabase integration panel
- Check the migrations panel and push any pending migration scripts
- Log into the Supabase dashboard and verify your project is active (not paused). If paused, click “Restore” to reactivate it
- Under Authentication > URL Configuration, confirm your redirect URLs match your app’s URLs
RLS blocking queries (empty results or policy errors)
RLS blocking queries (empty results or policy errors)
- Open the Supabase dashboard and navigate to the table in question
- Check the “Policies” tab to see if any RLS policies exist
- If no policies exist, create policies that allow authenticated users to read rows and modify only their own rows
- If policies exist, verify they match the expected user role and auth state
JWT token errors
JWT token errors
- Open Code View and verify that
SUPABASE_URLandSUPABASE_ANON_KEYenvironment variables are set correctly - Check that the Supabase client is imported and initialized in your code
- Make sure your app refreshes the auth session automatically so expired tokens get renewed
- If tokens keep expiring, redirect the user to the login page instead of showing a broken state
Redirect URL mismatch (auth callback failing)
Redirect URL mismatch (auth callback failing)
- Go to the Supabase dashboard > Authentication > URL Configuration > Redirect URLs
- Add your app’s callback URL (for example,
https://your-app.builtwithrocket.new/auth/callback) - For local development, also add
http://localhost:[PORT]/auth/callback - Make sure the auth callback handler in your code extracts the session from the URL hash correctly
Social auth not working
Social auth not working
Storage bucket permission errors
Storage bucket permission errors
- In the Supabase dashboard, go to Storage and confirm the bucket exists
- If the bucket is private, add RLS policies to allow uploads and downloads for authenticated users
- If you need public access (e.g., for profile images), set the bucket to public
- Verify the file path format in your upload code matches what the policies expect
Stripe issues
Webhook not firing
Webhook not firing
- In the Stripe dashboard, go to Developers > Webhooks and verify the endpoint URL points to your deployed app (e.g.,
https://your-app.builtwithrocket.new/api/webhooks/stripe) - Copy the webhook signing secret and add it as an environment variable in your app
- Make sure the endpoint parses the raw request body (not JSON-parsed) for signature verification
- For local testing, use the Stripe CLI:
stripe listen --forward-to localhost:[PORT]/api/webhooks/stripe
Test mode vs. live mode confusion
Test mode vs. live mode confusion
sk_test_...) with live mode products, or live keys (sk_live_...) with test mode products. Test and live environments are completely separate in Stripe.How to fix it:- Check your environment variables:
STRIPE_SECRET_KEYandSTRIPE_PUBLISHABLE_KEY - For development, make sure both keys start with
sk_test_andpk_test_ - Verify that product and price IDs were created in the same environment (test or live) as your keys
- When going to production, swap to live keys and recreate products in live mode
Checkout redirect not working
Checkout redirect not working
success_url or cancel_url in the checkout session uses a relative path instead of an absolute URL, or the domain is not configured in Stripe settings.How to fix it:- Open your checkout session creation code and verify
success_urlandcancel_urluse absolute URLs (e.g.,https://your-app.builtwithrocket.new/success) - For development, use
http://localhost:[PORT]/success - Include any required query parameters like
session_id={CHECKOUT_SESSION_ID} - Test both the success and cancel flows
Subscription status not updating
Subscription status not updating
checkout.session.completed or customer.subscription.updated), or the database is not being updated when the webhook fires.How to fix it:- Verify your webhook endpoint is receiving events (check Stripe dashboard > Developers > Webhooks > Recent events)
- Confirm your handler processes these events:
checkout.session.completed,customer.subscription.updated,customer.subscription.deleted - Check that the handler updates the user’s subscription status in your database after processing each event
- Add logging to your webhook handler to trace what happens when each event arrives
Email issues (Resend/SendGrid)
Emails not sending (API key missing or sender not verified)
Emails not sending (API key missing or sender not verified)
- Open Code View and verify your email API key environment variable is set (e.g.,
RESEND_API_KEYorSENDGRID_API_KEY) - Confirm the API key is only accessed server-side to avoid exposing it
- For development with Resend, use
onboarding@resend.devas the sender address - For production, verify your custom domain in the provider’s dashboard by adding the required DNS records
Emails going to spam
Emails going to spam
- In your domain’s DNS settings, add the SPF, DKIM, and DMARC records provided by your email service
- Use a recognizable “from” name (e.g., “YourApp Team”) instead of a generic address
- Avoid spam trigger words, all-caps, and excessive punctuation in subject lines
- Include a plain-text version alongside HTML and add an unsubscribe link
Auth emails not branded (Supabase SMTP not configured)
Auth emails not branded (Supabase SMTP not configured)
- Set up a Resend account and verify your domain
- In the Supabase dashboard, go to Project Settings > Authentication > SMTP Settings
- Enable “Custom SMTP” and enter your Resend SMTP credentials (host:
smtp.resend.com, port: 465, username:resend, password: your API key) - Customize your email templates under Authentication > Email Templates
AI integration issues (OpenAI/Anthropic/Gemini)
Rate limit errors
Rate limit errors
- Add a loading state that disables the trigger button while a request is in progress
- Debounce user-triggered AI calls so rapid clicks do not send multiple requests
- Implement exponential backoff retry on 429 errors (wait 1s, then 2s, then 4s)
- Cache recent AI responses to avoid duplicate requests for the same input
- If you hit limits frequently, consider upgrading your API plan with the provider
Token limit exceeded
Token limit exceeded
- Truncate input text to a reasonable character limit before sending
- Show a warning if the user’s input is too long
- For long content, split it into chunks, process each chunk, then combine the results
- Consider using a model with a larger context window
Model not responding
Model not responding
- Verify the API key environment variable is set and correct
- Check the model name is spelled correctly (e.g.,
gpt-4onotgpt4o) - Set a 30-second timeout on the API call
- Add a “Cancel” button so users can abort a stuck request
- Check the provider’s status page to rule out outages
Deployment issues
Launch button is greyed out
Launch button is greyed out
Environment variables missing in production
Environment variables missing in production
- Click your task name in the top-left of the editor, then click Settings
- Under Task, click Environment
- Switch to the Production tab and verify all required keys have real values set
- Relaunch the app after updating any variables
Custom domain not resolving
Custom domain not resolving
- Follow the DNS setup instructions shown in Rocket’s custom domain flow exactly
- Wait up to 48 hours for DNS propagation
- Use a DNS lookup tool (like dnschecker.org) to verify records are set correctly
Deployed app behaves differently from the preview
Deployed app behaves differently from the preview
- Relaunch the app from the Launch panel to push the latest version
- Check that all required environment variables are set correctly in Code View
- Confirm you are viewing the version you intend to deploy
Web app issues
Blank white screen
Blank white screen
- Open the browser console (F12 → Console tab) and look for error messages
- Copy the error and paste it into Rocket chat - Rocket will diagnose and fix it
Navigation links go to a 404 page
Navigation links go to a 404 page
API route returns a 500 error
API route returns a 500 error
- Open browser DevTools (F12 → Network tab), find the failing request, and check the response body for the specific error
- Share the error message with Rocket in chat for a targeted fix
Dark mode doesn't apply to all elements
Dark mode doesn't apply to all elements
- Identify which components look wrong in dark mode by toggling it on in the preview
- Ask Rocket to update those components to use Tailwind’s theme-aware color tokens
Mobile app issues
Simulator shows a grey screen
Simulator shows a grey screen
- Check the error overlay in the simulator for details
- Copy the error message and paste it into Rocket chat - Rocket will fix the widget tree
Navigation doesn't work as expected
Navigation doesn't work as expected
Images or assets don't load
Images or assets don't load
pubspec.yaml and placed in the assets/ directory. A missing declaration or wrong file path causes the load to fail.How to fix it:- Open code view and verify the asset path in the widget matches the file location
- Check
pubspec.yamlto confirm the asset is listed underflutter: assets: - Ask Rocket to fix the asset reference if it’s incorrect
App crashes on launch
App crashes on launch
main.dart.How to fix it:Tell Rocket the exact error message from the simulator overlay - it will fix the initialization issue.Preview and editor issues
Changes not showing in preview
Changes not showing in preview
- Wait 1-2 minutes for the build to complete
- Refresh the preview panel
- Check the chat history for any error messages during code generation
- If the issue persists, use the
/fixcommand or ask Rocket to regenerate the changes
Visual Edit not working
Visual Edit not working
- Make sure you are using Rocket on a web browser, not the iOS app
- Try clicking on a different, simpler element to confirm Visual Edit is active
- For elements that are not selectable, use the chat interface instead to describe the change you want
- If Visual Edit was working before but stopped, refresh the page
Figma import issues (permissions, rate limits, design guidelines)
Figma import issues (permissions, rate limits, design guidelines)
- In Figma, click Share and verify that “Anyone with the link” can view the file
- If you see a rate limit error, wait a few minutes and try again. See Rate Limit Errors for details
- Review the Figma Design Guidelines to ensure your design follows best practices
- Common design issues include ungrouped layers, components outside screen boundaries, and invisible components
Intelligence issues
Intelligence wizard is not completing
Intelligence wizard is not completing
- Ensure your business URL is a valid, publicly accessible URL (e.g.,
https://yourcompany.com) - If the competitor URL step fails, verify each URL is a real, publicly accessible website
- Refresh the page and re-open the wizard from the Intelligence card on the home screen - your progress may be saved
- If the issue persists, try a different browser or clear your cache
Not receiving Intelligence briefs
Not receiving Intelligence briefs
- Check your notification channels - confirm Push notifications are enabled in your browser and the correct email is set in your account
- Allow 1 to 3 hours after approval for the initial data collection to complete
- Check the Intelligence panel in your sidebar - signals and briefs appear there directly, even if push notifications are off
- Verify your brief frequency setting. If you selected Weekly, your first brief arrives at the end of your first monitoring week
No signals appearing in the dashboard
No signals appearing in the dashboard
- Wait at least 24 hours after approval before expecting signals - the initial scan takes time
- Verify that the competitor URLs you added are live, public websites (not behind login pages)
- Open All signals feed from the VIEWS section in the sidebar to see every detected change unfiltered
- If a competitor has been quiet, that is itself a valid signal - Intelligence only surfaces changes, not absence of activity
A competitor URL is not being tracked correctly
A competitor URL is not being tracked correctly
- Confirm the URL you added is the competitor’s main public website (not a login page, subdomain, or app URL)
- Try re-adding the competitor using their root domain (e.g.,
https://competitor.comrather thanhttps://competitor.com/product/features) - New competitors added after the initial wizard run appear in the sidebar. Click + Add competitors in the Intelligence panel to add them
Solve issues
Report is too generic or surface-level
Report is too generic or surface-level
- Specific companies, markets, or topics to cover
- Your context (who you are, what decision you’re making)
- The format you want (comparison table, recommendation with trade-offs, ranked list)
- Constraints (geography, time frame, company size)
Solve keeps using prompt intelligence before starting
Solve keeps using prompt intelligence before starting


- In the Supabase dashboard, go to Authentication > Providers and enable the social provider you want (e.g., Google, GitHub)
- Enter the OAuth client ID and client secret from the provider’s developer console
- Copy the callback URL from Supabase and add it to the provider’s authorized redirect URIs
- In your Rocket app, verify the login button calls the correct Supabase social auth method
Prompt to paste in Rocket chat: