Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,7 @@ extension SettingsSchema {
"tabs.tabBar.browser": "every pane shows its tab bar; hide one with Hide Tab Bar in the command palette",
// The palette is the only way to hide a tab bar (Lawrence 2026-10-15, cx-5425v).
"tabs.tabBar.agent": "every pane shows its tab bar; hide one with Hide Tab Bar in the command palette",
// New Tab picks the action itself and has no Search | Ask switch (Leo 2026-10-20, #22816).
"tabs.newTabWidgets.modeSwitch": "New Tab picks open, ask or search from what you type; there is no switch",
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,17 @@ struct NewTabWidgetSettingsTests {
#expect(Self.parse(["greeting": .bool(true), "chats": .bool(true)]).newTabWidgets.ids == ["greeting", "chats"])
}

/// New Tab picks open, ask or search itself (#22816): an old config's switch key is retired,
/// so loading stays clean and Settings/agent writes cannot expose it again.
@Test func theRetiredModeSwitchKeyIsIgnored() {
let snapshot = Self.parse(["modeSwitch": .bool(true)])
#expect(snapshot.newTabWidgets.ids == [])
#expect(snapshot.diagnostics.isEmpty, "\(snapshot.diagnostics)")
#expect(snapshot.retiredKeys == ["tabs.newTabWidgets.modeSwitch"])
#expect(SettingsSchema.descriptor(for: ["tabs", "newTabWidgets", "modeSwitch"]) == nil)
#expect(!SettingsSchema.agentSettableKeys.contains("tabs.newTabWidgets.modeSwitch"))
}

@Test func eachWidgetTurnsOnAndTheGreetingOff() {
let snapshot = Self.parse([
"greeting": .bool(false), "projects": .bool(true), "actions": .bool(true),
Expand Down
2 changes: 1 addition & 1 deletion schemas/settings-export/settings-schema.sources.sha256
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ f9322eec467fc4afb6e840e2ac4ac45ba3725ef7e8beda9e6025b90b5d3a8d10 Packages/macOS

7afcc3f86f1ccaa8cea658981756cddd34a7633e02aa75a6cf1dfdc5ba724854 Packages/macOS/CmuxNext/Sources/CmuxNextSettings/Schema/SettingsSchema+Retired.swift

b1bbecb3bf92c6d816c4b5873244c97f3777fa524d2fa7aeb0904d1cf72b44cd Packages/macOS/CmuxNext/Sources/CmuxNextSettings/Schema/SettingsSchema+RetiredKeys.generated.swift
47ad9831abff626d622d0029cd67f13e1ab95187147b967fe02358ad62044c7f Packages/macOS/CmuxNext/Sources/CmuxNextSettings/Schema/SettingsSchema+RetiredKeys.generated.swift

d475ef9c2c02e07fc077689d915c72ed90060003b7b45abde9ce406bf70c94c4 Packages/macOS/CmuxNext/Sources/CmuxNextSettings/Schema/SettingsSchema+Screenshots.generated.swift

Expand Down
5 changes: 5 additions & 0 deletions schemas/settings/retired-keys.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@
"key": "tabs.tabBar.agent",
"reason": "every pane shows its tab bar; hide one with Hide Tab Bar in the command palette",
"why": "The palette is the only way to hide a tab bar (Lawrence 2026-10-15, cx-5425v)."
},
{
"key": "tabs.newTabWidgets.modeSwitch",
"reason": "New Tab picks open, ask or search from what you type; there is no switch",
"why": "New Tab picks the action itself and has no Search | Ask switch (Leo 2026-10-20, #22816)."
}
]
}
Loading