Quick Diagnostics
Having issues? Start here:1
Check Status
Verify each part of the pipeline:
- ✅ Extension deployed? Check Fly.io logs
- ✅ Extension released? Check Shopify versions
- ✅ Added to checkout? Check editor settings
- ✅ Code correct? Review validation output
2
Review Logs
Check for errors:
- Browser console (F12)
- Fly.io deployment logs
- Shopify function logs
- GitHub Actions output
3
Test Locally
Reproduce the issue:
4
Consult This Guide
Find your issue below and follow the solution
Extension Issues
Extension Not Appearing in Checkout
Extension Not Appearing in Checkout
Symptoms:Common targets:Ensure version is “current” not “draft”Solution 4: Check Conditional RenderingReview your code for conditions that might hide it:
- Extension doesn’t show in checkout
- Deployment succeeded but nothing visible
- Works locally but not in production
- Go to Settings → Checkout → Customize
- Look in left sidebar for your extension
- Drag extension into desired location
- Click Save
purchase.checkout.delivery-address.render-afterpurchase.checkout.payment-method-list.render-afterpurchase.checkout.block.renderpurchase.checkout.cart-line-item.render-after
Extension Shows Blank/White Screen
Extension Shows Blank/White Screen
Symptoms:Solution 2: Verify Component ImportsSolution 3: Check for ErrorsWrap in error boundary:
- Extension space is visible but empty
- No content renders
- No console errors
Data Not Loading (undefined/null)
Data Not Loading (undefined/null)
Symptoms:Solution 2: Test Query in GraphiQLPaste your query and verify it worksSolution 3: Add Null Checks
- Hook returns undefined
- Data doesn’t populate
- GraphQL query returns null
run.graphql syntax:TypeScript Errors
TypeScript Errors
Symptoms:Solution 2: Update Type DefinitionsSolution 3: Fix Interface Definitions
- Build fails with type errors
- Red squiggles in IDE
- “Type X is not assignable to type Y”
Function Issues
Function Not Executing
Function Not Executing
Symptoms:If no logs appear, function isn’t being calledSolution 3: Test LocallySolution 4: Verify Input QueryCheck
- Discount/shipping/payment not applying
- No function logs
- Function seems inactive
- Go to Discounts in Shopify admin
- Find your discount
- Check status is “Active”
- Verify dates are current
- Check usage limits not exceeded
run.graphql has required fields:Function Returns Empty Results
Function Returns Empty Results
Symptoms:Solution 2: Check Logic ConditionsSolution 3: Verify Return Value
- Function executes but doesn’t do anything
- Logs show empty operations
- Logic seems correct
Function Timeout
Function Timeout
Symptoms:Solution 2: Optimize LoopsSolution 3: Cache CalculationsSolution 4: Reduce Query SurfaceOnly query fields you need:
- Function exceeds 5ms limit
- Execution times out
- Slow performance
Deployment Issues
Build Failed in Fly.io
Build Failed in Fly.io
Symptoms:Add type guards (see TypeScript section above)Solution 3: Fix Missing DependenciesVerify package.json:Solution 4: Node Version MismatchSpecify Node version in package.json:
- Fly.io build fails
- Red status in dashboard
- Deployment doesn’t complete
- Open Fly.io project
- Select service
- Click failed deployment
- Review build logs for specific error
Deploy Succeeds But Extension Not Updated
Deploy Succeeds But Extension Not Updated
Symptoms:Solution 2: Clear Shopify CacheSolution 3: Check Deployed VersionVerify latest version is currentSolution 4: Manually Release
- Fly.io shows success
- Extension doesn’t reflect changes
- Old version still showing
GitHub Push Failed
GitHub Push Failed
Symptoms:Solution 3: Check Branch ProtectionIf pushing to ⚠️ Only if you’re sure. This overwrites remote history.
- Cannot push to repository
- Permission denied error
- Authentication failed
- Go to GitHub Settings → Developer settings → Personal access tokens
- Delete old token
- Create new token with
repoandworkflowscopes - Update in Synapse settings
main, disable branch protection temporarilySolution 4: Force Push (Careful!)Performance Issues
Slow Extension Load
Slow Extension Load
Symptoms:Target: < 50KBSolution 2: Remove Large DependenciesSolution 3: Lazy Load ComponentsSolution 4: Optimize Re-renders
- Extension takes > 1 second to appear
- Checkout feels sluggish
- Loading spinner shows too long
High Memory Usage
High Memory Usage
Symptoms:Solution 2: Avoid Large Data StructuresSolution 3: Use Fly.io paid planFree tier has limited memory. Upgrade for more resources.
- Browser tab crashes
- Fly.io out of memory errors
- Slow performance over time
When to Ask for Help
If you’ve tried the above solutions and still have issues:Gather Information
Before asking for help, collect:
- Generation ID
- Error messages
- Browser console logs
- Fly.io build logs
- Steps to reproduce
- Expected vs actual behavior
Contact Support
Reach out to:Email: support@synapsebuilder.orgInclude:
- Detailed description
- All error messages
- What you’ve tried
- Screenshots if helpful
Community Help
Ask the community:
Report Bugs
Emergency Rollback
If something breaks in production:1
Identify Last Working Version
2
Revert to That Version
3
Verify Fix
Check checkout to ensure issue is resolved
4
Fix Issue
Fix the problem in a new branch, test thoroughly, then merge
Prevention Tips
Avoid issues before they happen:- ✅ Test locally before deploying
- ✅ Review MCP validation output
- ✅ Write unit tests for critical logic
- ✅ Monitor Fly.io logs during deployment
- ✅ Test in dev store before going live
- ✅ Use TypeScript strict mode
- ✅ Follow best practices guide
- ✅ Keep dependencies updated
- ✅ Document your changes
- ✅ Use version control properly