feat(website): update Terms of Service to legal-approved 2026-05-13 copy#12286
Conversation
Replace tos.* i18n keys with the legal-approved Terms of Service copy and surface an effective date below the hero on /terms-of-service. Sections restructured to mirror the new agreement (13 numbered sections + intro), with subsection labels rendered as h3 headings via the existing ContentSection block-type inference. The Chinese page (/zh-CN/terms-of-service) keeps its zh-CN hero title but mirrors the English copy for the body pending an official translation pass.
Addresses code-review findings on the 2026-05-13 ToS update: - Remove the zh-CN ToS page that was serving English body copy under a Chinese hero; add an Astro redirect from /zh-CN/terms-of-service to /terms-of-service so Chinese visitors land on the legal-approved English copy with a noindex/canonical until an official zh-CN translation lands. - Update the English page meta description to match the new scope (Comfy Products: Cloud, API, Enterprise), since the new agreement explicitly excludes Comfy OSS.
Update the ToS copy to match the authoritative .docx
("Comfy - Terms of Service (GP 5.12.26).docx") verbatim:
- Replace docs.comfy.org/data-retention URL with [URL] placeholder
(the legal doc has a placeholder pending real docs URL)
- Replace mailing address with [Address] placeholder
(the legal doc has a placeholder pending finalized address)
- Restore the mixed casing of "Comfy Products" / "Comfy" inside the
otherwise all-caps Disclaimer and Limitation of Liability sections
- Restore sentence-case for Disclaimer block 2 (Customer is solely
responsible...) with intentional mid-sentence all-caps OUTPUT, as
written in the legal doc
…irect hop) Make termsOfService a locale-invariant route in getRoutes() so the Chinese footer link emits /terms-of-service directly instead of /zh-CN/terms-of-service (which would then redirect). The redirect in astro.config.ts stays as a safety net for stale external links.
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThis PR restructures Terms of Service translation keys into multiple sectioned groups with an effective date, updates the English ToS page to display the effective date using the i18n helper, removes the standalone Chinese ToS page file, and configures locale-invariant routing so all ToS requests resolve to the English page. ChangesTerms of Service 2026 Legal Update
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 6 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (6 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. 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 |
🌐 Website E2ETip All tests passed.
🔗 Website PreviewWebsite Preview: https://comfy-website-preview-pr-12286.vercel.app This commit: https://website-frontend-q01vpvcrt-comfyui.vercel.app Last updated: 2026-05-16T15:05:04Z for |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
apps/website/src/i18n/translations.ts (1)
2052-2054: ⚡ Quick winRemove newly added explanatory comments in the translations map.
These comments should live in PR/docs, not inline in this data object, per repository guidance.
Proposed change
- // NOTE: zh-CN values mirror English pending translation by legal/i18n - // team. The legal-approved copy was provided in English only; do not - // auto-translate or modify substance.As per coding guidelines: "Avoid new usage of code comments; do not add or retain redundant comments".
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@apps/website/src/i18n/translations.ts` around lines 2052 - 2054, Remove the newly added inline explanatory comment block inside the translations map (the "// NOTE: zh-CN values mirror English..." comment) in apps/website/src/i18n/translations.ts; edit the translations object (exported translations constant / translations map) to delete that comment and any similar redundant comments so only data remains, and instead place any rationale in the PR description or external docs per repo guidance.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@apps/website/src/i18n/translations.ts`:
- Around line 2052-2054: Remove the newly added inline explanatory comment block
inside the translations map (the "// NOTE: zh-CN values mirror English..."
comment) in apps/website/src/i18n/translations.ts; edit the translations object
(exported translations constant / translations map) to delete that comment and
any similar redundant comments so only data remains, and instead place any
rationale in the PR description or external docs per repo guidance.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 1a61ad60-fe45-488f-9ebc-d2ddcfe73cb2
📒 Files selected for processing (5)
apps/website/astro.config.tsapps/website/src/config/routes.tsapps/website/src/i18n/translations.tsapps/website/src/pages/terms-of-service.astroapps/website/src/pages/zh-CN/terms-of-service.astro
💤 Files with no reviewable changes (1)
- apps/website/src/pages/zh-CN/terms-of-service.astro
CodeRabbit nit: per repo guidance, do not retain redundant comments in code. The rationale lives in the PR description instead.
|
Re: CodeRabbit nitpick on |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@apps/website/src/i18n/translations.ts`:
- Around line 2212-2215: The translations contain unresolved legal placeholders
"[URL]" and "[Address]" (see key 'tos.comfy-products.block.13'); before
publishing, locate any translation entries that include these placeholders
(search for "[URL]" and "[Address]") and replace them with the finalized,
approved values (actual privacy/retention URL and physical address or a
configured variable/constant) in the corresponding translation keys so the ToS
text no longer ships with placeholders.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: de9bc0cc-fd8a-459a-9ad2-1a24aa62a0cf
📒 Files selected for processing (1)
apps/website/src/i18n/translations.ts
…pport/data-retention Replace the [URL] placeholder in \u00a72.7 (Data Retention and Deletion) with a link to the canonical docs page at docs.comfy.org/support/data-retention, matching the existing convention used for other support links (e.g. docsSubscription in routes.ts).
Restore the Chinese ToS route so Chinese visitors stay in their navigation flow (Chinese header/footer/hero) while the legal body itself renders from the en translations \u2014 ensuring all visitors see the same legal-approved English copy, regardless of locale. This replaces the previous redirect-based approach. Reverts the locale-invariant termsOfService route override and removes the /zh-CN/terms-of-service \u2192 /terms-of-service redirect from astro.config.ts. The page passes locale="en" to ContentSection and to the effective-date label, so only the BaseLayout title, hero title, and site chrome remain in Chinese.
Replace the [Address] placeholder in \u00a712.8 with Comfy's mailing address for legal notices: 201 Spear Street, Ste 17, San Francisco, CA 94105 (carrying forward the address from the prior live ToS).
Add a contentLocale prop to BaseLayout that controls the <html lang> and og:locale attributes independently from the site-chrome locale. The /zh-CN/terms-of-service page sets contentLocale="en" so crawlers, assistive technology, and link previews see the page as English (which matches the legal body), while the Chinese hero, header, and footer remain in zh-CN for users browsing in their preferred locale.
…ish page Drop the zh-CN ToS shell entirely. Since there is no legal-approved Chinese translation of the 2026-05-13 ToS, serve a single canonical English version for everyone: - Remove apps/website/src/pages/zh-CN/terms-of-service.astro. - Add an Astro redirect from /zh-CN/terms-of-service to /terms-of-service as a safety net for stale external links. - Mark termsOfService as a locale-invariant route in getRoutes() so the Chinese footer link emits /terms-of-service directly and avoids the redirect hop for normal navigation. - Revert the BaseLayout contentLocale prop introduced in the prior approach; it no longer has a consumer.
Convert ASCII quotes in the tos.* i18n values to the typographic quotes (U+201C, U+201D, U+2019) used in the source .docx, so the rendered page visually matches the legal-approved document character-for-character. No content changes, no rendering changes to non-ToS pages.
PR Created by the Glary-Bot Agent
Summary
Replaces the
tos.*i18n keys inapps/website/src/i18n/translations.tswith the legal-approved Terms of Service copy fromComfy - Terms of Service (GP 5.12.26).docxand surfaces an effective date below the hero on/terms-of-service.tos.effectiveDateLabelandtos.effectiveDate, rendered as a centeredEffective Date: May 13, 2026line between the hero and the content (matches the pattern used on the Affiliate Program Terms page).block.N.headingshape — no changes toContentSection.vueorcontentSections.ts.Verbatim legal copy
Per request, the copy is verbatim from the legal-approved
.docx, including:[URL]placeholder in §2.7 (Data Retention) where the legal doc has a placeholder pending the real docs page.[Address]placeholder in §12.8 (Notices) where the legal doc has a placeholder pending the finalized mailing address.THE Comfy Products AND OUTPUT…,…TOTAL LIABILITY OF Comfy…— preserved exactly as the legal doc presents it.These are intentional and flagged for follow-up with legal/docs before publishing. I have not silently substituted real values for the placeholders or normalized casing — that would be editing legal-approved text.
Chinese (zh-CN) handling
The legal-approved copy was provided in English only. To avoid serving English text under a Chinese page shell:
apps/website/src/pages/zh-CN/terms-of-service.astrois removed.getRoutes()inapps/website/src/config/routes.tstreatstermsOfServiceas locale-invariant, so the Chinese footer link emits/terms-of-servicedirectly — no redirect hop.astro.config.tsadds a redirect from/zh-CN/terms-of-service→/terms-of-serviceas a safety net for any stale external/cached links.zh-CNvalues on the newtos.*keys are filler (mirrored from English) so theRecord<Locale, string>type contract holds; they are never served.Files changed
apps/website/src/i18n/translations.ts— 73 oldtos.*keys removed, 136 new keys added matching the .docx structure.apps/website/src/pages/terms-of-service.astro— importst, renders effective date, updates meta description.apps/website/src/pages/zh-CN/terms-of-service.astro— removed.apps/website/astro.config.ts— adds/zh-CN/terms-of-service→/terms-of-serviceredirect.apps/website/src/config/routes.ts—termsOfServiceroute stays un-prefixed in non-English locales.Verification
pnpm --filter=@comfyorg/website typecheck— 0 errors (2 pre-existing hints in unrelated files).pnpm --filter=@comfyorg/website build— 279 pages built,/terms-of-service/(English page) and/zh-CN/terms-of-service/(redirect stub withnoindex+canonical) both emitted.oxfmt,oxlint --type-aware,eslint --fix, andpnpm typecheckon every commit — all green./terms-of-servicecontains the new content with verbatim[URL]and[Address]placeholders; zh-CN homepage footer now links directly to/terms-of-service(no redirect hop);/zh-CN/privacy-policyand other locale routes still correctly emit/zh-CN/…prefixes.astro preview+ Playwright — sidebar nav, h2 section titles, h3 subsection headings, paragraph wrapping, and inline mailto/href anchors all render correctly. Screenshots attached.Code-review follow-ups addressed
docs.comfy.org/data-retention404 — Now matches the docx placeholder[URL]; flagged to legal/docs.[Address]; flagged to legal.Scope notes
platform.comfy.org(websiterepo) already points athttps://www.comfy.org/terms-of-serviceand renders the new copy at the same URL — no change needed there.Screenshots
┆Issue is synchronized with this Notion page by Unito