Skip to content

Consolidate sidebar settings - #3400

Merged
lawrencecchen merged 2 commits into
mainfrom
task-sidebar-settings-cleanup
May 1, 2026
Merged

lawrencecchen merged 2 commits into
mainfrom
task-sidebar-settings-cleanup

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented May 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Rename Sidebar Appearance to Sidebar.
  • Move sidebar display controls out of App and into Sidebar.
  • Remove the sidebar tint picker, opacity, and reset rows from Settings.

Testing

  • ./scripts/reload.sh --tag sidebar
  • git diff --check
  • ./tests/test_ci_swift_file_length_budget.sh
  • python3 scripts/swift_file_length_budget.py --budget .github/swift-file-length-budget.tsv

Notes

  • Existing sidebar tint config keys still decode for backward compatibility, but they are no longer exposed in Settings.

Summary by CodeRabbit

  • Improvements

    • Renamed "Sidebar Appearance" to "Sidebar" and moved Terminal and Sidebar sections earlier in Settings for quicker access.
    • Expanded sidebar-related search keywords to improve discoverability.
  • Removals

    • Removed sidebar tint controls and related tint search aliases.
  • Localization

    • Updated localized strings across multiple languages to reflect the label and token changes.

@vercel

vercel Bot commented May 1, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
cmux Ready Ready Preview, Comment May 1, 2026 11:55am
cmux-staging Building Building Preview, Comment May 1, 2026 11:55am

@coderabbitai

coderabbitai Bot commented May 1, 2026 •

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2824470b-388f-4b72-a397-3a38891e0699

📥 Commits

Reviewing files that changed from the base of the PR and between 68254c1 and f0a3203.

📒 Files selected for processing (1)
  • Resources/Localizable.xcstrings

📝 Walkthrough

Walkthrough

Localized "Sidebar Appearance" strings were shortened to "Sidebar" across locales; sidebar-related settings and search aliases were rekeyed from app-level to sidebarAppearance-level. Tint controls and related aliases were removed, and Terminal/Sidebar sections were moved and restructured in the Settings UI.

Changes

Cohort / File(s) Summary
Localization Updates
Resources/Localizable.xcstrings
Shortened "Sidebar Appearance" to "Sidebar" across locales; removed sidebar tokens from a large preferences string; rewrote left-rail navigation token sequence to include sidebar, details, branches, badges, material, terminal, background.
Command Palette
Sources/ContentView.swift
Changed palette.toggleMatchTerminalBackground subtitle from "Sidebar Appearance" to "Sidebar".
Settings Navigation
Sources/SettingsNavigation.swift
Updated .sidebarAppearance display title to "Sidebar"; added search tokens (material, terminal, background) and removed tint; moved several sidebar UI setting anchors/entries from .app target to .sidebarAppearance target; removed tint-related anchor entries.
Settings Search Aliases
Sources/SettingsSearchAliases.swift
Removed sidebar from .app default aliases; replaced .sidebarAppearance defaults with expanded sidebar-focused keywords; rekeyed many settingAliases from app: to sidebarAppearance: and removed tint-related aliases.
Settings UI Restructuring
Sources/cmuxApp.swift
Replaced hardcoded "Sidebar Appearance" header with localized settings.section.sidebarAppearance ("Sidebar"); moved Terminal and Sidebar sections earlier in SettingsView and added toggles (terminal scrollbar, match terminal background); removed prior Terminal and Sidebar Appearance placement including tint color/opacity controls and reset action.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐰 The label trimmed from pomp and air,
"Sidebar" hops in, concise and fair.
Settings shuffle, tints take flight,
Terminal and Sidebar leap to light,
A little rabbit cheers the sight! 🎉

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title 'Consolidate sidebar settings' directly and accurately summarizes the main change: reorganizing sidebar-related settings and controls within the codebase.
Description check ✅ Passed The description covers the main changes (renaming, moving controls, removing tint UI) and includes testing steps, but lacks demo video and is missing checked items in the provided checklist.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch task-sidebar-settings-cleanup

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
Review rate limit: 6/8 reviews remaining, refill in 10 minutes and 2 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@greptile-apps

greptile-apps Bot commented May 1, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR renames the "Sidebar Appearance" settings section to "Sidebar", moves the sidebar display controls (branch layout, hide details, show ports, etc.) from the App section into the Sidebar section in both the UI and the search index, and removes the tint color picker, opacity slider, and reset row from Settings (existing config keys still decode for backward compatibility).

The Swift-side changes are clean and consistent — settingsPathAnchorIDs, settingEntries, and SettingsSearchAliasIndex are all updated in sync. The two P2 findings are in Localizable.xcstrings: only en and ja were updated for the settings.search.alias.section.sidebarAppearance key (other locales retain stale "tint/opacity" aliases) and for settings.search.alias.section.app (other locales still carry "sidebar" as an alias pointing to the App section).

Confidence Score: 4/5

Safe to merge; no functional regressions — only stale search aliases affect non-English/Japanese locales

All Swift changes are consistent and correct. The two findings are P2 localization gaps: non-English/Japanese translations of two alias strings were not updated, leaving stale tint/opacity and sidebar terms in those locales search indexes. This is a discoverability issue only, not a crash or data loss.

Resources/Localizable.xcstrings — specifically the settings.search.alias.section.sidebarAppearance and settings.search.alias.section.app entries for ar, bs, da, de, es, fr, it, ko, nb, pl, pt-BR, ru, th, tr, uk, zh-Hans, zh-Hant

Important Files Changed

Filename Overview
Resources/Localizable.xcstrings Section title updated in all languages; search aliases updated only for en and ja — remaining locales retain stale tint/opacity and sidebar alias terms
Sources/SettingsNavigation.swift Sidebar display control entries correctly moved from .app to .sidebarAppearance; removed tint/opacity anchor IDs; updated settingsPathAnchorIDs consistently
Sources/SettingsSearchAliases.swift Alias keys moved from app:* to sidebarAppearance:* for all sidebar display controls; removed tint/opacity/reset-tint aliases; section alias updated
Sources/cmuxApp.swift Removed tint picker, opacity slider, and reset rows from Sidebar settings section; reordered Terminal and Sidebar sections earlier; fixed hardcoded string in SidebarDebugView
Sources/ContentView.swift Updated matchTerminalBackground command subtitle from Sidebar Appearance to Sidebar
.github/swift-file-length-budget.tsv Budget updated to reflect reduced line count (8389 → 8309) in cmuxApp.swift after removing tint rows

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Settings Search Query] --> B{Locale?}
    B -->|en / ja| C[Updated aliases:
sidebarAppearance → details/branches/badges
app → no sidebar term]
    B -->|ar / bs / da / de / es
fr / it / ko / etc.| D[Stale aliases remain:
sidebarAppearance → tint/opacity
app → sidebar]
    C --> E[Correct navigation:
Sidebar section → Sidebar settings]
    D --> F[Stale navigation:
Sidebar section → tint controls missing
App section → matches sidebar searches]
    subgraph Swift changes correct
        G[SettingsNavigation.swift
settingEntries: app to sidebarAppearance]
        H[SettingsSearchAliases.swift
app:* keys to sidebarAppearance:*]
        I[cmuxApp.swift
Removed tint/opacity UI rows]
    end
Loading

Comments Outside Diff (2)

  1. Resources/Localizable.xcstrings, line 69751-69795 (link)

    P2 Stale tint/opacity search aliases in non-English translations

    The settings.search.alias.section.sidebarAppearance translation for Arabic, Bosnian, Danish, German, Spanish, French, Italian, Korean (and likely others) still contains "tint transparency opacity" (and their native equivalents like "شفافية", "Farbton-Deckkraft", "Opacidad del tinte", etc.) from the old aliases. The tint picker and opacity slider were removed from Settings in this PR. Users on these locales who search for tint/opacity-related terms will still navigate to the Sidebar section and find those controls missing.

    Only en and ja were updated; the remaining language entries should have "tint transparency opacity" replaced with the new "details branches badges" terms to match the refreshed Swift default.

  2. Resources/Localizable.xcstrings, line 69513-69560 (link)

    P2 Stale "sidebar" alias in App section for non-English locales

    The settings.search.alias.section.app translations for Arabic, Bosnian, Danish, German, Spanish, French, Italian, Korean, and others still include the word "sidebar" (and locale-specific terms like "bočna", "sidepanel", "seitenleiste", etc.). Only en and ja had "sidebar" removed. Users of these locales who search for "sidebar" in settings will incorrectly land on the App section rather than the new Sidebar section.

Reviews (1): Last reviewed commit: "settings: consolidate sidebar settings" | Re-trigger Greptile

This branch was successfully deployed

1 active deployment
Preview – cmux — f0a32033 Deployed May 1, 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.

2 participants