Skip to content

Match workspace group pin tint - #9519

Merged
azooz2003-bit merged 2 commits into
mainfrom
feat-workspace-group-pin-color
Aug 4, 2026
Merged

azooz2003-bit merged 2 commits into
mainfrom
feat-workspace-group-pin-color

Conversation

@azooz2003-bit

@azooz2003-bit azooz2003-bit commented Aug 4, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Match the workspace-group pin tint to the workspace pin in AppKit and SwiftUI.
  • Apply the AppKit semantic tint during row configuration so reused cells remain correct.

Testing

Demo Video

  • Not needed. This is a static color-only change with no time-dependent behavior; the exact tint assertion and tagged-app screenshot cover the result.

Review Trigger

  • Automatic CodeRabbit and Cubic reviews completed on the latest commit. Codex review was not requested because it requires explicit user opt-in.

Checklist

  • I tested the change locally
  • I added or updated tests for behavior changes
  • Docs and changelog are not needed for this color-parity fix
  • Automatic bot reviews completed after the latest commit
  • All code review bot comments are resolved
  • All human review comments are resolved

@cursor

cursor Bot commented Aug 4, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026 •

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The PR aligns pinned workspace and group indicator colors. AppKit applies the group tint during model updates, SwiftUI uses the standard secondary style, and tests verify matching indicator colors.

Changes

Pinned indicator tint alignment

Layer / File(s) Summary
Update pinned indicator rendering
Sources/Sidebar/AppKitList/Cells/SidebarGroupHeaderRowView.swift, Sources/SidebarWorkspaceGroupHeaderView.swift
The AppKit group icon receives the secondary label color when pinned. The SwiftUI group icon uses the standard secondary foreground style.
Validate matching indicator colors
cmuxTests/SidebarAppKitRowCellTests.swift
Test helpers propagate isPinned and support reuse. SidebarPinnedIndicatorColorTests verifies that pinned workspace and group indicators use the same tint color.

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

Possibly related issues

  • manaflow-ai/cmux-dev-artifacts#8116 — Directly concerns the pinned group indicator color test added by this PR.

Possibly related PRs

🚥 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.
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 The production diff only changes tint assignment in an explicit @MainActor AppKit cell and a SwiftUI View; no new models, services, Sendable types, or background access were added.
Cmux Swift Blocking Runtime ✅ Passed The production diff only changes AppKit and SwiftUI pin tint styling; the added-line scan found no waits, sleeps, delayed dispatch, polling, sync, or locks.
Cmux Browser Automation Off-Main ✅ Passed The complete PR diff changes only sidebar tint code and AppKit sidebar tests; it changes no browser socket command, worker router, WebKit wait, or policy classification.
Cmux Expensive Synchronous Load ✅ Passed The PR diff only changes pin tint assignments and tests; no agent-history loader, file/JSON parsing, directory scan, or synchronous load is added or moved onto a UI path.
Cmux Cache Substitution Correctness ✅ Passed The production diff only changes AppKit and SwiftUI pin tint presentation; it does not replace an authoritative read or touch persistence, history, undo, or snapshot paths.
Cmux No Hacky Sleeps ✅ Passed The commit changes only two Swift production files and adds no non-Swift runtime delay or sleep; this rule explicitly excludes Swift timing primitives.
Cmux Algorithmic Complexity ✅ Passed The production diff only moves a tint assignment and changes a SwiftUI style; it adds no scans, sorting, filtering, joins, or slower algorithm. New collection logic is test-only.
Cmux Swift Concurrency ✅ Passed The two-commit diff changes only tint assignment, SwiftUI styling, and test helpers/assertions; it adds no prohibited async, Combine, completion-handler, or fire-and-forget Task patterns.
Cmux Swift @Concurrent ✅ Passed The PR changes only synchronous tint logic and test helpers; it adds no async, @concurrent, nonisolated, actor-isolation, or heavy-work call-site changes.
Cmux Swift Package Boundaries ✅ Passed The production diff only changes tint styling in AppKit and SwiftUI sidebar views; it adds no reusable or independently testable domain logic requiring a SwiftPM target.
Cmux Swiftpm Lockfiles ✅ Passed The complete PR diff contains only two Swift sources and one test; it changes no Package.swift, Package.resolved, .gitignore, workflow, or Xcode project files.
Cmux Swift Logging ✅ Passed The PR adds no print, debugPrint, dump, NSLog, file logging, Logger, or sensitive-data logging; it only changes pin tint and adds a tint comparison test.
Cmux User-Facing Error Privacy ✅ Passed The PR changes only pin icon tinting and related test helpers; it adds no user-facing errors, alerts, command output, API error bodies, or recovery copy.
Cmux Full Internationalization ✅ Passed The full PR diff only changes pin tint APIs in two production Swift files; it adds no user-facing text, localization keys, catalogs, or locale data. Test changes are allowed.
Cmux Swiftui State Layout ✅ Passed The SwiftUI diff only changes the existing pin icon from semi-transparent secondary to .secondary; it adds no state, geometry, lazy-row store reference, or render-time mutation.
Cmux Architecture Rethink ✅ Passed The PR makes two local tint assignments and adds a regression test; it introduces no timing, polling, locks, observers, side channels, or lifecycle ownership changes.
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed The diff only changes pin icon tint in two sidebar views; it adds or materially changes no NSWindow, NSPanel, NSWindowController, Window, or WindowGroup code.
Cmux Source Artifacts ✅ Passed The diff contains only two hand-written Swift source files and one Swift test file; no logs, caches, build output, temp directories, or other source-control artifacts were added.
Cmux No Test Or Debug Seam In Production Source ✅ Passed The PR adds only tint behavior in two production Swift files; no test/debug accessor or build-guarded seam is added. New test helpers and indicators remain under cmuxTests.
Cmux No Ambient Global State ✅ Passed The production diff only moves an existing tint assignment and changes a SwiftUI style; it adds no global function, mutable global, static namespace, or singleton.
Title check ✅ Passed The title clearly identifies the main change: matching the workspace group pin tint.
Description check ✅ Passed The description covers the change, rationale, testing, demo-video decision, review status, and checklist items.
✨ 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-workspace-group-pin-color

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 d953ced into main Aug 4, 2026
6 checks passed
@azooz2003-bit
azooz2003-bit deleted the feat-workspace-group-pin-color branch August 4, 2026 05:12
@austinywang austinywang mentioned this pull request Aug 7, 2026
5 of 6 tasks
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