cmux/cmuxTests
Mikhail Andreev cfe6cf89d8
fix: keyboard shortcuts not working with Russian layout (#2202)
* fix: keyboard shortcuts not working with Russian and other non-Latin layouts

When a non-Latin input source (Russian, etc.) is active, event characters
are non-ASCII. The ANSI keyCode fallback was blocked when the layout-based
translation resolved a character, leaving no safety net. Now the keyCode
fallback is always available for non-Latin layouts, matching the physical
key position — similar to Ghostty's `physical:` keybinding behavior.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* test: add unit tests for Russian keyboard layout shortcut matching

Two tests for Cmd+T with non-Latin (Russian) keyboard layout:
1. Layout provider returns "t" (normal ASCII fallback) — verifies
   the layout-based matching path works with Cyrillic event chars.
2. Layout provider returns nil (translation failure) — verifies the
   ANSI keyCode fallback catches the shortcut by physical key position.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: scope ANSI keyCode fallback to non-ASCII events, add Russian to comments

Address review feedback:
- Split !hasUsableEventChars into two precise conditions:
  (hasEventChars && !eventCharsAreASCII) for non-Latin layouts, and
  (!hasEventChars && layoutCharacter empty) for synthetic/empty-char events.
  This prevents unintended keyCode fallback on Dvorak/Colemak with empty
  synthetic events.
- Add "Russian" to the non-Latin layout list in the guard comment at line 10626.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 15:25:36 -07:00
..
AppDelegateShortcutRoutingTests.swift fix: keyboard shortcuts not working with Russian layout (#2202) 2026-03-26 15:25:36 -07:00
BrowserConfigTests.swift Fix command palette focus after terminal find (#2089) 2026-03-25 17:27:54 -07:00
BrowserFindJavaScriptTests.swift Add find-in-page (Cmd+F) for browser panels (#837) (#875) 2026-03-04 16:15:15 -08:00
BrowserImportMappingTests.swift Refine browser import minimal UI 2026-03-17 16:46:10 -07:00
BrowserPanelTests.swift Fix splitter hitbox overlap and terminal scrollbar width resync (#1950) 2026-03-22 18:06:11 -07:00
CJKIMEInputTests.swift fix: prevent Japanese IME confirmation Enter from executing command (#2075) 2026-03-24 22:24:13 -07:00
CmuxConfigTests.swift feat: cmux.json for custom commands (#2011) 2026-03-24 22:28:46 -07:00
CommandPaletteSearchEngineTests.swift Prefer command palette title matches over keywords 2026-03-18 03:13:37 -07:00
GhosttyConfigTests.swift Fix titlebar double-click zoom handling (#2130) 2026-03-25 02:15:15 -07:00
GhosttyEnsureFocusWindowActivationTests.swift Add shortcut change notification regression 2026-03-15 22:09:34 -07:00
InactivePaneFirstClickFocusTests.swift Add optional single-click focus for inactive panes (#1796) 2026-03-19 01:01:10 -07:00
NotificationAndMenuBarTests.swift Fix sidebar notification persisting after being read (#1933) 2026-03-24 20:54:41 -07:00
OmnibarAndToolsTests.swift Split 16k-line mega test file, bump CI timeout, stream xcodebuild output (#1717) 2026-03-18 01:17:25 -07:00
SessionPersistenceTests.swift Fix window position restore on relaunch (#2129) 2026-03-25 02:05:13 -07:00
ShortcutAndCommandPaletteTests.swift Add command palette follow-up regressions 2026-03-25 17:40:38 -07:00
SidebarOrderingTests.swift Make remote sidebar directory canonicalization preserve live paths 2026-03-19 01:23:53 -07:00
SidebarWidthPolicyTests.swift Allow smaller sidebar widths (#1420) 2026-03-13 21:40:25 -07:00
SocketControlPasswordStoreTests.swift Add command palette entries to install/uninstall cmux CLI in PATH (#626) 2026-02-27 01:53:13 -08:00
TabManagerSessionSnapshotTests.swift Fix SSH workspace priming and restore state 2026-03-13 20:01:26 -07:00
TabManagerUnitTests.swift Fix Ghostty resize_split keybind support (#1899) 2026-03-25 00:26:27 -07:00
TerminalAndGhosttyTests.swift test: clarify stale portal rebind sync points 2026-03-24 00:04:30 -07:00
TerminalControllerSocketSecurityTests.swift Add pinned workspace close regression tests 2026-03-20 19:27:37 -07:00
UpdatePillReleaseVisibilityTests.swift Fix titlebar shortcut hint clipping (#1259) 2026-03-12 03:27:10 -07:00
WindowAndDragTests.swift Tune navigation flash accent 2026-03-20 20:36:08 -07:00
WorkspaceContentViewVisibilityTests.swift Add tmux attention regression tests 2026-03-20 20:18:33 -07:00
WorkspaceManualUnreadTests.swift Fix test target build after split test sync 2026-03-18 03:49:24 -07:00
WorkspacePullRequestSidebarTests.swift Fix sidebar workspace PR status display and false positives (#1636) 2026-03-17 22:57:12 -07:00
WorkspaceRemoteConnectionTests.swift Skip SSH cleanup after moving the last remote surface (#2123) 2026-03-25 17:51:56 -07:00
WorkspaceStressProfileTests.swift Add workspace stress profiling and reduce switch churn (#1218) 2026-03-13 04:44:16 -07:00
WorkspaceUnitTests.swift Fix Cmd+N nightly crash: avoid local Workspace refs in ARC hotpath (#2204) 2026-03-26 14:28:32 -07:00