feat: add terminal broadcast, context menu, and shell close

Complete multi-pane broadcast, standard terminal right-click actions, batch host selection with progress, and native ssh_close_shell so closing a pane tears down the remote shell.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Logan.LiandCursor committed 2026-08-05 19:53:39 +08:00
1 parent 494ef6b9d0
commit 9ce71795b8
38 files changed
+1437 -186

No files matched your search

+12 -1
View File
@@ -1,6 +1,6 @@
import assert from 'node:assert/strict'
import { spawnSync } from 'node:child_process'
import { mkdirSync, mkdtempSync, writeFileSync } from 'node:fs'
import { mkdirSync, mkdtempSync, readFileSync, writeFileSync } from 'node:fs'
import test from 'node:test'
import { dirname, resolve } from 'node:path'
import { tmpdir } from 'node:os'
@@ -20,6 +20,17 @@ test('build.sh is valid Bash and documents supported native targets', () => {
assert.match(help.stdout, /不会创建或推送 Git tag/)
})
test('build.bat provides an equivalent native Windows x64 release path', () => {
const script = readFileSync(resolve(root, 'build.bat'), 'utf8')
assert.match(script, /x86_64-pc-windows-msvc/)
assert.match(script, /acceptance:full/)
assert.match(script, /release-preflight\.mjs windows/)
assert.match(script, /verify-release\.mjs windows/)
assert.match(script, /nsis\\\*\.exe/)
assert.match(script, /SHA256SUMS\.txt/)
assert.match(script, /不会创建或推送 Git tag/)
})
test('release metadata versions stay synchronized', () => {
const versions = Object.values(inspectVersions(root))
assert.ok(versions.length > 0)