Repository navigation
Fix #3511: discover cmux user themes - #3956
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughCLI and GhosttyConfig now include com.cmuxterm.app per-user Application Support theme paths: CLI enumerates application-support roots via a new helper and GhosttyConfig adds the ChangesUser Theme Directory Support
Sequence Diagram(s)sequenceDiagram
participant TestRunner
participant CMUXCLI
participant FileManager
participant GhosttyConfig
TestRunner->>CMUXCLI: run `cmux themes list --json` (env overrides)
CMUXCLI->>FileManager: userApplicationSupportDirectories(environment:)
FileManager-->>CMUXCLI: application support root URLs (including CFFIXED_USER_HOME)
CMUXCLI->>GhosttyConfig: request themeSearchPaths(forThemeName:...)
GhosttyConfig-->>CMUXCLI: returns search paths (includes com.cmuxterm.app path)
CMUXCLI-->>TestRunner: JSON theme list output
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 14 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (14 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 user-theme discovery gap from #3511 by adding
Confidence Score: 5/5Safe to merge — the change only expands theme and config search paths and cannot remove or overwrite existing discovered paths. The change is strictly additive: CmuxApplicationSupportDirectories.userDirectories returns one path on a standard unsandboxed system (same path the old code used) and at most two distinct paths when CFFIXED_USER_HOME is set. Both constants used across the two callsites resolve to the same "com.cmuxterm.app" string, so runtime and CLI resolution stay in sync. The de-duplication logic is sound, the fallback for a missing FileManager result is preserved via the tilde-based third entry, and the write path is intentionally left unchanged. No production logging, actor isolation, or concurrency primitives were introduced. No files require special attention. Important Files Changed
Reviews (13): Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." | Re-trigger Greptile |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5040dc9. Configure here.

Summary
~/Library/Application Support/com.cmuxterm.app/themes/<name>to runtime theme resolution.cmux themes list/cmux themes setdiscovery.Reproduction
~/Library/Application Support/com.cmuxterm.app/themes/CmuxIssue3511LocalRepro./Applications/cmux.app/Contents/Resources/bin/cmux themes list; the temporary theme was absent./Applications/cmux.app/Contents/Resources/bin/cmux themes set CmuxIssue3511LocalRepro; observedUnknown theme.Note: the white-on-white live-surface foreground refresh path described in #3511 was already addressed on current
mainby PR #3852; this PR covers the remaining reproducible user-theme directory failure.Testing
Closes #3511
Note
Low Risk
Low risk: extends theme/config search paths to include cmux-specific Application Support locations (including
CFFIXED_USER_HOME) and adds tests; main risk is unintended path precedence/duplication affecting which theme/config is selected.Overview
Fixes theme discovery so user themes under
~/Library/Application Support/com.cmuxterm.app/themes(and equivalent paths whenCFFIXED_USER_HOMEis set) are found by both runtime theme resolution andcmux themesCLI commands.Introduces
CmuxApplicationSupportDirectories.userDirectoriesto centralize and de-duplicate Application Support roots, updates CLI config/theme search to use it, and adds regression tests (including an integration-style CLI JSONthemes listcheck).Reviewed by Cursor Bugbot for commit 0f1ba75. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Make
cmuxdiscover user themes in~/Library/Application Support/com.cmuxterm.app/themesat runtime and via the CLI, including whenCFFIXED_USER_HOMEis set. Fixes #3511 so these themes appear incmux themes listand can be applied withcmux themes set.CmuxApplicationSupportDirectories.userDirectories(user domain,CFFIXED_USER_HOME, and~) with standardized de-dup; used byGhosttyConfig.themeSearchPathsand the CLI.com.mitchellh.ghosttyandcom.cmuxterm.appforconfig/config.ghostty, with de-duplication.source_path; includes a bundled CLI runner with a timeout for stability.Written for commit 0f1ba75. Summary will update on new commits. Review in cubic
Summary by CodeRabbit
New Features
Tests