diff --git a/.github/workflows/ui-preview-deploy.yml b/.github/workflows/ui-preview-deploy.yml index 8984938422..c590d5cac2 100644 --- a/.github/workflows/ui-preview-deploy.yml +++ b/.github/workflows/ui-preview-deploy.yml @@ -100,7 +100,7 @@ jobs: test -d client || { echo "::error::artifact missing client/ assets dir"; exit 1; } # 3) Allowlist file extensions — fail on anything that isn't a normal web/build output (blocks # smuggled scripts/binaries). A few extensionless CF asset files are explicitly permitted. - # `zip` covers the served downloads (e.g. /downloads/gittensory-extension.zip) — a passive + # `zip` covers the served downloads (e.g. /downloads/loopover-extension.zip) — a passive # static asset wrangler only uploads (never executes), so allowing it doesn't run fork code. unexpected="$(find . -regextype posix-extended -type f \ -not -iregex '.*\.(mjs|js|cjs|map|json|css|html?|txt|svg|png|jpe?g|gif|webp|avif|ico|bmp|woff2?|ttf|otf|eot|wasm|xml|webmanifest|md|csv|zip|wgsl|glb|gltf)$' \ diff --git a/.gitignore b/.gitignore index e10fde5435..faf6ce49fa 100644 --- a/.gitignore +++ b/.gitignore @@ -51,7 +51,7 @@ coverage/ *.tsbuildinfo site/.vitepress/cache/ !migrations/*.sql -apps/gittensory-ui/public/downloads/gittensory-extension.zip +apps/gittensory-ui/public/downloads/loopover-extension.zip .worker-configuration.gen-check.d.ts # Ad-hoc operator backup files (e.g. `cp file.yml file.yml.bak-notes-20260707`) -- general # catch-alls so a stray manual snapshot never dirties `git status` on a Git-backed self-host diff --git a/apps/gittensory-extension/auth.js b/apps/gittensory-extension/auth.js index bc5d7b8294..b4913736ac 100644 --- a/apps/gittensory-extension/auth.js +++ b/apps/gittensory-extension/auth.js @@ -1,6 +1,6 @@ -export const DEFAULT_API_ORIGIN = "https://gittensory-api.aethereal.dev"; -export const EXTENSION_SESSION_REQUIRED_MESSAGE = "Set an extension session token in Gittensory extension options."; -export const EXTENSION_SESSION_EXPIRED_MESSAGE = "Extension session expired or revoked. Create a fresh extension token in Gittensory."; +export const DEFAULT_API_ORIGIN = "https://api.loopover.ai"; +export const EXTENSION_SESSION_REQUIRED_MESSAGE = "Set an extension session token in LoopOver extension options."; +export const EXTENSION_SESSION_EXPIRED_MESSAGE = "Extension session expired or revoked. Create a fresh extension token in LoopOver."; export const STORAGE_KEYS = { apiOrigin: "apiOrigin", @@ -50,10 +50,10 @@ export function validateExtensionSessionToken(value) { const token = String(value ?? "").trim(); if (!token) throw new Error(EXTENSION_SESSION_REQUIRED_MESSAGE); if (looksLikeGitHubPersonalAccessToken(token)) { - throw new Error("GitHub personal access tokens are not accepted. Create a Gittensory extension token instead."); + throw new Error("GitHub personal access tokens are not accepted. Create a LoopOver extension token instead."); } if (!GITTENSORY_SESSION_PATTERN.test(token)) { - throw new Error("Extension tokens must be Gittensory session tokens that start with gts_."); + throw new Error("Extension tokens must be LoopOver session tokens that start with gts_."); } return token; } diff --git a/apps/gittensory-extension/manifest.json b/apps/gittensory-extension/manifest.json index bcd429f9af..55671b2e48 100644 --- a/apps/gittensory-extension/manifest.json +++ b/apps/gittensory-extension/manifest.json @@ -1,10 +1,10 @@ { "manifest_version": 3, - "name": "Gittensory Maintainer Overlay", - "description": "Private Gittensory pull request context on GitHub.", + "name": "LoopOver Maintainer Overlay", + "description": "Private LoopOver pull request context on GitHub.", "version": "0.1.0", "permissions": ["storage"], - "host_permissions": ["https://github.com/*", "https://gittensory-api.aethereal.dev/*"], + "host_permissions": ["https://github.com/*", "https://api.loopover.ai/*"], "background": { "service_worker": "background.js", "type": "module" @@ -19,6 +19,6 @@ ], "options_page": "options.html", "action": { - "default_title": "Gittensory" + "default_title": "LoopOver" } } diff --git a/apps/gittensory-miner-extension/manifest.json b/apps/gittensory-miner-extension/manifest.json index 5dca73f687..2e3be765f1 100644 --- a/apps/gittensory-miner-extension/manifest.json +++ b/apps/gittensory-miner-extension/manifest.json @@ -1,6 +1,6 @@ { "manifest_version": 3, - "name": "Gittensory Miner Opportunity", + "name": "LoopOver Miner Opportunity", "description": "Contributor-facing GitHub issue opportunity signals from a locally configured miner plane.", "version": "0.1.0", "permissions": ["storage"], @@ -19,6 +19,6 @@ ], "options_page": "options.html", "action": { - "default_title": "Gittensory Miner" + "default_title": "LoopOver Miner" } } diff --git a/apps/gittensory-ui/src/routes/extension.tsx b/apps/gittensory-ui/src/routes/extension.tsx index 4e489c0f6d..75f26507a2 100644 --- a/apps/gittensory-ui/src/routes/extension.tsx +++ b/apps/gittensory-ui/src/routes/extension.tsx @@ -14,13 +14,13 @@ import { cn } from "@/lib/utils"; export const Route = createFileRoute("/extension")({ head: () => ({ meta: [ - { title: "Browser extension — Gittensory" }, + { title: "Browser extension — LoopOver" }, { name: "description", content: "Private maintainer overlays on github.com. Never shown to PR authors or the public — reviewability context where you already work.", }, - { property: "og:title", content: "Gittensory · maintainer browser extension" }, + { property: "og:title", content: "LoopOver · maintainer browser extension" }, { property: "og:description", content: @@ -44,13 +44,13 @@ function ExtensionPage() { Maintainer overlays on the GitHub you already use.
- The Gittensory browser extension surfaces miner context, scoreability projections, and + The LoopOver browser extension surfaces miner context, scoreability projections, and reviewability hints on PR pages — visible only to the maintainer running it. Nothing is injected into the page or shown to the PR author.
- {/* gittensory overlay panel */} + {/* loopover overlay panel */}