Skip to content

Align Cloud machine stale status punctuation - #15900

Closed
teamleaderleo wants to merge 2 commits into
manaflow-ai:mainfrom
teamleaderleo:cloud-sidebar-status-kinds
Closed

teamleaderleo wants to merge 2 commits into
manaflow-ai:mainfrom
teamleaderleo:cloud-sidebar-status-kinds

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

When cached Cloud machines stay visible, the toolbar now separates the sign-in and Pro status from "showing last known" with the same dash used for offline and unavailable states. Each leading clause stays unchanged. This is a copy-only change with no behavior change; status handling, glyphs, actions and truncation are unchanged.

The four keys are machines.offline.stale, machines.listUnavailable.stale, machines.sessionRejected.stale and machines.requiresPro.stale. Only the last two catalog entries change. All nine macOS locales retain their wording and use the separator already present in their offline and unavailable entries. The four Swift defaults use literal dash characters because localize-changes cannot decode the existing Unicode escapes; the offline and unavailable text renders identically.

Validation

The same focused command runs on the separate regression and fix commits:

python3 scripts/ci/dispatch-focused-test.py cmuxTests/MachinesListStatusToolbarRowTests --ref <FULL_SHA> --runner glaeda-std-xcode-26.6

The dispatcher requires a suite selector, so the selector omits the .swift suffix.

  • Red at 7568a7303340c888be52b94c3c09c54f97eff3c7: run 36689405426, Test run with 4 tests in 1 suite failed after 0.061 seconds with 2 issues. Both failures are the comma-separated sign-in and Pro stale lines.
  • Green at 583b156c4b0bd22dce4ea88828e92a580f778c4c: run 36694512072, Test run with 4 tests in 1 suite passed after 0.062 seconds. The focused dispatch test job was skipped because the selected tests executed inside the build job; the build job passed.
  • python3 scripts/verify-local.py: all 6 selected checks ran and passed: Swift syntax, XCStrings structure, localization parity, app-source wiring, test wiring and feature flag policy. The wiring tool executed 13 tests with 0 skipped. No local app build, native test execution or app launch was performed.
  • Localization audit: ./scripts/localize-changes --work-file /tmp/cloud-sidebar-status-localization.json imported 16 non-English entries, covering the two changed keys in all nine locales including the updated English entries. The strict validator reports 10 catalogs, 9 locales: 0 parity errors.

Changelog

Changed: Use consistent separators before "showing last known" in all four Cloud machine toolbar status lines.

🤖 Generated with Claude Code

teamleaderleo and others added 2 commits September 30, 2026 01:03
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 30, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 5 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

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

Review profile: ASSERTIVE

Plan: Advanced

Run ID: c294005f-c7fc-4f8b-9792-8d4dc0e68ced

📥 Commits

Reviewing files that changed from the base of the PR and between 64ec56d and 583b156.

📒 Files selected for processing (3)
  • Resources/Localizable.xcstrings
  • Sources/Cloud/MachinesListStatusViews.swift
  • cmuxTests/MachinesListStatusToolbarRowTests.swift

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

Copy link
Copy Markdown
Contributor

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Heads up on the check rollup here: it reads SUCCESS but there is no CI in it.

This PR is CONFLICTING, so GitHub cannot build the merge ref, and no pull_request workflow has run on the current head. I checked the runs by head SHA: every run on it is pull_request_target (CLA Assistant, CLA policy guard, Web complexity) plus the review bots. There is no CI, no CI fast guards, no Testbox broker guard, no Localization catalog structure. An earlier head on this branch did have them, so this is the conflict, not a routing skip.

Worth knowing because the rollup being green here means nothing at all. Resolving the conflict brings CI back on the next push.

Leaving the conflict to you since your session is on this branch.

— Raindrop g2 🫧 / Run: run_worker_20260930_3fc64ba6

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

This PR is superseded by #16010, which re-lands the same two commits on the origin branch cloud-sidebar-status-kinds so the UI lane and tour frames can run. Please close #15900 in favor of #16010.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Closing in favour of #16228, which is the same two commits at the same tree on an origin branch. The reason: this PR's head is on a fork, and no ci.yml run was ever created for it. The nine green checks here are all bots (CLA, Web complexity, CodeRabbit, cubic, Socket) with no changes job, no app-host unit tests and no guards, so there is nothing in this rollup that validates the app. Your focused dispatch on 583b156 is genuine coverage of the changed suite and I carried it into #16228's body along with the red-at-7568a73 run, so nothing is lost.

One note that travelled with it: the rewritten test is a real improvement, since the old version compared the rendered row against presentation.staleTitle and both sides came from the same catalog lookup, so it could not detect a copy drift. It does now assert English literals, and expected no longer derives from Self.problems, so a new CloudListProblem case would be silently uncovered. Neither is worth holding the change.

Nothing to redo, just follow #16228. Thanks :)

— Raindrop g2 🫧

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