diff --git a/apps/loopover-ui/src/components/site/github-stats-chip.test.tsx b/apps/loopover-ui/src/components/site/github-stats-chip.test.tsx index 4e6bf58475..c910841a96 100644 --- a/apps/loopover-ui/src/components/site/github-stats-chip.test.tsx +++ b/apps/loopover-ui/src/components/site/github-stats-chip.test.tsx @@ -64,7 +64,7 @@ describe("GithubStatsChip", () => { // The fallback should have been called with the direct GitHub repos endpoint expect(vi.mocked(fetch)).toHaveBeenCalledWith( - "https://api.github.com/repos/jsonbored/gittensory", + "https://api.github.com/repos/jsonbored/loopover", expect.objectContaining({ headers: { accept: "application/vnd.github+json" } }), ); }); diff --git a/apps/loopover-ui/src/components/site/github-stats-chip.tsx b/apps/loopover-ui/src/components/site/github-stats-chip.tsx index 491ba8640b..8afe12855b 100644 --- a/apps/loopover-ui/src/components/site/github-stats-chip.tsx +++ b/apps/loopover-ui/src/components/site/github-stats-chip.tsx @@ -7,8 +7,8 @@ import { cn } from "@/lib/utils"; import { getApiOrigin } from "@/lib/api/origin"; import { apiFetch, notifyApiFailure, notifyApiRecovered } from "@/lib/api/request"; -const REPO = "jsonbored/gittensory"; -const CACHE_KEY = "gh-stats-jsonbored-gittensory"; +const REPO = "jsonbored/loopover"; +const CACHE_KEY = "gh-stats-jsonbored-loopover"; const CACHE_TTL = 1000 * 60 * 10; // 10 min type RepoStats = { stargazers_count: number; forks_count: number }; @@ -42,7 +42,7 @@ function writeCache(stats: RepoStats) { async function fetchRepo(): Promise { const result = await apiFetch<{ stargazers_count?: number; forks_count?: number }>( - `${getApiOrigin()}/v1/public/github/repos/jsonbored/gittensory/stats`, + `${getApiOrigin()}/v1/public/github/repos/jsonbored/loopover/stats`, { label: "GitHub stats", timeoutMs: 6000, diff --git a/worker-configuration.d.ts b/worker-configuration.d.ts index 81892ee7f5..4fff17fbd0 100644 --- a/worker-configuration.d.ts +++ b/worker-configuration.d.ts @@ -1,5 +1,5 @@ /* eslint-disable */ -// Generated by Wrangler by running `wrangler types` (hash: d411e8ee26c7cd1c187a4a1cd446d65e) +// Generated by Wrangler by running `wrangler types` (hash: c499f8db790cb34ddd16f4c494cc34dd) // Runtime types generated with workerd@1.20260701.1 2026-05-28 nodejs_compat interface __BaseEnv_Env { REVIEW_AUDIT: R2Bucket; @@ -13,7 +13,7 @@ interface __BaseEnv_Env { GITTENSOR_REGISTRY_URL: "https://raw.githubusercontent.com/entrius/gittensor/test/gittensor/validator/weights/master_repositories.json"; SCORING_TIME_DECAY_ENABLED: "true"; LOOPOVER_AUTO_FILE_DRIFT_ISSUES: "false"; - LOOPOVER_DRIFT_ISSUE_REPO: "JSONbored/gittensory"; + LOOPOVER_DRIFT_ISSUE_REPO: "JSONbored/loopover"; PUBLIC_API_ORIGIN: "https://api.loopover.ai"; PUBLIC_SITE_ORIGIN: "https://loopover.ai"; ADMIN_GITHUB_LOGINS: "JSONbored"; @@ -43,7 +43,7 @@ interface __BaseEnv_Env { LOOPOVER_REVIEW_REPOS: ""; LOOPOVER_PUBLIC_STATS: "true"; LOOPOVER_PUBLIC_STATS_REPOS: "JSONbored/gittensory,JSONbored/awesome-claude,JSONbored/metagraphed"; - PUBLIC_REPO_STATS_ALLOWLIST: "JSONbored/gittensory"; + PUBLIC_REPO_STATS_ALLOWLIST: "JSONbored/loopover"; LOOPOVER_DUPLICATE_WINNER: "true"; LOOPOVER_OPEN_PR_FILE_COLLISION: "true"; LOOPOVER_SKIP_AUTOMATION_BOT_PRS: "true"; diff --git a/wrangler.jsonc b/wrangler.jsonc index 69ae762df3..7ad11fd7aa 100644 --- a/wrangler.jsonc +++ b/wrangler.jsonc @@ -37,7 +37,7 @@ // unaffected (decay 1.0); only aged-PR projections decay. Owner-reviewed; this is the go-live switch. "SCORING_TIME_DECAY_ENABLED": "true", "LOOPOVER_AUTO_FILE_DRIFT_ISSUES": "false", - "LOOPOVER_DRIFT_ISSUE_REPO": "JSONbored/gittensory", + "LOOPOVER_DRIFT_ISSUE_REPO": "JSONbored/loopover", // LoopOver rebrand (issue #4765): full cutover, loopover.ai only. gittensory.aethereal.dev is retired // as a production origin -- no longer routed to this Worker (see routes[] below) and no longer accepted // as a PUBLIC_SITE_ORIGIN_ALIASES redirect target. normalizeReturnTo (src/auth/github-oauth.ts) already @@ -203,7 +203,7 @@ "LOOPOVER_PUBLIC_STATS_REPOS": "JSONbored/gittensory,JSONbored/awesome-claude,JSONbored/metagraphed", // Website chrome repo stats are public and proxied through the server-side GitHub token, so require // an explicit narrow allowlist instead of letting unset config proxy arbitrary owner/repo pairs. - "PUBLIC_REPO_STATS_ALLOWLIST": "JSONbored/gittensory", + "PUBLIC_REPO_STATS_ALLOWLIST": "JSONbored/loopover", // Duplicate-winner adjudication (#dup-winner): when a same-issue cluster of OPEN PRs forms, spare exactly // ONE winner — the lowest-numbered (earliest opened) open PR — instead of blocking/closing every sibling. // Only the LOSERS get the duplicate blocker + close reason + slop penalty + panel block; the winner is