Repository navigation
Troubleshooting
github-actions[bot] edited this page Nov 7, 2026
·
6 revisions
Solve common issues when running or using GraceChords.
Songs not loading
- Check your Supabase credentials (
VITE_SUPABASE_URL,VITE_SUPABASE_ANON_KEY) in.env. - Open browser DevTools → Network and look for failed Supabase API calls.
- Confirm RLS policies allow the anon role to
SELECTfrompublic.songs.
Posts not loading
- Same as above but for
public.posts.
Search returns no results
- Confirm songs exist in the
public.songsSupabase table withis_deleted = falseandstatus = 'published'(drafts are visible only to editors and above).
Upload fails
- Ensure
VITE_PPTX_WORKER_URLis set to the deployed Worker URL. - Confirm you have at least Editor role.
- Check the Worker logs in the Cloudflare dashboard for JWT or CORS errors.
Download PPTX button missing
- The button only appears when a file exists in R2 for that song slug. Upload the file via the editor first.
Chapter fails to load
- Ensure
VITE_R2_PUBLIC_URLis set to the correct R2 public URL (e.g.https://assets.gracechords.com). - In development, Vite proxies
/bible/*to this URL; it is read from the repo-root.env(restartnpm run devafter changing it). In production, the CF Pages Function (apps/web/functions/bible/[[path]].js) proxies it server-side (it also acceptsBIBLE_CDN_URL). - Confirm the R2 bucket is public or the Pages Function has read access.
Fonts missing in PDF
- Confirm PDF font files exist under
apps/web/src/assets/fonts/(UI fonts live underapps/web/public/fonts/— these are different). - Required:
NotoSans-Regular.ttf,NotoSans-Bold.ttf, and Mono variants.
PDF sections split across pages
- Edit lyrics line length, or try reducing font size. Section blocks stay together by design; a very long section may still wrap.
JPG export is single-page only — this is expected.
CF Pages build fails
- Check that all required environment variables are set in the Cloudflare Pages dashboard (especially
SUPABASE_SERVICE_ROLE_KEYon Production for the SEO build scripts; Preview builds skip them). - Review build logs in Cloudflare Pages → Deployments.
Site shows stale content after deploy
- Hard refresh (Ctrl+Shift+R / Cmd+Shift+R).
- If a service worker is caching aggressively, open DevTools → Application → Service Workers and click Unregister, then reload.
- Visit
?reset_sw=1to trigger SW cleanup.
Custom domain not resolving
- Check DNS settings in Cloudflare dashboard. CF Pages custom domains use Cloudflare DNS.
Cloudinary images not uploading
- Verify
VITE_CLOUDINARY_CLOUD_NAMEandVITE_CLOUDINARY_UPLOAD_PRESETare correct. - Confirm the upload preset in Cloudinary is set to unsigned.
PDF-and-Printing Slides-(PPTX) Build-and-Deploy Cloudflare-Infrastructure
-
User Guide
-
Editing & Admin
-
Developer Guide
-
Infrastructure
-
Mobile