SIGN IN SIGN UP

fix(macos): disable automatic text substitutions in tray app (#538) (#548)

macOS smart-dash substitution rewrites "--" as an em-dash "—" in the
native tray's text fields (Add Server, server config, etc.), silently
corrupting CLI flags typed into Command/Arguments/Env fields
(e.g. "--flag" -> "—flag") and producing broken MCP server configs.

Disable all automatic text substitutions (dashes, quotes, text
replacement, spelling correction, capitalization) app-wide by writing
the corresponding defaults to the application domain in
applicationWillFinishLaunching, before any window / NSTextView field
editor exists. None of the app's text fields hold prose, so every
automatic substitution is unwanted everywhere; one global setting
covers all input fields. SwiftUI exposes no modifier for smart dashes
(.autocorrectionDisabled() does not affect dash substitution), so the
AppKit defaults the field editor reads at creation are the reliable
lever.

Also unwraps an optional in ModelsTests so the test target compiles
(pre-existing: XCTAssertEqual(_:_:accuracy:) needs a non-optional).

Related #538
D
Dumbris committed
392c0a1ddb64cf37829f697756c7762b68fd4006
Parent: 09aa250
Committed by GitHub <noreply@github.com> on 5/31/2026, 9:32:58 AM