refactor(infra): rename gittensory-api/-ui Cloudflare Workers and D1 database to loopover - #5569
Conversation
…database to loopover Renames both Cloudflare Worker services (gittensory-api -> loopover-api, gittensory-ui -> loopover-ui) -- a genuine in-place rename of the existing Worker resources (same underlying script identity, bindings, and routes), not a provision-new-and-cutover. Renamed live in the Cloudflare dashboard first, then wrangler.jsonc's name field updated to match in this same change, since Workers Builds' git integration requires the dashboard name and the wrangler.jsonc name field to agree or the next auto-deploy fails. Also fixes ui-preview-deploy.yml's hardcoded "gittensory-ui" references (the trusted preview wrangler config's name field, and the grep pattern that locates the deployed preview's workers.dev URL in wrangler's output) -- both would have broken the next PR preview deploy once the live rename landed, since the workflow's assumptions about the worker's name no longer matched reality. Renames the production D1 database's database_name label from "gittensory" to "loopover" in wrangler.jsonc, keeping the exact same database_id (the immutable UUID Cloudflare actually uses to resolve the binding) -- confirmed via `wrangler deploy --dry-run` that this label is a pure local config convenience with zero effect on which physical database gets bound. This is NOT a data migration: no rows moved, no export/import, zero downtime, since database_name was never the real identifier. The Cloudflare-side D1 database record itself has no known rename API and keeps its own registered name -- only the code-side reference changes. Closes #4766. Closes #4767 (via the database_name relabel described above -- no dedicated Cloudflare rename API exists for the D1 database record itself, so a full data migration was not required or attempted).
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
loopover-ui | e576ded | Commit Preview URL Branch Preview URL |
Jul 13 2026, 06:12 AM |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5569 +/- ##
=======================================
Coverage 94.96% 94.96%
=======================================
Files 572 572
Lines 45370 45370
Branches 14680 14680
=======================================
Hits 43087 43087
Misses 1532 1532
Partials 751 751
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-13 06:16:33 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 Visual preview
Click any thumbnail to open the full-size screenshot. Before = production · After = this PR's preview deploy. 🟩 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.
|
…#5579) The D1/Worker rename (#5569) updated wrangler.jsonc's d1_databases[].database_name from gittensory to loopover, but left 3 package.json scripts (deploy:api, db:migrate:local, db:migrate:remote) passing the old name as a positional arg to `wrangler d1 migrations apply`. Wrangler resolves that arg against wrangler.jsonc's own database_name/binding fields, not the database's live Cloudflare-side name, so every deploy since #5569 merged has failed with: Couldn't find a D1 DB with the name or binding 'gittensory' in your wrangler.jsonc file. blocking every push to main from deploying the API worker.
Summary
Note: the live Cloudflare-side Worker renames already happened (dashboard rename, both
gittensory-api->loopover-apiandgittensory-ui->loopover-ui) — this PR syncs the code side to match, which is required before the next push tomainor Workers Builds' auto-deploy will fail (its git integration requires the dashboard-registered Worker name andwrangler.jsonc'snamefield to agree).wrangler.jsonc/apps/gittensory-ui/wrangler.jsonc:namefield updated to match the already-renamed live Workers. This was a genuine in-place rename of the existing resources (same script identity, bindings, routes) — not a provision-new-and-cutover.wrangler.jsonc's D1 binding:database_namerelabeledgittensory->loopover, samedatabase_id(the immutable UUID Cloudflare actually uses to resolve the binding). Confirmed viawrangler deploy --dry-runthat this label has zero effect on which physical database gets bound — not a data migration: no rows moved, no export/import, zero downtime. There's no known Cloudflare API to rename the D1 database record itself, so the Cloudflare-side record keeps its own registered name; only the code-side reference changes..github/workflows/ui-preview-deploy.yml: fixed hardcoded"gittensory-ui"references (the trusted preview wrangler config'snamefield, and the grep pattern that locates the deployed preview'sworkers.devURL in wrangler's output) — both would have broken the next PR preview deploy now that the live rename has landed.Test plan
wrangler deploy --dry-runon both Workers — clean, bindings resolve correctly under the new names.npm run test:cigate green (one transient, unrelated flake inminer-attempt-worktree.test.ts— a known temp-git-repo signing-gate timing issue, confirmed by re-running in isolation).ui-preview-deploy.ymlhad real hits, now fixed.Closes #4766. Closes #4767 (via the
database_namerelabel described above — no data migration was required or attempted, since Cloudflare D1's binding resolves by immutable UUID, not by this human-readable label).