Skip to content

AetherTerm v1.16.1

Choose a tag to compare

@bcblr1993 bcblr1993 released this 04 Nov 05:48
· 21 commits to master since this release

🐞 问题修复 (Bug Fixes)

  • 彻底根治 SFTP 行拖拽导出触发主线程信号量与 MainActor 互锁卡死(Beachball 无响应):
    • 新增非阻塞 FIFO 主线程调度器 dispatchMainActorNonBlocking,消除 SwiftUI NSItemProvider.loadURLSynchronously(for:) 信号量阻塞主线程时与后台 await MainActor.run 的互锁死锁;
    • 在拖拽取消回调中联动取消进度采样协程,并禁用上级目录项 .. 的拖拽导出。
  • 消除 SSH 远程目录列举、主目录探测与远端命令执行的同步阻塞及管道死锁隐患:
    • 将 NativeSSHSession 中的 listDirectory、probeRemoteHome 与 executeRemoteCommand 统一改造为基于 runTransferProcess / runSCPProcess 的纯异步可取消执行,补齐 standardInput = FileHandle.nullDevice 与连接超时保护,并并发排空 stdout/stderr 管道;
    • 修复 LocalTerminalSession 本地命令执行中先 waitUntilExit() 后读取管道导致的 >64KB 管道缓冲区死锁隐患。

🧪 质量门禁与性能对比 (Verification & Benchmarks)

  • 新增 DragAndDropTransferTests.testSynchronousMainThreadLoadURLDoesNotDeadlock 主线程同步信号量拖拽防死锁回归测试;
  • 全量自动化测试用例 100% 绿色通过(0 failures),Swift 6 模式零警告,通过 Developer ID 官方签名与 Apple 安全公证。