From 1a36cb5f677ac1a16374b4b658761933364d5d9d Mon Sep 17 00:00:00 2001 From: lawrencecchen <54008264+lawrencecchen@users.noreply.github.com> Date: Thu, 11 Jun 2026 23:55:16 -0700 Subject: [PATCH 1/5] Add failing tests: unstaged untracked files, persisted viewer prefs, nav shortcuts - cmux diff --unstaged must include untracked files (agents constantly create new files; plain git diff silently hides them) - persisted viewer preferences (CMUX_DIFF_VIEWER_PREFS_PATH) must seed payload layout + viewerOptions, with --layout still winning (https://github.com/manaflow-ai/cmux/issues/5284) - diff viewer payload must carry diffViewerNextHunk/PrevHunk/NextFile/PrevFile shortcut defaults (n / p / ] / [) Tests only; the fixes land in the next commit so CI proves they catch the behavior. Co-Authored-By: Claude Fable 5 --- cmuxTests/CMUXOpenCommandTests.swift | 106 +++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/cmuxTests/CMUXOpenCommandTests.swift b/cmuxTests/CMUXOpenCommandTests.swift index 16f66b194cd..9712059a742 100644 --- a/cmuxTests/CMUXOpenCommandTests.swift +++ b/cmuxTests/CMUXOpenCommandTests.swift @@ -386,6 +386,14 @@ final class CMUXOpenCommandTests: XCTestCase { XCTAssertEqual((try XCTUnwrap(scrollTop["second"] as? [String: Any]))["key"] as? String, "g") let fileSearch = try XCTUnwrap(shortcuts["diffViewerOpenFileSearch"] as? [String: Any]) XCTAssertEqual(fileSearch["unbound"] as? Bool, true) + let nextHunk = try XCTUnwrap(shortcuts["diffViewerNextHunk"] as? [String: Any]) + XCTAssertEqual((try XCTUnwrap(nextHunk["first"] as? [String: Any]))["key"] as? String, "n") + let prevHunk = try XCTUnwrap(shortcuts["diffViewerPrevHunk"] as? [String: Any]) + XCTAssertEqual((try XCTUnwrap(prevHunk["first"] as? [String: Any]))["key"] as? String, "p") + let nextFile = try XCTUnwrap(shortcuts["diffViewerNextFile"] as? [String: Any]) + XCTAssertEqual((try XCTUnwrap(nextFile["first"] as? [String: Any]))["key"] as? String, "]") + let prevFile = try XCTUnwrap(shortcuts["diffViewerPrevFile"] as? [String: Any]) + XCTAssertEqual((try XCTUnwrap(prevFile["first"] as? [String: Any]))["key"] as? String, "[") let files = try diffViewerAllowedFiles(for: rawURL, from: params) XCTAssertTrue(html.contains("Review diff"), html) XCTAssertTrue(html.contains("