Skip to content

docs: say Cloud turns on per Mac through a staged rollout - #15194

Merged
teamleaderleo merged 1 commit into
mainfrom
feat-cloud-docs-rollout-note
Sep 28, 2026
Merged

teamleaderleo merged 1 commit into
mainfrom
feat-cloud-docs-rollout-note

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

The Cloud docs, now live on the nightly docs, told readers that turning on Settings › Beta Features › Cloud Machines enables Cloud. That is wrong for most readers. Every build, nightly included, also requires the remote PostHog flag cloud-machines-enabled-release, and that flag is on for only a small set of Macs (0% rollout for everyone else). The app's own setting subtitle already says "Cloud Machines also require a remote rollout."

This PR changes the overview beta note, the requirements line, and the two troubleshooting rows ("No Cloud tab" and "temporarily unavailable"). They now say that Cloud turns on for Macs in stages, that the Mac must be in the rollout, and that the toggle alone is not sufficient. All 20 locales are updated. Only these 4 keys change in each file.

Verification

  • bun test tests/seo.test.ts tests/docs-search-index.test.ts tests/client-messages.test.ts passes.
  • The flag state was read from the PostHog feature-flags API: 2 install distinct IDs at 100%, everyone else at 0%.

Changelog

  • Fixed: the cmux Cloud docs now explain that Cloud turns on per Mac through a staged rollout.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Fixes the Cloud docs, which told readers that turning on Settings › Beta Features › Cloud Machines enables Cloud. Every build also requires the remote cloud-machines-enabled-release flag, which is on for only a small set of Macs.

  • The beta note, requirements line, and two troubleshooting rows now state that the Mac must be in the staged rollout and that the toggle alone is not enough.
  • Updates all 20 locale files, changing 4 keys in each.

Written for commit 0e0bb2f. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Documentation
    • Clarified across supported languages that Cloud early access is rolling out gradually and requires both an eligible Mac and Cloud Machines enabled in settings.
    • Updated troubleshooting guidance to distinguish rollout eligibility, temporary unavailability, and access disabled by an administrator.

The Cloud docs told readers to enable Settings › Beta Features › Cloud
Machines, but the remote cloud-machines-enabled-release flag gates every
build and is on only for a small set of Macs. The note, requirements and
two troubleshooting rows now say the Mac must be in the rollout and that
the toggle alone does not enable Cloud. All 20 locales.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@coderabbitai

coderabbitai Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: d6def29f-9cf2-4740-a151-0d568d00a3c6

📥 Commits

Reviewing files that changed from the base of the PR and between 5bf1b45 and 0e0bb2f.

📒 Files selected for processing (20)
  • 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/uk.json
  • web/messages/zh-CN.json
  • web/messages/zh-TW.json

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 4 remain after this review.


📝 Walkthrough

Walkthrough

Cloud early-access messages now describe staged Mac rollout and state that access requires rollout inclusion and Cloud Machines enabled. Localized troubleshooting distinguishes rollout exclusion, temporary unavailability, and administrator-disabled access.

Changes

Cloud rollout messaging

Layer / File(s) Summary
Overview and access requirements
web/messages/*.json
Localized overview and requirement text now states that Cloud access needs both rollout inclusion and Cloud Machines enabled.
Troubleshooting guidance
web/messages/*.json
Localized troubleshooting text distinguishes Macs outside the rollout, temporary Cloud unavailability, and access disabled by an administrator.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Suggested reviewers: austinywang

Merge Risk: ⚪ Minimal · up to 0e0bb

These updates clarify that Cloud access requires rollout inclusion and the Cloud Machines setting. No actionable user-impacting inconsistency was found, so no merge-blocking risk remains.

Architecture Summary

Architecture risk: 🔵 Low · up to 0e0bb

The change affects 1 system.

Changed systems: web

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — web (service) was modified; 20 changed files map to changed impact.

Before / after behavior

  • observed — Modified behavior in web/messages/ar.json: توضّح betaNote أن Cloud في مرحلة الوصول المبكر ويُطرح تدريجيًا، وأن الاستخدام يتطلب جهاز Mac ضمن الطرح مع تفعيل Cloud Machines؛ وإلا قد تظهر رسالة عدم التوفر المؤقت.
  • observed — Modified behavior in web/messages/ar.json: تغيّر reqBeta من اشتراط تفعيل الميزة أثناء المرحلة التجريبية إلى اشتراط أن يكون Mac ضمن طرح الوصول المبكر وأن تكون Cloud Machines مفعّلة.
  • observed — Modified behavior in web/messages/ar.json: تضيف fixNotSeen توضيحًا بأن غياب Cloud بعد تفعيل الخيار يعني أن الجهاز لم يدخل الطرح بعد. وتغيّر fixUnavailable من إرشاد تفعيل إعداد تجريبي إلى بيان أن السبب قد يكون عدم دخول الجهاز مرحلة الطرح أو توقف Cloud مؤقتًا، وأن الخيار وحده لا يفعّله.
  • observed — Modified behavior in web/messages/bs.json: The beta notice now describes early access and staged Mac rollout, requires both rollout eligibility and the Cloud Machines setting, and says ineligible Macs see a temporary-unavailability message; it previously described beta availability and only instructed users to enable the setting.
🚥 Pre-merge checks | ✅ 25
✅ Passed checks (25 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main documentation change: Cloud access is enabled per Mac through a staged rollout.
Description check ✅ Passed The description explains the problem, resulting behavior, affected locales, verification performed, and changelog entry. It does not use every template section exactly, but it provides the required re…
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cmux Cloud Persistent Session And Early Input ✅ Passed PASS: The authoritative PR diff changes only 20 locale JSON files under web/messages/, with documentation text updates. It does not change Cloud terminal creation, cmux-tui or physical transport spa…
Cmux Swift Actor Isolation ✅ Passed The PR changes only 20 localized JSON message files under web/messages/. The authoritative diff contains no Swift files or production Swift code, so it introduces no Swift 6 actor-isolation issue.
Cmux Swift Blocking Runtime ✅ Passed The pull-request diff changes only 20 localized JSON message files under web/messages/. It contains no Swift files and introduces no semaphores, waits, sleeps, delayed dispatch, polling, synchronous…
Cmux Browser Automation Off-Main ✅ Passed The reviewed diff changes only 20 localized JSON message files under web/messages/. It adds no browser socket automation commands, worker routing, WebKit/AppKit access, or policy tests. Therefore th…
Cmux Expensive Synchronous Load ✅ Passed PASS: The pull request changes only 20 localized JSON documentation files under web/messages/. The authoritative diff contains no Swift files and no synchronous agent-history or workspace data loadi…
Cmux Cache Substitution Correctness ✅ Passed PASS: The review-scoped diff changes only 20 web/messages/*.json localization files. The patch changes Cloud documentation strings and introduces no Swift, TypeScript, or JavaScript production code,…
Cmux No Hacky Sleeps ✅ Passed PASS — The PR changes only localized documentation strings in 20 JSON message files. The diff introduces no production runtime code, sleeps, timers, polling, delays, or wall-clock waits. The runtime n…
Cmux Algorithmic Complexity ✅ Passed PASS: The review-scoped diff changes only 20 JSON locale files under web/messages. Each file changes four text properties (betaNote, reqBeta, fixNotSeen, and fixUnavailable), and all files p…
Cmux Swift Concurrency ✅ Passed The pull request changes only 20 locale JSON files under web/messages/. The review-scoped diff contains no Swift files and introduces no Swift concurrency patterns. The check is therefore not applic…
Cmux Swift @Concurrent ✅ Passed The pull request changes only 20 JSON locale files under web/messages. The authoritative diff contains no Swift files, so the @concurrent check is not applicable.
Cmux Swift Package Boundaries ✅ Passed PASS: The authoritative PR diff changes only 20 JSON message catalogs under web/messages. It contains no .swift files or Package.swift manifests, so it introduces no production Swift code or Swift pac…
Cmux Swiftpm Lockfiles ✅ Passed PASS: The authoritative PR diff contains only 20 locale JSON files under web/messages/, with no .gitignore, Package.swift, Package.resolved, Xcode project, workflow, or dependency changes. The…
Cmux Swift Logging ✅ Passed PASS: The review-scoped diff changes only 20 web/messages/*.json locale files. It contains no Swift files and no added or removed logging tokens. Therefore, the Swift logging failure conditions do n…
Cmux User-Facing Error Privacy ✅ Passed The diff changes only localized Cloud documentation. The changed keys render on the public /docs/cloud and /docs/cloud/troubleshooting pages, establishing a user-facing path. The text names only p…
Cmux Full Internationalization ✅ Passed PASS: The PR changes only localized Cloud documentation messages. The docs pages read these keys through next-intl getTranslations with locale-specific namespaces. All 20 locales listed in `web/i18n…
Cmux Swiftui State Layout ✅ Passed PASS: The pull request changes only 20 JSON localization files under web/messages. The review-scoped diff contains no Swift or SwiftUI files, so the SwiftUI state-layout criteria do not apply.
Cmux Architecture Rethink ✅ Passed The reviewed diff changes only 20 JSON locale files under web/messages. It contains no Swift files or Swift architectural code, and therefore does not introduce any of the prohibited timing, state-own…
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed The pull request changes only 20 localization JSON files under web/messages. The diff contains no Swift, NSWindow, NSPanel, NSWindowController, SwiftUI Window, or WindowGroup changes. The auxiliary-wi…
Cmux Source Artifacts ✅ Passed All 20 changed paths are intentional localization catalogs under web/messages, which the rule explicitly allows. The diff changes only the betaNote, reqBeta, fixNotSeen, and fixUnavailable strings, an…
Cmux No Test Or Debug Seam In Production Source ✅ Passed The pull request changes only 20 JSON message files under web/messages. It changes no Swift file under a production Sources path, so it cannot introduce a test or debug seam covered by this check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

@teamleaderleo

Copy link
Copy Markdown
Collaborator

Review (merge-train session, subagent review against the PR head).

Findings: none. Nothing CONFIRMED or PLAUSIBLE.

Checked:

  • Accuracy against the gating code. Cloud turns on only when the remote PostHog flag cloud-machines-enabled-release is true AND the local Settings › Beta Features › Cloud Machines opt-in is on AND no MDM policy disables it (CloudMachinesFeature+FeatureFlags.swift). The PostHog distinct ID (releaseControlDistinctID in FeatureFlags.swift) is a UUID generated once and persisted in UserDefaults per machine, not per account, so percentage rollout really is keyed per Mac. That matches the new "turned on for Macs in stages" / "your Mac must be in the rollout" wording, and the new fixUnavailable line "The Settings toggle alone does not turn on Cloud" matches the AND condition. The quoted error string matches the one in CMUXCLI+CloudFeature.swift and AppDelegate+ManagedPolicy.swift verbatim.
  • No internal detail leaked. Grepped all 20 files for internal host nicknames, infra terms, internal URLs and employee handles. Zero hits in added or removed lines.
  • Consistency. All 20 locale files are every locale in the repo, and all change the same three keys (betaNote, reqBeta, fixNotSeen/fixUnavailable). None half-updated, no stray "cmux Cloud is in beta" left behind, no links or anchors touched. The unchanged Beta Features settings section name is correctly still referenced as a UI label.
  • Style. No em dashes and no "real" as emphasis introduced by this diff.

Fixed: nothing needed. Left: nothing. Merging.

@teamleaderleo
teamleaderleo merged commit 5171e34 into main Sep 28, 2026
68 of 69 checks passed
@teamleaderleo
teamleaderleo deleted the feat-cloud-docs-rollout-note branch September 28, 2026 07:57
@github-actions

Copy link
Copy Markdown
Contributor

Merge receipt for 0e0bb2f523: every check was green at merge (20 verified; 16 skipped by policy). Full suite runs on main after merge.

rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 28, 2026
1b55596 Move saved sessions between cmux installs: restore-session --from / --export (manaflow-ai#14861)
0e1ab96 ci: force relay rollover renewal in release gate (manaflow-ai#15212)
a3d6070 Fix Cloud projection reads mutating observation state (manaflow-ai#15126)
5171e34 docs: say Cloud turns on per Mac through a staged rollout (manaflow-ai#15194)
53395a8 Recover a missing team scope instead of failing Mac pairing (manaflow-ai#15083)
454f191 ci: read the gui backlog eight runs at a time in late placement (manaflow-ai#15207)
147a616 ci: cmux-tui's release-path macOS builds take the owned side lane first (manaflow-ai#15184)
c74b646 License the cmux server software under the Business Source License 1.1 (manaflow-ai#15206)
0bb41fa test: restore the first responder before the dictation paste test's Cmd+V (manaflow-ai#15201)
b17bc18 ui-tests: empty Diagnostics Reporter's queue before closing it (manaflow-ai#15189)
d5f71c5 ci: iOS picker charges runs by their live jobs, not their titles (manaflow-ai#15188)
3c2cb96 Pane focus memory and New Pane (Auto Layout) (manaflow-ai#15125)
89519d8 ci: expand an empty E2E -only-testing list under bash 3.2 (manaflow-ai#15208)
f225777 Ghostty config live reload: keep saves during a reload, reload a theme preview once, watch XDG_CONFIG_HOME (manaflow-ai#15191)
714ec53 ci: stop at a full disk on clonefile, and never nest a seed clone (manaflow-ai#15199)
48d662a ci: ui-tests dispatches UI tests with main's dispatcher (manaflow-ai#15193)
3412812 Restore the Cloud template terminal in place after a daemon restart (manaflow-ai#15200)

# Conflicts:
#	.github/workflows/ci-macos.yml
#	.github/workflows/ci.yml
#	.github/workflows/cmux-tui-build-package.yml
#	.github/workflows/cmux-tui.yml
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.

2 participants