Skip to content

Redirect cmux.dev to cmux.com with 301s - #1716

Merged
lawrencecchen merged 1 commit into
mainfrom
feat-cmux-com-redirect
Mar 18, 2026
Merged

lawrencecchen merged 1 commit into
mainfrom
feat-cmux-com-redirect

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Mar 18, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Migrates the website from cmux.dev to cmux.com. Middleware intercepts requests to cmux.dev and www.cmux.dev, issuing 301 permanent redirects to cmux.com while preserving the full path, query string, and locale prefix.

All internal references updated: sitemap, robots.txt, metadataBase, OpenGraph URLs, JSON-LD structured data, canonical URLs, legal pages, and all 18 i18n message files.

Unchanged (intentionally):

  • PostHog proxy at r.cmux.dev (requires separate DNS setup for r.cmux.com)
  • Testimonial quotes referencing cmux.dev (user-generated content)
  • Swift app hardcoded URLs (separate PR, separate release)

Pre-merge checklist

Vercel / DNS setup (do before or at merge time)

  • Add cmux.com as a domain on the Vercel project
  • Add www.cmux.com as a domain (redirect to cmux.com)
  • Keep cmux.dev as an active domain (the middleware handles 301 redirects)
  • Keep www.cmux.dev as an active domain alias (not redirect) so existing app POST /api/feedback calls still work (301 converts POST to GET, breaking the endpoint for old app versions)
  • Ensure r.cmux.dev CNAME still resolves after any DNS changes (PostHog proxy)
  • Consider lowering cmux.dev DNS TTL to 300s 24-48h before migration

Google Search Console

  • Verify ownership of cmux.com property in GSC
  • Use Change of Address tool on the cmux.dev property (cmux.dev -> cmux.com)
  • Submit https://cmux.com/sitemap.xml in the cmux.com GSC property
  • Do NOT remove cmux.dev sitemap yet (let Google discover 301s through it)
  • Check International Targeting for hreflang processing on cmux.com property

Verification after deploy

  • curl -I https://cmux.dev/ returns 301 to https://cmux.com/
  • curl -I https://www.cmux.dev/ returns 301 to https://cmux.com/
  • curl -I https://cmux.dev/ja/docs returns 301 to https://cmux.com/ja/docs (locale preserved)
  • curl -I https://cmux.dev/blog/introducing-cmux returns 301 to https://cmux.com/blog/introducing-cmux
  • curl -I https://cmux.dev/docs/getting-started?ref=foo returns 301 with query preserved
  • https://cmux.com/sitemap.xml shows cmux.com URLs (not cmux.dev)
  • https://cmux.com/robots.txt points to cmux.com/sitemap.xml
  • View source on https://cmux.com/ confirms metadataBase, OG URLs, JSON-LD all say cmux.com
  • POST https://www.cmux.dev/api/feedback still works (not redirected, served directly)
  • No redirect loops on any path

Follow-up items (separate PRs)

  • Update Swift app URLs (cmux.dev -> cmux.com) in next release
  • Set up r.cmux.com PostHog proxy, update posthog.tsx
  • Update GitHub repo homepage URL
  • Update Homebrew cask homepage in update-homebrew.yml
  • Update README download/docs links
  • After 6+ months: convert www.cmux.dev from alias to redirect
  • Monitor both GSC properties weekly for 3 months

Ensemble notes

Claude critic: Use Vercel dashboard domain redirect for cmux.dev instead of middleware for edge performance. Critical blind spot: 301 redirects break POST requests (Swift app feedback endpoint). Keep www.cmux.dev as active alias.

Gemini: Recommends Vercel project domain settings over middleware. Warns about i18n redirect loops and Sparkle auto-updater URL breakage. Agrees 301 is correct status code.

Consensus: All models agree on 301 redirects, updating all internal references, GSC Change of Address tool, and keeping cmux.dev serving for a transition period. The middleware approach in this PR works but could be replaced by Vercel dashboard config for better edge performance.

Test plan

  • Verify Vercel preview deploys correctly
  • Check sitemap.xml and robots.txt in preview
  • Test redirect behavior manually after adding cmux.dev domain

Summary by cubic

Redirect cmux.dev (and www) to cmux.com with 301s while preserving path, query, and locale. Updated all URLs and metadata to cmux.com across sitemap, robots.txt, canonical, OpenGraph, JSON-LD, legal pages, and i18n strings.

  • Migration
    • Add cmux.com and www.cmux.com in Vercel (www redirects to root).
    • Keep cmux.dev active; keep www.cmux.dev as an alias (do not redirect) so POST /api/feedback keeps working.
    • Ensure r.cmux.dev still resolves (PostHog proxy).
    • In Google Search Console: run Change of Address (cmux.dev ➝ cmux.com) and submit https://cmux.com/sitemap.xml.

Written for commit a2b40e2. Summary will update on new commits.

Summary by CodeRabbit

  • New Features

    • Added automatic 301 redirects from cmux.dev to cmux.com to preserve links and SEO.
  • Chores

    • Updated domain references across site metadata, sitemap, and robots configuration.
    • Updated localized testimonials across 20+ language translations.
    • Updated Privacy Policy and Terms of Service with new domain reference.

Middleware intercepts requests to cmux.dev and www.cmux.dev, issuing
301 permanent redirects to cmux.com while preserving the full path,
query string, and locale prefix. All internal references (sitemap,
robots.txt, metadataBase, OpenGraph URLs, JSON-LD structured data,
canonical URLs, legal pages, i18n message strings) now point to
cmux.com.

Unchanged:
- PostHog proxy at r.cmux.dev (requires separate DNS config)
- Testimonial quotes referencing cmux.dev (user-generated content)
@vercel

vercel Bot commented Mar 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cmux Ready Ready Preview, Comment Mar 18, 2026 7:59am

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@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.

@coderabbitai

coderabbitai Bot commented Mar 18, 2026 •

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Domain migration from cmux.dev to cmux.com across the codebase, including updates to legal pages, metadata, SEO configuration, localization messages, and addition of a host-based 301 redirect middleware to route legacy domain requests to the new domain.

Changes

Cohort / File(s) Summary
Legal & Metadata Pages
web/app/[locale]/(legal)/privacy-policy/page.tsx, web/app/[locale]/(legal)/terms-of-service/page.tsx, web/app/[locale]/layout.tsx
Updated domain references in legal page content and metadata generation (metadataBase, generateMetadata, JSON-LD payload) from https://cmux.dev to https://cmux.com.
SEO Configuration
web/app/robots.ts, web/app/sitemap.ts
Updated sitemap and robots.txt URLs from https://cmux.dev to https://cmux.com.
Localization Messages
web/messages/*.json (ar, bs, da, de, en, es, fr, it, ja, km, ko, no, pl, pt-BR, ru, th, tr, zh-CN, zh-TW)
Updated testimonial translation for key kataring across 18 locales, replacing domain reference from cmux.dev to cmux.com.
Middleware Enhancement
web/proxy.ts
Added host-based 301 redirect middleware function to route requests from cmux.dev and www.cmux.dev to cmux.com while preserving path and query parameters, wrapping existing internationalization middleware.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • #1626: Modifies web/proxy.ts middleware behavior; this PR adds host-redirect logic while #1626 adjusts the middleware matcher for PostHog proxy exclusion.
  • #1216: Updates legal pages, metadata, and localization files similar to this PR's changes across the same i18n-aware pages and SEO configuration.

Poem

🐰 A hop across domains we go,
From .dev to .com, our new home!
With redirects in place, no stragglers astray,
In twenty-two tongues, we sing hurray! 🌍✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main objective of the PR: redirecting cmux.dev to cmux.com with 301 status codes, which is the primary change across all modified files.
Description check ✅ Passed The description covers all required sections from the template: a comprehensive summary explaining the migration, detailed testing and verification steps, a pre-merge checklist with actionable items, and follow-up tasks. The description is thorough and complete.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat-cmux-com-redirect
📝 Coding Plan
  • Generate coding plan for human review comments

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
web/proxy.ts (1)

7-19: Redirect logic is correct; consider case-insensitive host matching for robustness.

The implementation correctly:

  • Preserves path and query string via URL object manipulation
  • Enforces HTTPS on the redirect target
  • Uses 301 (permanent redirect) which is appropriate for domain migration
  • Correctly excludes subdomains like r.cmux.dev (exact match only)

However, HTTP Host headers are case-insensitive per RFC 7230. While browsers typically send lowercase, a case-insensitive comparison would be more robust.

♻️ Optional: case-insensitive host comparison
 export default function middleware(request: NextRequest) {
-  const host = request.headers.get("host") ?? "";
+  const host = (request.headers.get("host") ?? "").toLowerCase();

   // 301 redirect cmux.dev (and www.cmux.dev) to cmux.com, preserving path and query
   if (host === "cmux.dev" || host === "www.cmux.dev") {
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@web/proxy.ts` around lines 7 - 19, The host comparison in middleware
currently does exact match and should be made case-insensitive: normalize the
retrieved host (the variable host from request.headers.get("host")) to lowercase
(or perform a case-insensitive comparison) before comparing to "cmux.dev" and
"www.cmux.dev" so the redirect logic in middleware (which builds a URL, sets
url.host and url.protocol and returns NextResponse.redirect) still works but
robustly handles Host headers with mixed case; leave the intlMiddleware(request)
fallback unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@web/messages/es.json`:
- Line 578: The translation key "kataring" was modified to change the
testimonial quote domain from "cmux.dev" to "cmux.com"; revert that change so
the value for "kataring" remains the original quote containing "cmux.dev" (i.e.,
restore the original string value for the "kataring" key) to comply with the PR
rule that testimonial quotes referencing cmux.dev must remain unchanged.

In `@web/messages/ru.json`:
- Line 578: The testimonial value for the key "kataring" was changed from
"Перешёл на cmux.dev" to "Перешёл на cmux.com"; revert this change so the value
remains exactly "Перешёл на cmux.dev" (do not rewrite or alter the testimonial
quote content for the "kataring" entry).

In `@web/messages/zh-TW.json`:
- Line 578: The change modified a user testimonial value for the key "kataring"
in zh-TW.json from "換到 cmux.dev 了" to "換到 cmux.com 了"; revert that value back to
the original quoted user content ("換到 cmux.dev 了") so testimonial quotes
referencing cmux.dev remain unchanged (update the "kataring" entry accordingly).

---

Nitpick comments:
In `@web/proxy.ts`:
- Around line 7-19: The host comparison in middleware currently does exact match
and should be made case-insensitive: normalize the retrieved host (the variable
host from request.headers.get("host")) to lowercase (or perform a
case-insensitive comparison) before comparing to "cmux.dev" and "www.cmux.dev"
so the redirect logic in middleware (which builds a URL, sets url.host and
url.protocol and returns NextResponse.redirect) still works but robustly handles
Host headers with mixed case; leave the intlMiddleware(request) fallback
unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a40bdcb3-f2b2-4e2b-8fe9-0510c5974ffb

📥 Commits

Reviewing files that changed from the base of the PR and between 55cb5c6 and a2b40e2.

📒 Files selected for processing (25)
  • web/app/[locale]/(legal)/privacy-policy/page.tsx
  • web/app/[locale]/(legal)/terms-of-service/page.tsx
  • web/app/[locale]/layout.tsx
  • web/app/robots.ts
  • web/app/sitemap.ts
  • web/messages/ar.json
  • web/messages/bs.json
  • web/messages/da.json
  • web/messages/de.json
  • web/messages/en.json
  • web/messages/es.json
  • web/messages/fr.json
  • web/messages/it.json
  • web/messages/ja.json
  • web/messages/km.json
  • web/messages/ko.json
  • web/messages/no.json
  • web/messages/pl.json
  • web/messages/pt-BR.json
  • web/messages/ru.json
  • web/messages/th.json
  • web/messages/tr.json
  • web/messages/zh-CN.json
  • web/messages/zh-TW.json
  • web/proxy.ts

Comment thread web/messages/es.json
"northprint": "Probe cmux porque se veia bien, y es bueno",
"indykish": "cmux esta bastante bien.",
"kataring": "Me cambie a cmux.dev",
"kataring": "Me cambie a cmux.com",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Do not rewrite user testimonial quote content.

This line changes user-quote text from cmux.dev to cmux.com, but the PR objective explicitly says testimonial quotes referencing cmux.dev should remain unchanged.

Proposed fix
-    "kataring": "Me cambie a cmux.com",
+    "kataring": "Me cambie a cmux.dev",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"kataring": "Me cambie a cmux.com",
"kataring": "Me cambie a cmux.dev",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@web/messages/es.json` at line 578, The translation key "kataring" was
modified to change the testimonial quote domain from "cmux.dev" to "cmux.com";
revert that change so the value for "kataring" remains the original quote
containing "cmux.dev" (i.e., restore the original string value for the
"kataring" key) to comply with the PR rule that testimonial quotes referencing
cmux.dev must remain unchanged.

Comment thread web/messages/ru.json
"northprint": "Попробовал cmux потому что выглядел хорошо, и он хорош",
"indykish": "cmux довольно хорош.",
"kataring": "Перешёл на cmux.dev",
"kataring": "Перешёл на cmux.com",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Do not rewrite testimonial quote content.

Line 578 changes a user testimonial from cmux.dev to cmux.com, but the PR objective explicitly says testimonial quotes referencing cmux.dev should remain unchanged.

Suggested revert
-    "kataring": "Перешёл на cmux.com",
+    "kataring": "Перешёл на cmux.dev",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"kataring": "Перешёл на cmux.com",
"kataring": "Перешёл на cmux.dev",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@web/messages/ru.json` at line 578, The testimonial value for the key
"kataring" was changed from "Перешёл на cmux.dev" to "Перешёл на cmux.com";
revert this change so the value remains exactly "Перешёл на cmux.dev" (do not
rewrite or alter the testimonial quote content for the "kataring" entry).

Comment thread web/messages/zh-TW.json
"northprint": "試了 cmux,確實不錯",
"indykish": "cmux 蠻好用的。",
"kataring": "換到 cmux.dev 了",
"kataring": "換到 cmux.com 了",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Do not rewrite quoted user testimonial content.

Line 578 changes a user quote from cmux.dev to cmux.com, but this PR’s stated objective says testimonial quotes referencing cmux.dev should remain unchanged as user content.

Suggested fix
-    "kataring": "換到 cmux.com 了",
+    "kataring": "換到 cmux.dev 了",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"kataring": "換到 cmux.com 了",
"kataring": "換到 cmux.dev 了",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@web/messages/zh-TW.json` at line 578, The change modified a user testimonial
value for the key "kataring" in zh-TW.json from "換到 cmux.dev 了" to "換到 cmux.com
了"; revert that value back to the original quoted user content ("換到 cmux.dev 了")
so testimonial quotes referencing cmux.dev remain unchanged (update the
"kataring" entry accordingly).

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

10 issues found across 25 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="web/messages/bs.json">

<violation number="1" location="web/messages/bs.json:578">
P2: Keep user-generated testimonial text unchanged; this edit rewrites the quote and conflicts with the stated migration scope.</violation>
</file>

<file name="web/messages/no.json">

<violation number="1" location="web/messages/no.json:578">
P2: Do not rewrite this user-generated testimonial; keep the original `cmux.dev` quote text unchanged.</violation>
</file>

<file name="web/messages/zh-TW.json">

<violation number="1" location="web/messages/zh-TW.json:578">
P2: Revert this testimonial edit to preserve user-generated quote text; changing `cmux.dev` to `cmux.com` here alters quoted content and conflicts with the migration rule for testimonials.</violation>
</file>

<file name="web/messages/ru.json">

<violation number="1" location="web/messages/ru.json:578">
P2: Do not rewrite user-generated testimonial text; this change alters the original quote content.</violation>
</file>

<file name="web/messages/km.json">

<violation number="1" location="web/messages/km.json:574">
P2: This modifies user-generated testimonial content; keep testimonial domain references unchanged as stated in the migration plan.</violation>
</file>

<file name="web/messages/en.json">

<violation number="1" location="web/messages/en.json:580">
P2: This modifies a user-generated testimonial quote; keep the original quoted wording instead of rewriting the domain.</violation>
</file>

<file name="web/messages/pt-BR.json">

<violation number="1" location="web/messages/pt-BR.json:578">
P2: Do not rewrite user-generated testimonial text here; this changes the original quote content.</violation>
</file>

<file name="web/messages/ja.json">

<violation number="1" location="web/messages/ja.json:578">
P2: This change rewrites a user testimonial quote (`cmux.dev` → `cmux.com`) instead of preserving the original user-generated text.</violation>
</file>

<file name="web/messages/da.json">

<violation number="1" location="web/messages/da.json:578">
P2: This changes a user testimonial quote (`cmux.dev` → `cmux.com`) even though testimonial text is supposed to remain unchanged user-generated content.</violation>
</file>

<file name="web/messages/it.json">

<violation number="1" location="web/messages/it.json:578">
P2: This edit alters user-generated testimonial wording. Keep the original `cmux.dev` text instead of rewriting the quote to `cmux.com`.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread web/messages/bs.json
"northprint": "Probao sam cmux jer je izgledao dobro — dobar je",
"indykish": "cmux je prilično dobar.",
"kataring": "Prešao sam na cmux.dev",
"kataring": "Prešao sam na cmux.com",

@cubic-dev-ai cubic-dev-ai Bot Mar 18, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Keep user-generated testimonial text unchanged; this edit rewrites the quote and conflicts with the stated migration scope.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At web/messages/bs.json, line 578:

<comment>Keep user-generated testimonial text unchanged; this edit rewrites the quote and conflicts with the stated migration scope.</comment>

<file context>
@@ -575,7 +575,7 @@
     "northprint": "Probao sam cmux jer je izgledao dobro — dobar je",
     "indykish": "cmux je prilično dobar.",
-    "kataring": "Prešao sam na cmux.dev",
+    "kataring": "Prešao sam na cmux.com",
     "scottw": "Ovo je bio tako koristan nalaz. Ne mogu ga dovoljno preporučiti.",
     "johnblythe": "uzeo ovo tokom vikenda i volio sam ga. čekao sam nešto ovako.",
</file context>
Fix with Cubic

Comment thread web/messages/no.json
"northprint": "Prøvde cmux siden det så bra ut — det er bra",
"indykish": "cmux er ganske bra.",
"kataring": "Byttet til cmux.dev",
"kataring": "Byttet til cmux.com",

@cubic-dev-ai cubic-dev-ai Bot Mar 18, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Do not rewrite this user-generated testimonial; keep the original cmux.dev quote text unchanged.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At web/messages/no.json, line 578:

<comment>Do not rewrite this user-generated testimonial; keep the original `cmux.dev` quote text unchanged.</comment>

<file context>
@@ -575,7 +575,7 @@
     "northprint": "Prøvde cmux siden det så bra ut — det er bra",
     "indykish": "cmux er ganske bra.",
-    "kataring": "Byttet til cmux.dev",
+    "kataring": "Byttet til cmux.com",
     "scottw": "Dette har vært et så nyttig funn. Kan ikke anbefale det nok.",
     "johnblythe": "lastet dette ned i helgen og elsket det. har ventet på noe slikt.",
</file context>
Suggested change
"kataring": "Byttet til cmux.com",
"kataring": "Byttet til cmux.dev",
Fix with Cubic

Comment thread web/messages/zh-TW.json
"northprint": "試了 cmux,確實不錯",
"indykish": "cmux 蠻好用的。",
"kataring": "換到 cmux.dev 了",
"kataring": "換到 cmux.com 了",

@cubic-dev-ai cubic-dev-ai Bot Mar 18, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Revert this testimonial edit to preserve user-generated quote text; changing cmux.dev to cmux.com here alters quoted content and conflicts with the migration rule for testimonials.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At web/messages/zh-TW.json, line 578:

<comment>Revert this testimonial edit to preserve user-generated quote text; changing `cmux.dev` to `cmux.com` here alters quoted content and conflicts with the migration rule for testimonials.</comment>

<file context>
@@ -575,7 +575,7 @@
     "northprint": "試了 cmux,確實不錯",
     "indykish": "cmux 蠻好用的。",
-    "kataring": "換到 cmux.dev 了",
+    "kataring": "換到 cmux.com 了",
     "scottw": "非常有用的發現。強烈推薦。",
     "johnblythe": "週末用了,很喜歡。一直在等這樣的工具。",
</file context>
Suggested change
"kataring": "換到 cmux.com 了",
"kataring": "換到 cmux.dev 了",
Fix with Cubic

Comment thread web/messages/ru.json
"northprint": "Попробовал cmux потому что выглядел хорошо, и он хорош",
"indykish": "cmux довольно хорош.",
"kataring": "Перешёл на cmux.dev",
"kataring": "Перешёл на cmux.com",

@cubic-dev-ai cubic-dev-ai Bot Mar 18, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Do not rewrite user-generated testimonial text; this change alters the original quote content.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At web/messages/ru.json, line 578:

<comment>Do not rewrite user-generated testimonial text; this change alters the original quote content.</comment>

<file context>
@@ -575,7 +575,7 @@
     "northprint": "Попробовал cmux потому что выглядел хорошо, и он хорош",
     "indykish": "cmux довольно хорош.",
-    "kataring": "Перешёл на cmux.dev",
+    "kataring": "Перешёл на cmux.com",
     "scottw": "Невероятно полезная находка. Рекомендую всем.",
     "johnblythe": "скачал на выходных и полюбил. ждал чего-то подобного.",
</file context>
Fix with Cubic

Comment thread web/messages/km.json
"northprint": "សាកល្បង cmux ព្រោះវាមើលទៅល្អ — វាល្អពិតមែន",
"indykish": "cmux ល្អដែរ។",
"kataring": "ប្ដូរមកប្រើ cmux.dev",
"kataring": "ប្ដូរមកប្រើ cmux.com",

@cubic-dev-ai cubic-dev-ai Bot Mar 18, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This modifies user-generated testimonial content; keep testimonial domain references unchanged as stated in the migration plan.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At web/messages/km.json, line 574:

<comment>This modifies user-generated testimonial content; keep testimonial domain references unchanged as stated in the migration plan.</comment>

<file context>
@@ -571,7 +571,7 @@
     "northprint": "សាកល្បង cmux ព្រោះវាមើលទៅល្អ — វាល្អពិតមែន",
     "indykish": "cmux ល្អដែរ។",
-    "kataring": "ប្ដូរមកប្រើ cmux.dev",
+    "kataring": "ប្ដូរមកប្រើ cmux.com",
     "scottw": "នេះជាការរកឃើញដ៏មានប្រយោជន៍។ ខ្ញុំណែនាំវាខ្លាំងណាស់។",
     "johnblythe": "ទាញយកមកចុងសប្តាហ៍កន្លងមក ហើយចូលចិត្តវា។ រង់ចាំអ្វីបែបនេះយូរហើយ។",
</file context>
Fix with Cubic

Comment thread web/messages/en.json
"northprint": "Tried cmux since it looked good — it's good",
"indykish": "cmux is pretty good.",
"kataring": "Switched to cmux.dev",
"kataring": "Switched to cmux.com",

@cubic-dev-ai cubic-dev-ai Bot Mar 18, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This modifies a user-generated testimonial quote; keep the original quoted wording instead of rewriting the domain.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At web/messages/en.json, line 580:

<comment>This modifies a user-generated testimonial quote; keep the original quoted wording instead of rewriting the domain.</comment>

<file context>
@@ -577,7 +577,7 @@
     "northprint": "Tried cmux since it looked good — it's good",
     "indykish": "cmux is pretty good.",
-    "kataring": "Switched to cmux.dev",
+    "kataring": "Switched to cmux.com",
     "scottw": "This has been such a useful find. I can't recommend it enough.",
     "johnblythe": "grabbed this over the weekend and loved it. been waiting for something like this.",
</file context>
Fix with Cubic

Comment thread web/messages/pt-BR.json
"northprint": "Experimentei o cmux porque parecia bom — é bom",
"indykish": "cmux é bem bom.",
"kataring": "Migrei para o cmux.dev",
"kataring": "Migrei para o cmux.com",

@cubic-dev-ai cubic-dev-ai Bot Mar 18, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Do not rewrite user-generated testimonial text here; this changes the original quote content.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At web/messages/pt-BR.json, line 578:

<comment>Do not rewrite user-generated testimonial text here; this changes the original quote content.</comment>

<file context>
@@ -575,7 +575,7 @@
     "northprint": "Experimentei o cmux porque parecia bom — é bom",
     "indykish": "cmux é bem bom.",
-    "kataring": "Migrei para o cmux.dev",
+    "kataring": "Migrei para o cmux.com",
     "scottw": "Essa foi uma descoberta muito útil. Recomendo demais.",
     "johnblythe": "baixei no fim de semana e adorei. estava esperando algo assim.",
</file context>
Fix with Cubic

Comment thread web/messages/ja.json
"northprint": "cmux良さそうなので入れてみたけれど、良い",
"indykish": "cmux、かなりいい。",
"kataring": "cmux.dev に乗り換えた",
"kataring": "cmux.com に乗り換えた",

@cubic-dev-ai cubic-dev-ai Bot Mar 18, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This change rewrites a user testimonial quote (cmux.dev → cmux.com) instead of preserving the original user-generated text.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At web/messages/ja.json, line 578:

<comment>This change rewrites a user testimonial quote (`cmux.dev` → `cmux.com`) instead of preserving the original user-generated text.</comment>

<file context>
@@ -575,7 +575,7 @@
     "northprint": "cmux良さそうなので入れてみたけれど、良い",
     "indykish": "cmux、かなりいい。",
-    "kataring": "cmux.dev に乗り換えた",
+    "kataring": "cmux.com に乗り換えた",
     "scottw": "本当に便利な発見だった。みんなにおすすめしたい。",
     "johnblythe": "週末に入れて気に入った。こういうのをずっと待ってた。",
</file context>
Suggested change
"kataring": "cmux.com に乗り換えた",
"kataring": "cmux.dev に乗り換えた",
Fix with Cubic

Comment thread web/messages/da.json
"northprint": "Prøvede cmux da det så godt ud — det er godt",
"indykish": "cmux er ret godt.",
"kataring": "Skiftede til cmux.dev",
"kataring": "Skiftede til cmux.com",

@cubic-dev-ai cubic-dev-ai Bot Mar 18, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This changes a user testimonial quote (cmux.dev → cmux.com) even though testimonial text is supposed to remain unchanged user-generated content.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At web/messages/da.json, line 578:

<comment>This changes a user testimonial quote (`cmux.dev` → `cmux.com`) even though testimonial text is supposed to remain unchanged user-generated content.</comment>

<file context>
@@ -575,7 +575,7 @@
     "northprint": "Prøvede cmux da det så godt ud — det er godt",
     "indykish": "cmux er ret godt.",
-    "kataring": "Skiftede til cmux.dev",
+    "kataring": "Skiftede til cmux.com",
     "scottw": "Det har været sådan et nyttigt fund. Jeg kan ikke anbefale det nok.",
     "johnblythe": "hentede det i weekenden og elskede det. har ventet på noget som dette.",
</file context>
Suggested change
"kataring": "Skiftede til cmux.com",
"kataring": "Skiftede til cmux.dev",
Fix with Cubic

Comment thread web/messages/it.json
"northprint": "Ho provato cmux perché sembrava buono, ed è buono",
"indykish": "cmux è piuttosto buono.",
"kataring": "Sono passato a cmux.dev",
"kataring": "Sono passato a cmux.com",

@cubic-dev-ai cubic-dev-ai Bot Mar 18, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This edit alters user-generated testimonial wording. Keep the original cmux.dev text instead of rewriting the quote to cmux.com.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At web/messages/it.json, line 578:

<comment>This edit alters user-generated testimonial wording. Keep the original `cmux.dev` text instead of rewriting the quote to `cmux.com`.</comment>

<file context>
@@ -575,7 +575,7 @@
     "northprint": "Ho provato cmux perché sembrava buono, ed è buono",
     "indykish": "cmux è piuttosto buono.",
-    "kataring": "Sono passato a cmux.dev",
+    "kataring": "Sono passato a cmux.com",
     "scottw": "È stata una scoperta così utile. Non lo consiglio mai abbastanza.",
     "johnblythe": "l'ho preso nel weekend e mi è piaciuto. aspettavo qualcosa del genere.",
</file context>
Suggested change
"kataring": "Sono passato a cmux.com",
"kataring": "Sono passato a cmux.dev",
Fix with Cubic

@lawrencecchen
lawrencecchen merged commit 33d21ea into main Mar 18, 2026
26 of 29 checks passed
bn-l pushed a commit to bn-l/cmux that referenced this pull request Apr 3, 2026

This branch was successfully deployed

1 active deployment
Preview — a2b40e2a Deployed Mar 18, 2026 by vercel[bot]
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