diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index a63e74e0..64255fb2 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -471,16 +471,13 @@ jobs: path: | cmux-nightly-macos*.dmg appcast.xml -<<<<<<< HEAD remote-daemon-assets/cmuxd-remote-darwin-arm64 remote-daemon-assets/cmuxd-remote-darwin-amd64 remote-daemon-assets/cmuxd-remote-linux-arm64 remote-daemon-assets/cmuxd-remote-linux-amd64 remote-daemon-assets/cmuxd-remote-checksums.txt remote-daemon-assets/cmuxd-remote-manifest.json -======= appcast-universal.xml ->>>>>>> origin/main if-no-files-found: error - name: Move nightly tag to built commit diff --git a/CLI/cmux.swift b/CLI/cmux.swift index 7085fec7..ab8c17d0 100644 --- a/CLI/cmux.swift +++ b/CLI/cmux.swift @@ -4878,7 +4878,11 @@ struct CMUXCLI { throw CLIError(message: "Unsupported browser console subcommand: \(consoleVerb)") } let payload = try client.sendV2(method: method, params: ["surface_id": sid]) - output(payload, fallback: "OK") + if effectiveJSONOutput || consoleVerb == "clear" { + output(payload, fallback: "OK") + } else { + print(displayBrowserLogItems(payload["entries"]) ?? "No console entries") + } return } @@ -4892,7 +4896,11 @@ struct CMUXCLI { throw CLIError(message: "Unsupported browser errors subcommand: \(errorsVerb)") } let payload = try client.sendV2(method: "browser.errors.list", params: params) - output(payload, fallback: "OK") + if effectiveJSONOutput || errorsVerb == "clear" { + output(payload, fallback: "OK") + } else { + print(displayBrowserLogItems(payload["errors"]) ?? "No browser errors") + } return } @@ -6458,6 +6466,14 @@ struct CMUXCLI { client: SocketClient, windowOverride: String? ) throws -> String { + func insertArgumentBeforeSeparator(_ value: String, into args: inout [String]) { + if let separatorIndex = args.firstIndex(of: "--") { + args.insert(value, at: separatorIndex) + } else { + args.append(value) + } + } + var forwardedArgs: [String] = [] var resolvedExplicitWorkspace = false var index = 0 @@ -6486,7 +6502,7 @@ struct CMUXCLI { if !resolvedExplicitWorkspace, let workspaceArg = workspaceFromArgsOrEnv(commandArgs, windowOverride: windowOverride) { let workspaceId = try resolveWorkspaceId(workspaceArg, client: client) - forwardedArgs.append("--tab=\(workspaceId)") + insertArgumentBeforeSeparator("--tab=\(workspaceId)", into: &forwardedArgs) } let command = ([socketCommand] + forwardedArgs) diff --git a/Resources/shell-integration/cmux-zsh-integration.zsh b/Resources/shell-integration/cmux-zsh-integration.zsh index 45a99aaf..645189ee 100644 --- a/Resources/shell-integration/cmux-zsh-integration.zsh +++ b/Resources/shell-integration/cmux-zsh-integration.zsh @@ -85,8 +85,6 @@ _cmux_ensure_ghostty_preexec_strips_both_marks() { } _cmux_patch_ghostty_semantic_redraw() { - (( _CMUX_GHOSTTY_SEMANTIC_PATCHED )) && return 0 - local old_frag new_frag old_frag='133;A;cl=line' new_frag='133;A;redraw=last;cl=line' diff --git a/Sources/Workspace.swift b/Sources/Workspace.swift index eef6f15c..cfc68c75 100644 --- a/Sources/Workspace.swift +++ b/Sources/Workspace.swift @@ -568,7 +568,16 @@ extension Workspace { applySessionPanelMetadata(snapshot, toPanelId: browserPanel.id) return browserPanel.id case .markdown: - return nil + guard let filePath = snapshot.markdown?.filePath, + let markdownPanel = newMarkdownSurface( + inPane: paneId, + filePath: filePath, + focus: false + ) else { + return nil + } + applySessionPanelMetadata(snapshot, toPanelId: markdownPanel.id) + return markdownPanel.id } }