Repository navigation
Fix iOS unread count badge contrast - #6524
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThe unread-count badge on the workspace back button is refactored to use an explicit ChangesWorkspace Back Button Badge Styling Refactoring
CI Workflow Robustness Improvements
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 22 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (22 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Greptile SummaryFixes the iOS workspace back-button unread badge to use fixed black/white colors instead of adaptive
Confidence Score: 5/5Safe to merge — all three change areas are narrow and independently correct with no shared state risk. The iOS badge fix replaces adaptive color lookups with two hard-coded fixed-color cases, the macOS closure injection preserves the default system behavior unchanged, and the CI cache validation only adds a guard that forces a clean download when the cached framework is missing its Info.plist. No auth, data, or payment paths are touched, and the new test correctly exercises the reduce-motion branch in isolation. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
WSV[WorkspaceShellView\nbadgeContrast: .darkBackground] --> WBB[WorkspaceBackButton]
WBB --> C{badgeContrast}
C -->|.darkBackground\ndark terminal chrome| D[White fill · Black text]
C -->|.lightBackground\ndefault| E[Black fill · White text]
subgraph macOS
CRV[CanvasRootView\nshouldReduceMotionForDiscreteZoom\ndefault = NSWorkspace] --> VP[CanvasRootView+Viewport\nsetMagnification]
VP --> RM{reduceMotion?}
RM -->|true| IM[applyViewport immediately]
RM -->|false| AN[animateDiscreteZoom]
end
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
WSV[WorkspaceShellView\nbadgeContrast: .darkBackground] --> WBB[WorkspaceBackButton]
WBB --> C{badgeContrast}
C -->|.darkBackground\ndark terminal chrome| D[White fill · Black text]
C -->|.lightBackground\ndefault| E[Black fill · White text]
subgraph macOS
CRV[CanvasRootView\nshouldReduceMotionForDiscreteZoom\ndefault = NSWorkspace] --> VP[CanvasRootView+Viewport\nsetMagnification]
VP --> RM{reduceMotion?}
RM -->|true| IM[applyViewport immediately]
RM -->|false| AN[animateDiscreteZoom]
end
Reviews (7): Last reviewed commit: "Validate GhosttyKit package test cache" | Re-trigger Greptile |
1881790 to
9a9fe6a
Compare
80fa8c9 to
5cb2789
Compare
5cb2789 to
927332d
Compare
927332d to
1afa9c8
Compare
Summary
.primary/systemBackgroundcolors for this badge because the toolbar sits over dark terminal chrome.Verification
xcodebuildmcp swift-package build --package-path Packages/iOS/CmuxMobileShellUI --target-name CmuxMobileShellUI --configuration debugfailed before compile because this worktree has no localGhosttyKit.xcframework../ios/scripts/reload-cloud.sh --tag dog --device-id E4058DA9-F4C7-52DD-951D-0354061B8E89 --wait 1200succeeded and installeddev.cmux.ios.dogon Lawrence’s iPhone../scripts/reload-cloud.sh --tag dogsucceeded and installedcmux DEV dog.app../ios/scripts/reload.sh --tag dog --simulator "iPhone 17" --no-launchwas blocked by the repo guard against local Xcode builds.xcodebuildmcp device launch --device-id E4058DA9-F4C7-52DD-951D-0354061B8E89 --bundle-id dev.cmux.ios.doglaunched successfully.Dogfood
Open a workspace detail on iPhone with unread activity in another workspace. The back-button count should render as black text on a white circular badge over the dark terminal bar.
Need help on this PR? Tag
/codesmithwith what you need. Autofix is disabled.Note
Low Risk
Localized UI styling, CI cache hardening, and accessibility-aligned zoom behavior with unit tests; no auth, data, or security surface.
Overview
Fixes the iOS workspace back-button unread count badge so it stays readable over dark terminal toolbar chrome. The badge no longer uses adaptive
.primary/systemBackground; it takes an explicitWorkspaceBackButtonBadgeContrast(.darkBackground→ white circle + black text,.lightBackground→ black circle + white text).WorkspaceShellViewpasses.darkBackgroundon the compact stack detail toolbar.CI (
swift-package-tests): After restoringGhosttyKit.xcframework, the workflow now checks forInfo.plist, deletes a corrupt cache entry, and re-downloads when invalid (not only on cache miss). GhosttyKit package test failure handling renames the exit-status variable totest_status(behavior unchanged).macOS canvas: Discrete keyboard/wheel zoom respects Reduce Motion via an injectable
shouldReduceMotionForDiscreteZoomonCanvasRootView(skips animation and applies zoom immediately).CanvasViewportZoomTestsstub that hook and add coverage for the reduce-motion path.Reviewed by Cursor Bugbot for commit 1afa9c8. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Fixes the iOS workspace back-button unread badge contrast with fixed black/white colors so the count stays readable over dark terminal chrome. Also hardens CI cache validation for
GhosttyKit.xcframeworkand adds a Reduce Motion seam and tests for macOS discrete zoom.New Features
WorkspaceBackButtonBadgeContrastwith.darkBackground(white badge, black text) and.lightBackground(black badge, white text; default).WorkspaceShellViewpasses.darkBackgroundfor the compact workspace toolbar.Refactors
WorkspaceBackButtonBadgeContrastinto its own file.GhosttyKit.xcframeworkby checkingInfo.plistand re-downloads when invalid.shouldReduceMotionForDiscreteZoominCanvasRootViewand adds tests to verify immediate zoom when Reduce Motion is on.Written for commit 1afa9c8. Summary will update on new commits.
Summary by CodeRabbit