cmux/Sources
Lawrence Chen b07532c522
Add Language setting for per-app locale override (#886)
* Add Language setting to Settings for per-app locale override

Uses UserDefaults AppleLanguages to override locale without changing
macOS system language. Picker shows System/English/Japanese with a
restart prompt when the selection changes.

* Address review feedback: guard relaunch and reset behavior

- Guard relaunchApp() against Process launch failure (don't terminate
  if the new instance didn't start)
- Prevent restart dialog from firing during Reset All Settings

* Add localization requirement to CLAUDE.md

All user-facing strings must use String(localized:) with keys in
Localizable.xcstrings and translations for all supported languages.

* Fix relaunch: use detached shell so open survives app exit

The previous approach spawned open as a child process that could get
killed when the parent terminated. Now spawns a shell with sleep+open
that outlives the current process.

* Fix shell injection risk and SwiftUI state batching in language setting

- Pass bundle path via environment variable instead of interpolating
  into shell command string
- Defer isResettingSettings=false to next run loop tick so onChange
  handler reliably sees the guard during Reset All Settings
2026-03-04 16:03:33 -08:00
..
Find feat: add Japanese localization with String Catalog (#819) 2026-03-04 14:58:28 -08:00
Panels Handle TLS authentication challenges to fix Microsoft device compliance (#806) 2026-03-04 15:48:18 -08:00
Update feat: add Japanese localization with String Catalog (#819) 2026-03-04 14:58:28 -08:00
AppDelegate.swift feat: add Japanese localization with String Catalog (#819) 2026-03-04 14:58:28 -08:00
Backport.swift Polish browser suggestions, focus, and tagged reload flow 2026-02-14 21:33:28 -08:00
BrowserWindowPortal.swift Fix double-click titlebar zoom not working on browser panel side 2026-02-24 14:35:10 -08:00
cmuxApp.swift Add Language setting for per-app locale override (#886) 2026-03-04 16:03:33 -08:00
ContentView.swift Reduce typing lag by hiding invisible views from accessibility tree (#862) 2026-03-04 15:40:57 -08:00
GhosttyConfig.swift Honor Ghostty background-opacity across all cmux chrome (#667) 2026-03-01 03:48:46 -08:00
GhosttyTerminalView.swift Reduce typing lag by hiding invisible views from accessibility tree (#862) 2026-03-04 15:40:57 -08:00
KeyboardLayout.swift Fix Cmd+plus zoom handling on non-US layouts (#680) 2026-02-28 00:16:03 -08:00
KeyboardShortcutSettings.swift feat: add Japanese localization with String Catalog (#819) 2026-03-04 14:58:28 -08:00
NotificationsPage.swift feat: add Japanese localization with String Catalog (#819) 2026-03-04 14:58:28 -08:00
PortScanner.swift Avoid main-thread hops for explicit socket scope 2026-02-20 23:58:47 -08:00
PostHogAnalytics.swift Add telemetry opt-out setting (#610) 2026-02-26 22:02:29 -08:00
SentryHelper.swift Auto-heal missing CLI listener socket (#679) 2026-02-28 01:19:38 -08:00
SessionPersistence.swift Fix session restore routing and browser history persistence 2026-02-24 14:34:55 -08:00
SidebarSelectionState.swift Implement session persistence pass 1 with multi-window restore 2026-02-22 15:39:59 -08:00
SocketControlSettings.swift feat: add Japanese localization with String Catalog (#819) 2026-03-04 14:58:28 -08:00
TabManager.swift feat: add Japanese localization with String Catalog (#819) 2026-03-04 14:58:28 -08:00
TerminalController.swift Clear sidebar notification when user submits prompt (#821) 2026-03-03 18:48:32 -08:00
TerminalNotificationStore.swift feat: add Japanese localization with String Catalog (#819) 2026-03-04 14:58:28 -08:00
TerminalView.swift Add sidebar blur effect with withinWindow blending (#9) 2026-02-04 03:04:45 -08:00
TerminalWindowPortal.swift Fix ghost terminal surface rebind after close (#808) 2026-03-03 15:20:42 -08:00
UITestRecorder.swift Fix frozen terminals after split churn (#12) 2026-02-13 16:45:31 -08:00
WindowAccessor.swift Polish browser suggestions, focus, and tagged reload flow 2026-02-14 21:33:28 -08:00
WindowDecorationsController.swift Refine settings/about titlebar styling and controls alignment 2026-02-14 02:11:35 -08:00
WindowDragHandleView.swift Fix re-entrant exclusive-access crash in drag handle hit test (#771) 2026-03-02 19:20:14 -08:00
WindowToolbarController.swift Coalesce title notification updates to reduce main-thread hangs 2026-02-20 20:14:19 -08:00
Workspace.swift feat: add Japanese localization with String Catalog (#819) 2026-03-04 14:58:28 -08:00
WorkspaceContentView.swift Honor Ghostty background-opacity across all cmux chrome (#667) 2026-03-01 03:48:46 -08:00