Skip to content

fix: skip Cloud welcome on dev launches - #17647

Merged
austinywang merged 1 commit into
mainfrom
fix-cloud-welcome-dev
Oct 6, 2026
Merged

austinywang merged 1 commit into
mainfrom
fix-cloud-welcome-dev

Conversation

@austinywang

@austinywang austinywang commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Skip automatic Cloud welcome presentation in DEBUG/cmux DEV launches.
  • Keep the existing Help → Show Cloud Welcome debug entrypoint and release first-run behavior unchanged.

Testing

  • git diff --check
  • Focused hosted Cloud welcome test was attempted through nx-remote, but cmux-lawrence-2 was unavailable due SSH/DNS resolution.
  • Tagged dev build is running as fleet job d6919724d37c27d41537f69f (fix-cloud-welcome-dev-v1).

Impact map

  • Source of truth and owner: AppDelegate.presentCloudWelcomeIfNeeded; called after the first main window registers.
  • Direct callers and sibling entrypoints inspected: the main-window registration call, CloudWelcomeWindowController.presentIfNeeded, and the DEBUG Help menu action in CmuxHelpCommands.
  • Cross-surface effects: no Cloud controller, persistence, API, localization, or release-path changes; only the automatic DEBUG launch path is compiled out.
  • Tests and evidence: existing CloudWelcomeTests continue to cover release eligibility logic; the target Debug configuration defines DEBUG; the hosted test is blocked by build-host DNS.
  • Residual risk: a future dev configuration that does not define DEBUG would retain automatic presentation.

Mergeability

  • Base SHA: a8c48618e8a5501d252fa17a1a48bbf25dd3d459
  • Head SHA: 8f5364a1b64cb09eb531628192320d666318783b
  • Conflict-only gate: PASS (base a8c48618e8a5501d252fa17a1a48bbf25dd3d459, head 8f5364a1b64cb09eb531628192320d666318783b, no conflicted paths)

Summary by CodeRabbit

  • Bug Fixes
    • The cloud welcome screen no longer appears in debug builds. Its existing deferred presentation in release builds remains unchanged, as do its exclusions in XCTest and UI test mode.

@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

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

@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

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: 4e25c5ff-12e1-4da4-9b5c-9661e583c02d
📥 Commits

Reviewing files that changed from the base of the PR and between a8c4861 and 8f5364a.

📒 Files selected for processing (1)
  • Sources/AppDelegate.swift

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


📝 Walkthrough

Walkthrough

The cloud welcome presentation method now returns immediately in DEBUG builds. Existing XCTest and UI-test exclusions and deferred presentation in release builds remain.

Changes

Cloud welcome presentation

Layer / File(s) Summary
Build-specific presentation guard
Sources/AppDelegate.swift
The method skips cloud welcome presentation in DEBUG builds. It retains the existing test exclusions and deferred presentation in release builds.

Priority: ⬇️ Low

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

Change: Bug fix

Suggested reviewers: lawrencecchen

Merge Risk: ⚪ Minimal · up to 8f536

Automatic Cloud Welcome is skipped in the supported cmux DEV launch while the separate Release behavior remains unchanged. No actionable merge-blocking risk is established.

🚥 Pre-merge checks | ✅ 25
✅ Passed checks (25 passed)
Check name Status Explanation
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 The diff changes only presentCloudWelcomeIfNeeded(over:) in Sources/AppDelegate.swift. It skips automatic Cloud welcome presentation in DEBUG builds and retains release presentation. It does not…
Cmux Swift Actor Isolation ✅ Passed The diff only adds a DEBUG early return in the existing AppDelegate.presentCloudWelcomeIfNeeded method and updates its comment. It adds no value models, service protocols, shared mutable Sendable …
Cmux Swift Blocking Runtime ✅ Passed The diff only adds an immediate return under #if DEBUG and retains the existing release-path DispatchQueue.main.async call. It adds no blocking wait, sleep, delayed dispatch, polling, main-queue s…
Cmux Browser Automation Off-Main ✅ Passed The diff changes only AppDelegate.presentCloudWelcomeIfNeeded to skip automatic Cloud welcome presentation in DEBUG builds. It does not change browser socket commands, WebKit waits, `socketWorkerMet…
Cmux Expensive Synchronous Load ✅ Passed The diff changes only presentCloudWelcomeIfNeeded(over:): DEBUG builds now return before automatic welcome presentation. It adds or moves no agent-history load, store access, file scan, syscall loop…
Cmux Cache Substitution Correctness ✅ Passed The diff only adds an early return under #if DEBUG to presentCloudWelcomeIfNeeded. The release path retains its existing checks and deferred presentation. This change does not replace an authorita…
Cmux No Hacky Sleeps ✅ Passed The PR changes only Sources/AppDelegate.swift. The diff adds a #if DEBUG early return and changes a Swift comment; it adds no TypeScript, JavaScript, shell, or build/runtime-script changes. This c…
Cmux Algorithmic Complexity ✅ Passed The diff changes only Sources/AppDelegate.swift. It adds a DEBUG-only early return to presentCloudWelcomeIfNeeded; the release path is unchanged. The added code does not scan or sort collections…
Cmux Swift Concurrency ✅ Passed The diff changes only Sources/AppDelegate.swift. It adds a #if DEBUG early return. The existing DispatchQueue.main.async remains unchanged in the release-only branch, so the pull request does no…
Cmux Swift @Concurrent ✅ Passed The diff changes only the synchronous presentCloudWelcomeIfNeeded(over:) method in Sources/AppDelegate.swift. It adds a DEBUG early return; the release-only DispatchQueue.main.async presentati…
Cmux Swift Package Boundaries ✅ Passed The diff only adds a DEBUG early return to AppDelegate.presentCloudWelcomeIfNeeded(over:). The behavior change is app-lifecycle presentation gating in the app delegate, which the boundary rules ex…
Cmux Swiftpm Lockfiles ✅ Passed The PR changes only Sources/AppDelegate.swift. The diff adds a DEBUG early return to Cloud Welcome presentation and does not change a SwiftPM package, Xcode project, .gitignore, workflow, or dep…
Cmux Swift Logging ✅ Passed The diff changes only the Cloud welcome method’s comment and adds a DEBUG-only early return. It adds or materially changes no logging, so it does not violate the Swift logging rules.
Cmux User-Facing Error Privacy ✅ Passed The diff changes only presentCloudWelcomeIfNeeded: it adds a DEBUG early return and updates a developer-facing comment. It adds or changes no user-facing error, alert, command output, API error body…
Cmux Full Internationalization ✅ Passed The diff changes only Sources/AppDelegate.swift. It adds a DEBUG early return and developer-only comments; it adds no user-facing text, string-catalog or Info.plist entries, or web UI or metadata …
Cmux Swiftui State Layout ✅ Passed PASS. The diff only adds a #if DEBUG early return in AppDelegate.presentCloudWelcomeIfNeeded(over:). That method is called during main-window registration, not from a SwiftUI view body. The diff a…
Cmux Architecture Rethink ✅ Passed The diff adds only a DEBUG compile-time early return in AppDelegate.presentCloudWelcomeIfNeeded. It adds no timing repair, mutable state, observer, side channel, or duplicate action wiring. The exis…
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed The diff only adds a DEBUG early return to AppDelegate.presentCloudWelcomeIfNeeded(over:). It does not add or materially change an NSWindow, NSPanel, controller, SwiftUI window, identifier, or…
Cmux Source Artifacts ✅ Passed The diff changes only Sources/AppDelegate.swift. This is hand-written product source, which the rule explicitly permits. No local output, generated artifact, cache, build output, or scratch director…
Cmux No Test Or Debug Seam In Production Source ✅ Passed The diff changes only Sources/AppDelegate.swift. It adds a #if DEBUG early return to presentCloudWelcomeIfNeeded(over:) and leaves the existing release-path presentation logic under #else. Thi…
Title check ✅ Passed The title clearly and concisely describes the main change: skipping automatic Cloud Welcome presentation on development launches.
Description check ✅ Passed The description explains the change, testing status, impact, and residual risk. It omits the required Changelog section and provides no demo video or screenshot for the behavior change, but the remain…
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

CI fast guards passes on 8f5364a1b6 (https://github.com/manaflow-ai/cmux/actions/runs/37519516957). This covers only the fast guards, not CI: CI's result is the ci-status check, and the CI failure attribution comment names any failing test.

@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Passes: CI passes on 8f5364a1b6.

CI passes on 8f5364a1b6 (run 37519517548 attempt 3).

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way.

@blacksmith-sh

blacksmith-sh Bot commented Oct 6, 2026

Copy link
Copy Markdown

Found 1 test failure on Blacksmith runners:

Failure

Test View Logs
test_compile_admission_retry_executes_safely/
test_compile_admission_retry_executes_safely
View Logs

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

@austinywang
austinywang merged commit 74cfb96 into main Oct 6, 2026
148 of 162 checks passed
@austinywang
austinywang deleted the fix-cloud-welcome-dev branch October 6, 2026 21:08
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Merge receipt for 8f5364a1b6, merged 2026-10-06 21:08:30 UTC

  • Not verified at merge: ci-status (not reported), macOS compile admission (in progress)
  • Verified: backend migrations applied, CI fast guards, Fast static checks, GhosttyKit release check, guards (18), linux-preflight, macOS admission gate, plan, Web complexity, web-validation
  • Skipped by policy: admission-placement, apply-production, apply-staging, browser, Claude wrapper regressions, Dogfood build #​${{ github.event.pull_request.number }}, full-suite-coverage, remote-daemon, suite-coverage, swift-package-tests, ui-tests, web, and 3 more
  • Full suite: runs on main after merge.

Labeled merged-unverified: if main breaks near this merge, look here first.

@github-actions github-actions Bot added the merged-unverified A judging check was not green at merge; see the merge receipt comment label Oct 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-unverified A judging check was not green at merge; see the merge receipt comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant