Skip to content

iOS: use the official cmux brand lockup - #11725

Merged
azooz2003-bit merged 4 commits into
mainfrom
fix-ios-brand-lockup
Sep 2, 2026
Merged

azooz2003-bit merged 4 commits into
mainfrom
fix-ios-brand-lockup

Conversation

@azooz2003-bit

@azooz2003-bit azooz2003-bit commented Sep 2, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Replaces the chevron-only iOS logo with the rounded-square cmux.com App Store mark.
  • Uses the shared mark on sign-in, session restoration, and launch.
  • Matches the official wordmark typography with SF Pro semibold and -0.015em tracking while preserving Dynamic Type.

Apple typography guidance: https://developer.apple.com/design/human-interface-guidelines/typography

Testing

  • Cloud iOS device archive passed.
  • Cloud isolated-simulator build passed on iPhone 17, iOS 27.0.
  • Real fresh-install sign-in screen verified at 9:41 with the official icon and typography.
  • Same-account simulator pairing and usable RPC session passed before the fresh-install visual check.
  • The 1x iOS logo source and App Store banner logo have the same SHA-1.
  • git diff --check origin/main...HEAD passes.

Demo

  • Static branding change verified from the real app on an isolated simulator. No mocked screen or generated image was used.

Checklist

  • I tested the change on a real iOS build
  • I verified the unauthenticated sign-in screen
  • Automatic repository review found no actionable comments
  • No localized copy changed

@vercel

vercel Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
cmux166 Ready Ready Preview Sep 3, 2026 2:47pm UTC
cmux41 Ready Ready Preview Sep 3, 2026 2:47pm UTC

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create a Codex account and connect to github.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

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

@coderabbitai

coderabbitai Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: e167f14a-22aa-462f-a5e3-93976be18c73

📥 Commits

Reviewing files that changed from the base of the PR and between c4b8e2b and e3d2a4a.

⛔ Files ignored due to path filters (7)
  • ios/cmux/Assets.xcassets/CmuxLogo.imageset/cmux-logo.png is excluded by !**/*.png
  • ios/cmux/Assets.xcassets/CmuxLogo.imageset/cmux-logo.svg is excluded by !**/*.svg
  • ios/cmux/Assets.xcassets/CmuxLogo.imageset/cmux-logo@2x.png is excluded by !**/*.png
  • ios/cmux/Assets.xcassets/CmuxLogo.imageset/cmux-logo@3x.png is excluded by !**/*.png
  • ios/cmux/Assets.xcassets/LaunchLogo.imageset/LaunchLogo.png is excluded by !**/*.png
  • ios/cmux/Assets.xcassets/LaunchLogo.imageset/LaunchLogo@2x.png is excluded by !**/*.png
  • ios/cmux/Assets.xcassets/LaunchLogo.imageset/LaunchLogo@3x.png is excluded by !**/*.png
📒 Files selected for processing (3)
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/SignInView.swift
  • ios/Config/Info.plist
  • ios/cmux/Assets.xcassets/CmuxLogo.imageset/Contents.json

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


📝 Walkthrough

Walkthrough

The iOS branding updates replace the universal vector logo with scale-specific PNG assets, update launch-screen documentation, and adjust sign-in header typography and letter spacing.

Changes

iOS branding

Layer / File(s) Summary
Branding assets and launch metadata
ios/cmux/Assets.xcassets/CmuxLogo.imageset/Contents.json, ios/Config/Info.plist
The logo asset now uses 1x, 2x, and 3x PNG files. The launch-screen documentation identifies the cmux.com App Store banner mark.
Sign-in header typography
Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/SignInView.swift
The brandHeader title uses semibold system typography with -0.33 tracking.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to 260b5

This localized iOS branding update changes packaged assets and sign-in presentation without introducing a concrete correctness, security, availability, or deployment risk; no actionable merge-blocking risk remains beyond normal checks.

Suggested reviewers: austinywang

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 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 1…
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 Swift Actor Isolation ✅ Passed PASS: The branding PR changes only two typography modifiers in SignInView, a SwiftUI View type. The diff adds no models, service protocols, Sendable reference types, background access, or actor-…
Cmux Swift Blocking Runtime ✅ Passed PASS: The PR changes only SwiftUI typography in SignInView.brandHeader: it replaces the font modifiers and adds .tracking(-0.33). The diff introduces no semaphore, blocking wait, sleep, delayed di…
Cmux Browser Automation Off-Main ✅ Passed PASS: The PR diff from merge base 2c983cd9f4 to HEAD changes only iOS branding assets, Info.plist, the sign-in typography, and the Xcode project. It does not change `Sources/TerminalController.s…
Cmux Expensive Synchronous Load ✅ Passed PASS: The only production Swift diff changes SignInView.brandHeader from .font(.title2)/.fontWeight(.semibold) to a system font and .tracking(-0.33). It adds no agent-history loader, file read…
Cmux Cache Substitution Correctness ✅ Passed PASS — The net PR diff contains only sign-in typography, launch-screen comment, and logo asset changes. The only production Swift change updates SignInView.brandHeader font and tracking; it does not…
Cmux No Hacky Sleeps ✅ Passed PASS. The PR changes SwiftUI code, Xcode project metadata, plist metadata, and image assets only. The rule covers non-Swift TypeScript, JavaScript, shell, and build/runtime scripts. The diff contains …
Cmux Algorithmic Complexity ✅ Passed PASS: The pull request adds no scalable collection iteration or collection rescanning. The only production Swift change is SignInView.swift, where brandHeader changes font and tracking modifiers. …
Cmux Swift Concurrency ✅ Passed PASS — The PR changes only SwiftUI typography in SignInView.brandHeader: it replaces the font modifiers and adds tracking. The PR diff introduces no DispatchQueue, DispatchGroup, Combine, comple…
Cmux Swift @Concurrent ✅ Passed PASS: The only Swift change is in SignInView.brandHeader, replacing .font(.title2)/.fontWeight(.semibold) with a font modifier and .tracking(-0.33). The PR Swift diff contains no @concurrent…
Cmux Swift Package Boundaries ✅ Passed PASS. The only production Swift diff changes SignInView.brandHeader in Packages/iOS/CmuxMobileShellUI, a SwiftPM UI target. The change only replaces font modifiers and adds tracking. It introduces…
Title check ✅ Passed The title clearly summarizes the main change: applying the official cmux brand lockup across iOS branding.
Description check ✅ Passed The description includes a clear summary, testing details, a demo note, and a checklist. It omits the repository review-trigger block and does not use the exact Demo Video section, but it provides suf…
Full details: Docstring Coverage

Explanation

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 1 files. (2 skipped: 2 unsupported.)

Full details: Cmux Swift Actor Isolation

Explanation

PASS: The branding PR changes only two typography modifiers in SignInView, a SwiftUI View type. The diff adds no models, service protocols, Sendable reference types, background access, or actor-isolation annotations. The remaining PR changes are plist and asset files. SwiftUI UI types are explicitly allowed by the rule.

Full details: Cmux Swift Blocking Runtime

Explanation

PASS: The PR changes only SwiftUI typography in SignInView.brandHeader: it replaces the font modifiers and adds .tracking(-0.33). The diff introduces no semaphore, blocking wait, sleep, delayed dispatch, polling, main-queue sync, timer, or manual lock. The other PR changes are plist, Xcode metadata, and image assets. Existing blocking/timing references elsewhere are unchanged and therefore allowed by the rule.

Full details: Cmux Browser Automation Off-Main

Explanation

PASS: The PR diff from merge base 2c983cd9f4 to HEAD changes only iOS branding assets, Info.plist, the sign-in typography, and the Xcode project. It does not change Sources/TerminalController.swift, ControlCommandExecutionPolicy.swift, browser automation routing, or policy tests. Therefore, it introduces no browser socket automation failure covered by this check.

Full details: Cmux Expensive Synchronous Load

Explanation

PASS: The only production Swift diff changes SignInView.brandHeader from .font(.title2)/.fontWeight(.semibold) to a system font and .tracking(-0.33). It adds no agent-history loader, file read, JSON parse, directory scan, or syscall, and the remaining PR changes are plist, asset, and project-resource updates. Therefore the custom check's expensive synchronous load failure condition is not introduced.

Full details: Cmux Cache Substitution Correctness

Explanation

PASS — The net PR diff contains only sign-in typography, launch-screen comment, and logo asset changes. The only production Swift change updates SignInView.brandHeader font and tracking; it does not read, cache, persist, or snapshot state. The asset and plist changes also do not replace an authoritative read. Therefore, no cache substitution occurs in a persistence, history, undo, or snapshot path, and cold/stale cache handling is not applicable.

Full details: Cmux No Hacky Sleeps

Explanation

PASS. The PR changes SwiftUI code, Xcode project metadata, plist metadata, and image assets only. The rule covers non-Swift TypeScript, JavaScript, shell, and build/runtime scripts. The diff contains no covered production sleep, timer, polling, delayed-dispatch, or wall-clock synchronization changes.

Full details: Cmux Algorithmic Complexity

Explanation

PASS: The pull request adds no scalable collection iteration or collection rescanning. The only production Swift change is SignInView.swift, where brandHeader changes font and tracking modifiers. The asset, plist comment, and Xcode project changes do not add runtime algorithms. The broader diff also contains only test-target wiring from an earlier test commit, which is test scaffolding and is explicitly out of scope.

Full details: Cmux Swift Concurrency

Explanation

PASS — The PR changes only SwiftUI typography in SignInView.brandHeader: it replaces the font modifiers and adds tracking. The PR diff introduces no DispatchQueue, DispatchGroup, Combine, completion-handler API, or new fire-and-forget Task pattern. Existing Task occurrences in the file are unchanged between origin/main and HEAD; the other changes are assets, plist data, and Xcode project metadata.

Full details: Cmux Swift `@Concurrent`

Explanation

PASS: The only Swift change is in SignInView.brandHeader, replacing .font(.title2)/.fontWeight(.semibold) with a font modifier and .tracking(-0.33). The PR Swift diff contains no @concurrent, nonisolated, actor-isolation, async, or task changes. Existing async sign-in helpers and their call sites are unchanged, so the rule's allowed existing-function case applies.

Full details: Cmux Swift Package Boundaries

Explanation

PASS. The only production Swift diff changes SignInView.brandHeader in Packages/iOS/CmuxMobileShellUI, a SwiftPM UI target. The change only replaces font modifiers and adds tracking. It introduces no domain logic, reusable API, provider/auth logic, persistence, parsing, or testable state transition. The boundary rule explicitly allows small UI-only views. The remaining PR changes are plist and image assets.

Full details: Description check

Explanation

The description includes a clear summary, testing details, a demo note, and a checklist. It omits the repository review-trigger block and does not use the exact Demo Video section, but it provides sufficient information for review.

✨ 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 fix-ios-brand-lockup

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.

@azooz2003-bit
azooz2003-bit merged commit 2c66ab9 into main Sep 2, 2026
11 of 13 checks passed
@azooz2003-bit
azooz2003-bit deleted the fix-ios-brand-lockup branch September 2, 2026 22:33
rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 2, 2026
651e4f6 Merge pull request manaflow-ai#11729 from manaflow-ai/feat-supervisor-owner
4164ae1 Merge pull request manaflow-ai#11722 from manaflow-ai/feat-plugin-manager-hardening-main
d49bda2 fix: combine journal sequence and cursor continuity checks (manaflow-ai#11468)
ee3b0b4 fix(relay): drain pending process escalation before return
21ace78 fix(tui): distinguish local plugin Git paths
b39ae5d fix(relay): bound keeper setup cleanup
1562cad test(tui): preserve local plugin Git paths
b01cf06 fix(relay): disarm Windows jobs on normal completion
c098bbf test(relay): preserve successful Windows process jobs
7de2d03 fix(tui): reject option-like SSH usernames
ab23651 test(tui): reject option-like SSH usernames
c99f089 fix(relay): keep process-group owner through grace period
cc7e1e1 fix(relay): scrub process-group keeper environment
ba2640e fix(relay): own process groups through bounded cleanup
5836c5f test(relay): cover owned process cancellation and timeout
8f41cf6 fix(tui): reject SSH option-like plugin hosts
ad825ef test(tui): reject SSH option-like plugin hosts
7c4c752 fix(tui): classify common plugin credential variables
a9ec9ea fix(tui): preserve plugin toolchain environment
8fc0e86 test(tui): preserve plugin toolchain environment
012569f fix(tui): close plugin source and environment escape hatches
3fe0d92 test(tui): reject plugin source options and env leaks
edeed73 test(tui): close plugin source and environment escape hatches
63c0c25 fix(tui): reject Git credentials in all non-SSH URLs
e480982 test(tui): reject credential-like Git userinfo
35bb023 fix(tui): allow IPv6 plugin Git sources
df9e467 test(tui): preserve IPv6 plugin Git sources
0931ca2 fix(tui): bound and isolate plugin builds
e199af9 test(tui): cover plugin transport and build boundaries
2c66ab9 iOS: use the official cmux brand lockup (manaflow-ai#11725)
368c47a docs(tui): align protocol contracts with runtime (manaflow-ai#11418)
3507ef0 iOS: launch with a cached session mounts the shell, not the sign-in loading screen (manaflow-ai#11564)
cf475ff Merge pull request manaflow-ai#11727 from manaflow-ai/fix-tui-app-closure-type-main
6603bf7 fix(cmux-tui): annotate pane fixture closure input
1384921 Merge pull request manaflow-ai#11720 from manaflow-ai/fix-cli-upsert-arg-order
a8dbaf4 fix(cli): order hookEventName before runtimeStatus in agent-hook upsert call

This branch was successfully deployed

2 active deployments
Preview – cmux166 — 260b5aa2 Deployed Sep 3, 2026 by vercel[bot]
Preview – cmux41 — 260b5aa2 Deployed Sep 3, 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