Files
fusion/.changeset/github-app-badge-webhooks.md
gsxdsm ab3dff2100 feat(KB-335): rename environment variables from KB_* to FUSION_*
- Rename all KB_* environment variables to FUSION_* prefix across CLI and dashboard
- Update CLI runtime files (native-patch.ts) and build configuration
- Update dashboard server, badge-pubsub, GitHub webhooks, and terminal service
- Update test files to use new FUSION_API_KEY and related env vars
- Update documentation in README, AGENTS.md, STANDALONE.md, and dashboard README
- Update changeset files with new environment variable names
2026-03-31 17:03:23 -07:00

1.0 KiB

@gsxdsm/fusion
@gsxdsm/fusion
patch

Replace GitHub badge polling with GitHub App webhook ingestion

  • Added POST /api/github/webhooks endpoint for verified GitHub App webhook delivery
  • Webhook signature verification using X-Hub-Signature-256 header
  • Support for pull_request, issues, and issue_comment (on PRs) events
  • GitHub App installation token authentication for canonical badge fetches
  • Multi-task resource matching by parsed badge URL (supports cross-repo badges)
  • Idempotent freshness updates without duplicate websocket broadcasts
  • Retained 5-minute REST refresh endpoints as fallback path
  • Removed live /api/ws dependency on GitHubPollingService lifecycle

Configuration:

  • FUSION_GITHUB_APP_ID - GitHub App ID
  • FUSION_GITHUB_APP_PRIVATE_KEY or FUSION_GITHUB_APP_PRIVATE_KEY_PATH - PEM private key
  • FUSION_GITHUB_WEBHOOK_SECRET - Webhook secret for signature verification

Required GitHub App Permissions:

  • Metadata: Read
  • Pull requests: Read
  • Issues: Read

Webhook Events: pull_request, issues, issue_comment