Discord Activity SPA Compliance Checklist

This checklist ensures your Discord Activity meets Discord's Single-Page Application (SPA) requirements.

✅ Code Compliance

Activity Component (code/client/pages/Activity.tsx)

Manifest Configuration (code/public/discord-manifest.json)

Context/SDK Setup (code/client/contexts/DiscordActivityContext.tsx)

✅ Data Handling

User Data

✅ Deployment & Testing

Pre-Deployment

Post-Deployment

✅ Advanced Compliance

URL Mappings (If Needed)

Security

🔍 Verification Steps

Step 1: Code Review

Step 2: Manifest Validation

Step 3: Runtime Testing

  1. Launch Activity in Discord

  2. Open DevTools (F12)

  3. Check console for [Discord Activity] logs

  4. Verify no errors about navigation/routing

  5. Click buttons and verify they open in new windows

  6. Reload Activity - should re-initialize properly

Step 4: Cross-Origin Testing

  1. In Discord DevTools:

    • Go to Console tab

    • Look for CORS errors

    • Should see ZERO CORS errors

  2. If errors found:

    • Check manifest rpc_origins

    • Verify API endpoints are accessed through Discord proxy

Common Issues & Fixes

Issue
Cause
Fix

Activity won't load

Missing frame_id in URL

Check you're in Discord iframe

"Cannot find module 'react-router'"

Router still imported

Remove router imports

Links navigate within Activity

Using href or navigate()

Change to window.open(..., "_blank")

User data doesn't load

/api/discord/activity-auth failing

Check SDK authentication success

CORS errors in console

External domains in rpc_origins

Remove from manifest, use Discord proxy

Manifest 404 error

File not in public directory

Move to code/public/discord-manifest.json

Certification Summary

When all items are checked, your Activity is:

Discord SPA Compliant - Follows all official Discord Activity requirements ✅ Properly Isolated - Runs in sandbox without breaking iframe ✅ Correctly Configured - Manifest and SDK setup are proper ✅ Ready for Production - Can be deployed safely

References

  • Discord Activities Overview: https://discord.com/developers/docs/activities/overview

  • SDK Reference: https://discord.com/developers/docs/activities/sdk-reference

  • Best Practices: https://discord.com/developers/docs/activities/security

Last updated