Uh oh!
There was an error while loading. Please reload this page.
chore: back-merge production into main - #577
Conversation
Promote staging → production: design-system, agents, calendar rewire, storage lockdown
No code change (empty commit, same tree as production HEAD). Purpose: make Cloudflare Workers Builds re-run the prod `frontend` build so the corrected NEXT_PUBLIC_API_URL / BACKEND_URL build variables get inlined into the client bundle. The prior live worker came from a local `npm run cf:deploy` whose build had no NEXT_PUBLIC_API_URL, so the Sign-in button saw it empty and showed 'Google sign-in is not configured'. A CI build with the build variables fixes it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-rebuild chore(deploy): trigger prod frontend rebuild (bake NEXT_PUBLIC_API_URL into client)
Promote staging to production — 285 commits (DB reconciled first)
production still serves the v4 landing — the scroll-driven knowledge graph from #513. main has carried v5 since #524, but production sits 68 commits behind it, and promoting main wholesale would also ship the gamification feature and apply 8 unrun migrations to the production database. This takes the landing and nothing else. Every file here is origin/main's version, with three deliberate departures: - lib/api.ts gains only `subscribeToNewsletter`, which the beta CTA calls and production lacks. Taking main's whole api.ts would have brought the gamification client with it. POST /api/newsletter/subscribe already exists on production's backend, so the CTA works as shipped. - globals.css takes the 238-line .landing-dc/.landing-v5 block only. The one other addition in main's copy — the sap-burst keyframe behind an achievement badge in BadgeModal — belongs to a component this branch does not have. - The v4 marketing components it replaces are deleted (FeatureBand, SurfaceBento, featureBands, graph/, surfaces/). Nothing outside components/marketing/ imported them; marketing/ now matches main. e2e follows the same rule: landing-graph.spec.ts drives the v4 graph section this removes, so it goes; landing-drag-field.spec.ts and the public-seo copy assertions come across. support/db.ts's additions stay behind — those are gamification's. Verified on this branch: tsc --noEmit clean, DEPLOY_ENV=production next build clean, and the 44 landing unit tests pass. three@^0.184.0 is already a production dependency; layout.tsx, sitemap.ts and robots.ts needed no change. No backend change, no migration. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CI's `eslint . --max-warnings=-1` exits 2 on "There are suppressions left that do not occur anymore" — 0 errors, but a stale entry is still a failure. The three suppressed violations under src/app/(public)/page.tsx belonged to the v4 landing (no-html-link-for-pages, two prefer-const, and a set-state-in-effect); the v5 page this replaces has none of them. Pruned with `eslint . --prune-suppressions`, the remedy the error names. main's copy of this file does not list that page either, so this converges on the same state rather than inventing one.
feat(landing): port the v5 marketing landing onto production
Deploying with |
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs | frontend | 0872986 | Aug 23 2026, 07:01 AM |
Deploying with |
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs | frontend-staging | 0872986 | Commit Preview URL Branch Preview URL | Aug 23 2026, 07:03 AM |
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This pull request has been ignored for the connected project Preview Branches by Supabase. |
Restores the ancestry
make promoterequires. Merging this leaves main's tree byte-identical to what it is now.Why
productioncarries 6 commitsmaindoesn't:56d1ac2/7d7f8e7/434458d— the v5 landing port (feat(landing): port the v5 marketing landing onto production #576) and its lint-suppression prune6ec3d0f,4cf87f1,a0b46ef— oldermain → productionmerge commitsc2b1f3c—chore(deploy): trigger prod frontend rebuild(chore(deploy): trigger prod frontend rebuild (bake NEXT_PUBLIC_API_URL into client) #314)make promote's preflight blocks withproduction-divergedwhenever production holds commits that were never back-merged, and that guard has no override flag — without it the merge step would fail only after migrations had already applied to the production database. This clears it.Verification
Merging
origin/productionintoorigin/mainlocally:eslint-suppressions.json,globals.cssandlib/api.tseach resolve on their owngit diff origin/mainagainst the merge result is emptyTwo things I checked specifically, since both live in regions production also touched:
globals.csskeeps thesap-burstkeyframe (main-only; the port deliberately excluded it)lib/api.tskeeps main's copy, not the port's narrower insertion —subscribeToNewslettersurvives either wayAfter this
mainandproductionshare ancestry again, so the nextmake promotegets past preflight. The other two promote blockers are unaffected by this PR and still stand:STAGING_SUPABASE_DB_URLis unset while 8 migrations are pending, andbackend/.env.productiondoesn't exist.🤖 Generated with Claude Code