Troubleshooting
Common issues and how to solve them with diffray's GitHub App integration.
Review Not Starting
Pull request created but no review started.
Check 1: Repository Added
Verify repository is authorized:
- Go to diffray dashboard → Repositories
- Check if your repository is in the "Authorized Repositories" list
If not listed:
- Add the repository by clicking "+ Add Repository"
- See: Adding Repositories
Check 2: GitHub App Installed
Verify GitHub App has access:
- Dashboard → Repositories → Check "Your Organizations" section
- Look for ✓ "App Installed" next to your account/organization
If App not installed:
- Click "Install App" button
- Or install directly: https://github.com/apps/diffray/installations/select_target
- See: GitHub App Setup
Check 3: Repository Selected in GitHub App
Verify repository has access:
- Go to GitHub: Settings → Applications → Installed GitHub Apps
- Find "diffray" and click "Configure"
- Check if your repository is in the selected list
If not selected:
- Add the repository to GitHub App access
- Return to diffray and click "Refresh"
Check 4: Review Limits
Check if you've reached your limit:
- Dashboard → Billing
- Check "Reviews Remaining" or "Daily Reviews Remaining" (trial)
If no reviews remaining:
- Wait for daily reset (00:00 UTC for trial)
- Or upgrade to a paid package
- See: Limits and Billing
Check 5: Concurrent Reviews
Check concurrent review limit:
If you see an error like:
❌ Too many concurrent reviews running: 2/2
Solution:
- Wait for existing reviews to complete (5-10 minutes)
- Or upgrade to package with higher concurrent limit
- See: Limits
No Comment Posted
Review executed but no comment appeared in PR.
Check 1: Review Status
Check review status in dashboard:
- Dashboard → Dashboard → Recent Reviews
- Find your PR and check status
Status meanings:
- Pending 🟡 - Waiting to start (< 1 min)
- Processing 🟡 - Analyzing code (5-10 min)
- Completed ✅ - Should have comment in PR
- Failed ❌ - See error details
Check 2: GitHub Check Run
In the PR on GitHub:
- Scroll to "Checks" section at bottom
- Find "diffray Code Review" check
- Click "Details" to see logs and errors
Check status:
- ✅ Success - Comment should be posted
- ❌ Failure - Check error message
- 🟡 In Progress - Wait for completion
Check 3: GitHub App Permissions
Verify App has comment permissions:
- GitHub: Settings → Applications → Installed GitHub Apps
- Click "Configure" on diffray
- Scroll to "Permissions" section
- Verify:
- ✅ Pull requests: Read and write
- ✅ Issues: Read and write (for labels)
If permissions missing:
- Uninstall and reinstall GitHub App
- Permissions should be requested during installation
Check 4: Wait Longer
AI analysis takes time:
- Small PR (1-5 files): 5-7 minutes
- Medium PR (5-15 files): 7-10 minutes
- Large PR (15+ files): 10-15 minutes
If > 20 minutes:
- Check Dashboard for status
- Review likely failed
- Check GitHub Check Run for error
Label Issues
Problems with automatic status labels.
Labels vs GitHub Check Run
diffray uses two status indicators that work in parallel:
| Indicator | Where | Purpose |
|---|---|---|
| Labels | PR sidebar | Quick visual status, manual rerun trigger |
| GitHub Check Run | PR "Checks" section | Detailed logs, error messages, CI integration |
Key differences:
- Labels can fail to update due to permission issues, but Check Run usually works
- Check Run provides detailed error messages and logs
- Labels allow manual rerun (add
diffray-reviewlabel) - Check Run integrates with branch protection rules
If labels are stuck but Check Run shows completion:
- Check Run status is authoritative
- Manually remove/add labels if needed
Labels Not Appearing
Problem: diffray-review-started label not added
Check:
- Verify GitHub App has "Issues: Read and write" permission
- Repository Settings → Labels → Check if label exists
- If label doesn't exist, diffray will try to create it
Solution:
- Manually create labels with correct names:
diffray-review-started(yellow/orange)diffray-review-completed(green)diffray-review-failed(red)diffray-review(blue - for manual triggers)
Label Not Updating
Problem: Label stuck on diffray-review-started for > 20 minutes
Check:
- Check GitHub Check Run status - may show actual status
- Check Dashboard for review status
- Review may have failed but label didn't update
Solution:
- Manually remove stuck label
- Add
diffray-reviewlabel to restart - See: Rerun Review
Multiple Status Labels
Problem: Both started and completed labels present
Cause: Race condition or synchronization error
Solution:
- Manually remove both labels
- Add
diffray-reviewlabel for clean restart - Should only have one status label at a time
Review Failures
Review fails with error.
"Repository not found" Error
Causes:
- Repository deleted or renamed
- diffray lost access to repository
- Branch deleted
Solutions:
- Verify repository exists on GitHub
- Check repository is in diffray → Repositories
- Verify GitHub App still has access
- Check branch exists with:
git ls-remote origin <branch-name>
"Permission denied" Error
Causes:
- GitHub App missing permissions
- Repository made private
- Organization policy changed
Solutions:
- Reinstall GitHub App with correct permissions
- For private repos, verify App has access
- Check organization settings if applicable
"Timeout" Error
Causes:
- Very large PR (> 1000 files)
- Complex codebase requiring long analysis
- GitHub API slowness
Solutions:
- Split large PRs into smaller ones
- Retry the review (may work on second try)
- Contact support if consistently timing out
"Clone failed" Error
Causes:
- Repository too large
- Git LFS files
- Network issues
Solutions:
- Check repository size (< 5GB recommended)
- Ensure Git LFS files are accessible
- Retry the review
Note: Clone failures receive automatic refund
GitHub Check Run Issues
Check Never Appears
Problem: No "diffray Code Review" check in PR
Causes:
- Webhook not delivered from GitHub
- Repository not added to diffray
- GitHub App not installed
Solutions:
- Verify repository added: Dashboard → Repositories
- Verify GitHub App installed on repository
- Try manual trigger: Add
diffray-reviewlabel
Check Stuck on "Queued"
Problem: Check shows "Queued" for > 5 minutes
Causes:
- Concurrent review limit reached
- System queue backup (rare)
Solutions:
- Check concurrent review limit: Dashboard → Billing
- Wait for other reviews to complete
- If persists > 15 minutes, contact support
Check Shows "Failure" with No Details
Problem: Check fails but no error message
Causes:
- Internal error before logging started
- GitHub Check API issues
Solutions:
- Check Dashboard for actual error message
- Retry review: Add
diffray-reviewlabel - Contact support with reviewId
Dashboard Issues
Can't Sign In
Problem: Login fails or redirects endlessly
Solutions:
- Clear browser cache and cookies for app.diffray.ai
- Try incognito/private window
- Disable browser extensions (especially ad blockers)
- Try different browser
- Check GitHub.com is accessible and you're logged in
Reviews Not Showing
Problem: Dashboard empty but reviews were triggered
Solutions:
- Refresh page (F5 or Cmd+R)
- Wait a few seconds - data may be loading
- Check you're signed in with correct GitHub account
- Try signing out and back in
Repository Not in List
Problem: Can't find repository when adding
Solutions:
- Click "Refresh" in the modal
- Verify GitHub App is installed on that account/organization
- Check repository is selected in GitHub App settings:
- GitHub → Settings → Applications → Installed GitHub Apps → Configure
- Private repositories need App installed with access
Webhook Delivery Issues
How to Check Webhook Deliveries
GitHub delivers webhooks to diffray automatically. To verify:
- Repository → Settings → Webhooks
- Look for webhook with diffray URL (managed by GitHub App)
- Click to see recent deliveries
Note: With GitHub App, webhooks are managed automatically. You should not manually create webhooks.
Webhook Shows Failures
If you see webhook delivery failures:
-
Check error code:
- 403 Forbidden - Repository not authorized in diffray
- 404 Not Found - Repository deleted from diffray
- 429 Too Many Requests - Rate limit (rare)
- 500 Server Error - Contact support
-
Solutions:
- Add repository in Dashboard → Repositories
- Verify GitHub App still installed
- Wait a few minutes and check if resolved
Billing Issues
Review Not Counted After Failure
Problem: Review failed but count decreased
Expected: Automatic refund for system failures
Check:
- Dashboard → Billing → Transaction History
- Look for "refund" transaction
- Refunds happen for:
- Timeout errors
- GitHub API errors (403, 404, 500)
- Clone failures
- Internal errors
Not refunded:
- Code syntax errors preventing analysis
- Repository access issues (deleted branch, no permissions)
Unexpected Charge
Problem: Review count decreased unexpectedly
Check what counts as a review:
- Opening new PR ✅
- Pushing to existing PR ✅
- Reopening PR ✅
- Adding
diffray-reviewlabel ✅ - Failed reviews ❌ (refunded)
- PR comments ❌
- Label changes ❌
See: Limits and Billing
Performance Issues
Review Taking Too Long
Problem: Review taking > 15 minutes
Typical times:
- Small PR: 5-7 minutes
- Medium PR: 7-10 minutes
- Large PR: 10-15 minutes
If consistently slow:
-
Check PR size:
- Files changed > 50: Consider splitting
- Lines changed > 2000: May be slow
-
System may be under load:
- Wait for completion
- Try again if it times out
-
Contact support if:
- Consistently > 20 minutes
- Small PRs taking long
Getting Help
Before Contacting Support
Gather this information:
- ✅ Repository name (owner/repo)
- ✅ PR number
- ✅ Review ID (from Dashboard)
- ✅ Error message (from Check Run or Dashboard)
- ✅ Screenshot of issue
- ✅ When it happened (date/time)
Self-Service Resources
- This troubleshooting guide (you are here!)
- Documentation:
Contact Support
Email:
- support@diffray.ai
- Include all information above
- Response time: Usually within 24 hours
GitHub Issues:
- For bugs and feature requests
- Check existing issues first
Common Questions
Can I cancel a running review?
Not currently. Reviews run to completion or fail. If you close the PR, the review will still complete but won't post a comment.
Why did my review fail with no error?
Check Dashboard for actual error message. GitHub Check Run may not show all details.
Can I rerun a failed review?
Yes! Add the diffray-review label to trigger a new review. Failed reviews are automatically refunded.
See: Rerunning Reviews
How do I disable reviews for a repository?
Remove the repository from Dashboard → Repositories → Click "Remove" button.
Can I review PRs from forks?
Currently, only PRs from branches in the same repository are supported. Fork PRs are not yet supported.
Still need help? Email us at support@diffray.ai