-
Notifications
You must be signed in to change notification settings - Fork 2
FAQ
Running a complex application with webhooks, vector databases, and background jobs locally can sometimes be tricky. Here are solutions to the most common issues you might face while developing or deploying Reposhield.
Troubleshooting steps:
- Check ngrok: Is your ngrok tunnel running? Did the URL expire or change?
-
Check GitHub App: Go to your GitHub App settings. Ensure the Webhook URL matches your current ngrok URL (e.g.,
https://<your-id>.ngrok-free.app/api/webhooks/github). -
Check GitHub Logs: In your GitHub App settings, go to "Advanced". Look at the "Recent Deliveries" tab. If there is a red
X, click it to see the exact error response from your local server. -
Check Inngest: Open the Inngest Dev Server UI (
http://127.0.0.1:8288). See if thegithub/pr.reviewevent was received and if the function started executing.
A: This means the Polar webhook failed to reach your server.
- Check your
POLAR_WEBHOOK_SECRETin.envto ensure it matches the Polar dashboard. - Ensure your ngrok URL is properly configured in the Polar Webhook settings.
- Quick Fix: Click the Sync Status button on the Subscription dashboard. This manually forces a check against the Polar API, bypassing the webhook entirely.
A: This means you have hit the rate limit for your Google Gemini API key.
- Because we use Inngest, the system will automatically try to retry the job later using exponential backoff. No PR reviews are lost!
- To fix it permanently, you may need to add a billing account to your Google AI Studio account, or wait until your quota resets.
A: This usually means the repository wasn't fully indexed, or the Vector Database is empty. Ensure the github/repo.index Inngest job ran successfully when you first linked the repository on the dashboard.
A: Your Pinecone index was created with the wrong dimensions. The Gemini Embedding model (text-embedding-004) outputs vectors with exactly 768 dimensions. Ensure your Pinecone index is explicitly set to 768 dimensions and uses the cosine metric.
A: Currently, Reposhield imposes a soft limit on massive PRs (e.g., changing 10,000 lines of code) to prevent massive billing spikes. If a PR is too large, the system will gracefully fail and add a comment to the PR suggesting the developer break the changes into smaller, reviewable chunks.
A: Your DATABASE_URL in .env is incorrect, or your Postgres server isn't running. Double-check your connection string. If you are using Neon.tech, ensure your IP address isn't being blocked by their firewall rules.
Q: Console Warning: SECURITY WARNING: The SSL modes 'prefer', 'require'... are treated as aliases for 'verify-full'
A: This is a known warning with the Prisma/Postgres driver. To fix it, append ?sslmode=verify-full to the very end of your DATABASE_URL in your .env file.
A: You forgot to regenerate the client. Whenever you touch the .prisma file, you must run:
bunx prisma generateThis rebuilds the hidden node_modules/.prisma/client folder with your new types.
A: Better Auth requires you to explicitly trust external origins. Ensure your auth.ts file includes your ngrok URL in the trustedOrigins array, or set the BETTER_AUTH_URL environment variable to your ngrok URL while developing locally.
A: Next.js requires hooks like useSearchParams() to be wrapped in a React <Suspense> boundary. If you see this error, ensure the component reading the URL params is wrapped:
<Suspense fallback={<Spinner />}>
<YourComponent />
</Suspense>