Commit history for src/server/sites/domain-sweep.test.ts
- Move sessions, tokens, passkeys, OAuth grants, notifications, org invitations, AI endpoints and account lifecycle into AccountState; sites, LFS and editor sessions into their scopes1054732⌁taigrr committed
- Merge feat/remove-pages1823e11⌁taigrr committed
- Merge release/billing3619d8b⌁taigrr committed
- Round 3 hosting fixes: backfill only active domains as verified, D1 lease and bounded R2 work for object GC with orphan skipping and admin alerts, safe duplicate add-on cancel, lapse clears after release and restarts on new domains, transfer cap enforcement, and 404 for Pages of deleted repos.f58928e⌁taigrr committed
- Harden hosting cost controls per review: GC re-checks before delete, aborts on unreadable manifests and takes a lease; custom domain grace covers pre-existing and ungranted domains, lapse/reconcile sweeps can't stall, quantity follows transfers and teardown, duplicate add-ons are cancelled, verified domains never expire; Pages follows the current repo owner; aliases are per-PR, reserved and dropped with their preview.9dc4854⌁taigrr committed
- Add hosting cost controls: same-day hard caps from counter flushes, metered Pages traffic with plan caps, resumable R2 object GC, SITES_ENABLED/PAGES_ENABLED kill switches with admin hosting suspension, and a global daily dynamic-site ceiling.1a38b42⌁taigrr committed
- Sell custom domains as a per-domain Stripe add-on: gate new domains on it (or a plan flag/admin grant without billing), cap 25 per account, sync quantity, release domains after a lapsed add-on's grace, and delete Cloudflare hostnames on expired claims, private Pages, repo and org deletion.9a3b4a9⌁taigrr committed