refactor(rebrand): update GitHub App slug to loopover-orb#5612
Conversation
Closes #4772. The GitHub App itself was renamed "Gittensory Orb" -> "Loopover ORB" directly in GitHub settings (confirmed resulting slug: loopover-orb, via https://github.com/apps/loopover-orb) -- in-place rename, not a new App registration, so existing installations and webhook deliveries are unaffected (keyed by the App's immutable ID, not its slug). Also updated on GitHub's side as part of the same change: Homepage URL -> https://loopover.ai; a second OAuth callback URL added for https://api.loopover.ai/v1/orb/oauth/callback (the old gittensory-api.aethereal.dev one stays registered until the PUBLIC_API_ORIGIN flip lands separately); Webhook URL -> https://api.loopover.ai/v1/orb/webhook (safe immediately -- that domain already routes to the same live Worker as the old one, from the earlier domain-wiring work). Code-side, the only real reference to the App's actual slug is PUBLIC_GITHUB_APP_SLUG in src/services/subnet-interface.ts -- a hardcoded product-identity constant (not env-driven) used to build the install-URL descriptor served to the Bittensor subnet registry. Updated it + the two tests asserting its value. Everything else matching "gittensory-orb"/"gittensory-orb[bot]" across the test suite (self-authored-detection fixtures, webhook sender-login test data) belongs to a DIFFERENT, already-fully-deleted review App (its own GITHUB_APP_SLUG env var was removed from wrangler.jsonc back on 2026-07-12) -- those are arbitrary, internally-consistent test strings unrelated to the Orb App's real identity, not production values, so left untouched. apps/gittensory-ui/src/routes/docs.self-hosting-release-checklist.tsx's "gittensory-orb@0.1.0" Sentry-release-id mention is a historical record of an actual past release and is deliberately never edited, same as CHANGELOG.md. ## Test plan - [x] Full local gate (`npm run test:ci` + `npm audit --audit-level=moderate`) green. - [x] Confirmed via a live fetch to https://github.com/apps/loopover-orb that the App rename produced exactly the expected slug before touching any code.
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5612 +/- ##
=======================================
Coverage 95.01% 95.01%
=======================================
Files 574 574
Lines 45684 45684
Branches 14661 14661
=======================================
Hits 43405 43405
Misses 1528 1528
Partials 751 751
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
|
Important 🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪 🔍 Gittensory is reviewing…AI analysis is in progress. This comment will update when the review is complete. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed · 🟪 Reviewing |
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-13 09:35:37 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 7 non-blocking
Linked issue satisfactionPartially addressed Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
|
Important 🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪 🔍 Gittensory is reviewing…AI analysis is in progress. This comment will update when the review is complete. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed · 🟪 Reviewing |
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-13 09:35:52 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 7 non-blocking
Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-13 09:36:06 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 7 non-blocking
Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-13 09:42:50 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 7 non-blocking
Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Summary
loopover-orb, via a live fetch tohttps://github.com/apps/loopover-orb) — an in-place rename, not a new App registration, so existing installations and webhook deliveries are unaffected (keyed by the App's immutable ID, not its slug).https://loopover.aihttps://api.loopover.ai/v1/orb/oauth/callback(the oldgittensory-api.aethereal.devone stays registered until thePUBLIC_API_ORIGINflip lands separately)https://api.loopover.ai/v1/orb/webhook(safe immediately — that domain already routes to the same live Worker as the old one, from the earlier domain-wiring work)PUBLIC_GITHUB_APP_SLUGinsrc/services/subnet-interface.ts— a hardcoded product-identity constant (not env-driven) used to build the install-URL descriptor served to the Bittensor subnet registry. Updated it + the two tests asserting its value.What was deliberately NOT touched
gittensory-orb/gittensory-orb[bot]across the test suite (self-authored-detection fixtures, webhook sender-login test data) belongs to a different, already-fully-deleted review App (its ownGITHUB_APP_SLUGenv var was removed fromwrangler.jsoncback on 2026-07-12). Those are arbitrary, internally-consistent test strings unrelated to the Orb App's real identity, not production values.apps/gittensory-ui/src/routes/docs.self-hosting-release-checklist.tsx'sgittensory-orb@0.1.0Sentry-release-id mention is a historical record of an actual past release and is deliberately never edited, same asCHANGELOG.md.Test plan
npm run test:ci+npm audit --audit-level=moderate) green.https://github.com/apps/loopover-orbthat the App rename produced exactly the expected slug before touching any code.