Skip to content

fix(web): replace marketing pricing and legal 404s with honest pages - #5639

Closed
Hmbown wants to merge 1 commit into
mainfrom
grok/mission2-marketing-urls-20260826
Closed

fix(web): replace marketing pricing and legal 404s with honest pages#5639
Hmbown wants to merge 1 commit into
mainfrom
grok/mission2-marketing-urls-20260826

Conversation

@Hmbown

@Hmbown Hmbown commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • /en/pricing is a real page: open-source is free, hosted Member is built but not for sale (no Buy button while production billing is dormant).
  • /en/legal/terms and /en/legal/privacy carry the same Shannon Labs body as app.codewhale.net/legal/*.
  • /en/privacy, /en/terms, and /en/legal 307 to those paths. Footer now links Pricing / Terms / Privacy.

Test plan

  • Local next dev :3456: /en/pricing 200, /en/legal/terms 200, /en/legal/privacy 200
  • /en/privacy → 307 /en/legal/privacy; /pricing → 307 /en/pricing
  • vitest: docs-ia, llms-txt, page-meta, public-billing-legal-routes (35 passed)
  • After merge + gh workflow run web.yml --ref main: live https://codewhale.net/en/pricing is not 404

Closes the marketing half of Hmbown/cwc#262.

Made with Cursor

/en/pricing, /en/legal/terms, and /en/privacy 404'd while the app legal
pages were live. Ship a dormant pricing page (no fake Buy) and the same
Shannon Labs terms/privacy body, with aliases that 307 to those paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@claude

claude Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Claude finished @Hmbown's task in 1m 37s —— View job


Review: replace marketing pricing/legal 404s with honest pages

  • Gather context and read trigger request
  • Read changed files in detail
  • Check provider/model route safety implications (N/A — web frontend only, no provider/model routing touched)
  • Check correctness bugs (routing, redirects, i18n)
  • Check reuse/simplification
  • Check tests
  • Post final review

Solid, well-scoped change. The new /pricing, /legal/terms, /legal/privacy pages follow the existing conventions (buildPageMetadata, contentLocalesForPath default ["en","zh"], generateStaticParams inherited from the [locale] layout), the /privacy/legal/privacy, /terms/legal/terms, /legal/legal/terms aliases use the same redirect() pattern already established elsewhere, and the sitemap count math checks out (78 → 84 = 3 new paths × 2 default content locales). Good instinct not to add a Buy button while billing is dormant.

One real issue found:

web/lib/i18n/links.ts:83-90footerLegalLinks hardcodes English labels ("Pricing", "Terms", "Privacy") instead of pulling from ChromeDict like every sibling generator in this file (footerProductLinks, footerProjectLinks, navLinks). The file's own header comment states the invariant this breaks: "labels come from ChromeDict, hrefs come from the locale, and every routed locale gets the identical route shape." Since the new pricing/legal pages actually render localized zh copy (isZh branches in pricing/page.tsx, legal/terms/page.tsx, legal/privacy/page.tsx), a zh visitor reaches a translated page through an English-only footer link ("Pricing"/"Terms"/"Privacy"), which is inconsistent with the rest of the footer. The new test (docs-ia.test.ts "footer legal" assertion, public-billing-legal-routes.test.ts) only checks href values, so this gap isn't caught by CI.

Fix this →

This is a minor i18n-parity nit rather than a blocker — the pages themselves 200 correctly and the redirects are correct, so I'd leave it to the author's judgment whether to fix now or as a follow-up.

Nothing else stood out: no provider/model routing touched, no dead code introduced, legal-copy.ts is a clean data module, and the new tests (public-billing-legal-routes.test.ts, plus updates to docs-ia.test.ts/llms-txt.test.ts/page-meta.test.ts) reasonably cover the new routes' existence and sitemap/llms.txt inclusion.
· branch grok/mission2-marketing-urls-20260826

@Hmbown

Hmbown commented Aug 29, 2026

Copy link
Copy Markdown
Owner Author

Closing: superseded by #5647 (rescue of this PR's honest pricing/legal home), now merged. — operate captain

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant