Releases: bcblr1993/ApexTerm
Releases · bcblr1993/ApexTerm
Release list
v1.5.5 - 全屏幕尺寸动态同步与 Vim 光标精确定位修复版
[v1.5.5] - 2026-09-30
🐞 问题修复 (Bug Fixes)
- 彻底解决全屏幕状态下终端/Vim 仅能显示一部分及尺寸不同步严重缺陷:
- 根因剖析:
- 当使用密码认证时,
NativeSSHSession通过sshpass工具拉起/usr/bin/ssh。窗口全屏或调整尺寸触发resizeTerminal时,此前仅对 master PTY 调用了ioctl(TIOCSWINSZ);Darwin 内核发送的SIGWINCH仅被传递给直接子进程sshpass,而sshpass默认忽略该信号且不向其子进程/usr/bin/ssh转发。由于ssh未收到SIGWINCH,它从未向远程 OpenSSH 服务器发送SSH_MSG_CHANNEL_WINDOW_CHANGE协议包,导致远程 Linux 终端与 Vim 始终被锁定在启动时的 30 行/35 行,大窗口或全屏下方留出大量黑屏未利用空间; - 防抖任务竞态漏洞:此前防抖任务在休眠 150ms 前便先行写入了
lastReportedDimensions。当全屏过渡动画期间多次连续触发或任务取消时,lastReportedDimensions已记录为新尺寸,导致后续即便动画结束也不再触发onResize远程尺寸回调; - 视窗容器尺寸监听盲区:
NativeTerminalScrollView此前未监听NSWindow.didEnterFullScreenNotification、didExitFullScreenNotification与didResizeNotification,且未重写tile()与viewDidEndLiveResize(),在 macOS 系统级全屏切换完成时未能即时计算出全屏可视区域行列数。
- 当使用密码认证时,
- 重构方案:
- 在
NativeSSHSession.resizeTerminal中,调用ioctl(TIOCSWINSZ)后,递归遍历并向childPid及其所有后代进程(包括/usr/bin/ssh及其子会话)主动发送SIGWINCH信号,确保无论是否使用sshpass密码中继,远程sshd均能 100% 毫秒级接收到最新的终端窗口行列数; - 重构尺寸防抖模型:将
lastReportedDimensions仅在尺寸真正下发时原子提交,并引入immediate: true模式,在全屏切换、窗口最大化与调整结束时即时触发; calculateTerminalDimensions()全面适配外层全屏容器边界(enclosingScrollView.bounds与contentView.bounds取最大安全值),并在tile()、viewDidEndLiveResize()与NSWindow全屏完成通知时即刻重新校准。
- 在
- 根因剖析:
- 彻底修复 Vim 模式下光标不可见及光标脱节至窗口底部缺陷:
- 根因剖析:此前
NativeTerminalView.getCursorRect()假定终端光标始终位于文本末尾行(activeLineStartLocation + cursorCol),而在备用屏幕(Vim / Less / Htop)模式下,activeLineStartLocation被重置在全部文本之后,导致光标被错误绘制在窗口最底部第 50 行的黑屏盲区中,用户在上方第 1 行编辑时完全看不到光标位置。 - 重构方案:
- 在
TerminalRingBuffer中新增cursorPosition: (row: Int, column: Int)属性,由 VT 解析引擎精准跟踪备用屏幕下的 2D 绝对光标网格坐标; - 重构
NativeTerminalView.getCursorRect():当处于备用屏幕模式时,直接根据pos.row与pos.column映射至字体度量网格(origin.x + col * charWidth, origin.y + row * lineHeight),实现光标在 Vim 文档中的像素级精准对齐与实时闪烁跟随; - 完整支持 DECTCEM 光标显隐控制(
\e[?25h显示光标,\e[?25l隐藏光标),退出备用屏幕时光标状态自动复位; - 优化块状光标(Block Cursor)渲染,增加半透明透光与对比度保护,确保光标覆盖下的英文字符与符号清晰可见。
- 在
- 根因剖析:此前
🧪 质量门禁与性能对比 (Verification & Benchmarks)
- 测试套件扩充至 12 项 Vim 与全屏专项测试 (
VimAndScreenModeTests):新增 Vim 2D 光标位置动态跟踪、DECTCEM 光标隐藏与恢复、备用屏幕视口光标原点校验、全屏窗口即时尺寸广播等全套测试; - 经由真实
macos27虚拟机全量验证通过,35 个测试套件(235+ 用例)100% 绿灯(0 failures, 0 warnings); - 8 项 Release 生产级性能基准全部大幅超越工程规范要求:
- RingBuffer 写入吞吐: 1,933,603 行/秒 (195.47 MB/秒) (标准 ≥ 50,000)
- ANSI / TrueColor 样式解析: 431,360 spans/秒 (标准 ≥ 150,000)
- 内存水位驻留集 (RSS): 104.45 MB (标准 ≤ 250 MB)
- 16 线程高并发争用写入: 2,576,700 writes/秒 (标准 ≥ 1,000,000)
- 64 核 Linux 无代理指标解析: 15,163 次/秒 (标准 ≥ 8,000)
- OpenSSH 500 主机集群解析: 154,279 hosts/秒 (标准 ≥ 80,000)
- SFTP 任务中心并发调度: 1,296 tasks/秒 (标准 ≥ 800)
- 物理按键直通与全链路键入延迟: 5.46 微秒 (μs) (标准 ≤ 15.0 μs)
v1.5.4 - Vim 全屏交互、状态栏保护与粘贴缩进格式错乱缺陷彻底修复版
[v1.5.4] - 2026-09-30
🐞 问题修复 (Bug Fixes)
- 彻底根除 Vim / 全屏交互应用底部显示不全与排版残缺问题:
- 根因剖析:
- SSH 连接建立前(异步握手期间),终端前端视图计算的实际窗口行列数(如 45 行 × 120 列)被发送给未打开的 Darwin PTY(
ptyMasterFd == -1),导致尺寸同步被静默丢弃;而 SSH 连接完成后直接采用硬编码默认的35 行 × 120 列打开 PTY,导致远程 Linux 终端与 Vim 始终被锁死在 35 行(或 30 行),大窗口下方留有大量未使用黑屏空白; - 终端底层缺少对
DECSTBM(设置顶底滚动区域\e[top;bottom r)以及S(向上滚动)、T(向下滚动)、P(删除字符)、@(插入字符)、X(清除字符)等 VT 序列的支持,导致 Vim 编辑和滚动文档时整屏错误滚动,进而冲毁或覆写底部状态栏; - 在 Vim 进入备用屏幕缓冲区(
\e[?1049h)时,滚动视口未锁定在顶部(y = 0),滚轮/触控板滑动直接滑动了 AppKit 视口而不是发送光标滚动指令,引发首尾行文字出界裁切。
- SSH 连接建立前(异步握手期间),终端前端视图计算的实际窗口行列数(如 45 行 × 120 列)被发送给未打开的 Darwin PTY(
- 重构方案:
NativeSSHSession与MockSSHSession实时记录并持久化最新终端尺寸currentDimensions,连接前尺寸调整即时暂存;在 Darwin PTY 分配(openpty)及连接成功后,双向强制校准并即时同步远程 PTY 尺寸;RingBuffer全面落地完整 VT/DEC 序列解析引擎:支持DECSTBM滚动区域隔离保护、S向上滚动、T向下滚动、P字符删除、@字符插入、X字符清除及光标保存恢复;严格保证滚屏操作仅作用于滚动区域内部,彻底保全 Vim 底部状态栏与命令行;TerminalClipView在备用屏幕模式下强制锁定垂直原点为0.0,阻断任何视口漂移;- 重写终端滚轮事件
scrollWheel(with:):在备用屏幕(Vim / Less / Htop)模式下将触控板滑动平滑转化为上下方向键输入(\e[A/\e[B),实现如同原生 Mac 终端与 iTerm2 般丝滑的翻页滚屏体验。
- 根因剖析:
- 修复 Vim / 终端多行文本粘贴格式错乱(楼梯效应与缩进乘倍)缺陷:
- 支持 DEC 复合私有模式解析(如
\e[?1049;2004h),确保括号化粘贴模式(Bracketed Paste Mode\e[?2004h)100% 正确激活; - 优化剪贴板粘贴文本换行标准化处理,在括号化粘贴包裹(
\e[200~ ... \e[201~)下原样无损传递缩进结构,彻底杜绝 YAML、代码及脚本粘贴到 Vim 时的缩进自动累加与排版错位。
- 支持 DEC 复合私有模式解析(如
🧪 质量门禁与性能对比 (Verification & Benchmarks)
- 新增 9 大 Vim 与备用屏幕专项测试用例 (
VimAndScreenModeTests):覆盖备用屏幕进出、复合私有模式解析、DECSTBM 滚动区域状态栏隔离保护、S/T 滚屏、P/@/X 字符增删抹除、括号化粘贴 YAML 缩进完整性、触控板滚轮方向键映射、视口零位锚定及连接前 PTY 尺寸同步; - 经由真实
macos27虚拟机全量验证通过,35 个测试套件(230+ 用例)100% 绿灯(0 failures, 0 warnings); - 8 项 Release 生产级性能基准全部大幅超越工程规范要求:
- RingBuffer 写入吞吐: 1,893,223 行/秒 (191.38 MB/秒) (标准 ≥ 50,000)
- ANSI / TrueColor 样式解析: 421,540 spans/秒 (标准 ≥ 150,000)
- 内存水位驻留集 (RSS): 104.05 MB (标准 ≤ 250 MB)
- 16 线程高并发争用写入: 2,261,652 writes/秒 (标准 ≥ 1,000,000)
- 64 核 Linux 无代理指标解析: 14,820 次/秒 (标准 ≥ 8,000)
- OpenSSH 500 主机集群解析: 152,839 hosts/秒 (标准 ≥ 80,000)
- SFTP 任务中心并发调度: 1,204 tasks/秒 (标准 ≥ 800)
- 物理按键直通与全链路键入延迟: 5.19 微秒 (μs) (标准 ≤ 15.0 μs)
v1.5.3 - 终端顶部首行视口遮挡缺陷彻底修复版
🐞 问题修复 (Bug Fixes)
- 彻底根除终端顶部第一行被顶出视口/遮挡及输入看不到的严重缺陷:
- 根因剖析:AppKit 原生
NSClipView默认isFlipped为false,而NSTextView为true,在零尺寸(frame.zero)初始挂载渲染或内容行数较少时,默认坐标翻转计算会导致文档原点被错误推入负空间(-36.0pt),导致视口上方首行内容被裁剪出界,用户在首行敲击键盘时文字不可见,需按回车换行或手动滑动滚轮才能显示。 - 重构方案:
- 引入专有
TerminalClipView(继承自NSClipView并强制isFlipped = true),与NSTextView实现 1:1 无损同构坐标映射; - 在
TerminalClipView.constrainBoundsRect与scroll(to:)中加入强一致性坐标约束,当内容未填满视口时强制锁定在y = 0,绝不允许视口原点进入负坐标或非预期向下滚动; NativeTerminalScrollView初始化与setFrameSize增加兜底安全几何尺寸,重设尺寸时自动校准terminalView.frame.origin为零点,彻底杜绝任何场景下的首行遮挡与视口偏移现象。
- 引入专有
- 根因剖析:AppKit 原生
🧪 质量门禁与性能对比 (Verification & Benchmarks)
- 经由真实
macos27虚拟机全量验证通过,34 个测试套件(220+ 用例,包括新增的 4 项视口零尺寸初始化、清屏与分屏动态调整首行保留测试)100% 绿灯(0 failures, 0 warnings); - 8 项 Release 生产级性能基准全部大幅超越工程规范要求(RingBuffer 吞吐 187万 行/秒,打字端到端延迟 5.19 μs)。
ApexTerm v1.5.2 — 全维度测试矩阵、SFTP体验与终端边距优化
[v1.5.2] - 2026-09-30
✨ 新增特性 (Features)
- 主流运维工具全场景测试矩阵深度补齐:
- 对标 Electerm、FinalShell、SecureCRT、Termius、iTerm2,全面构建并落地 6 大核心自动化测试套件(终端控制信号矩阵、多会话并发广播容错、SFTP 深度极端异常、触发器正则与复合变量插值、异构 Linux 与容器监控、Keychain 凭据安全生命周期),新增 34 个严苛边界测试用例。
⚡️ 体验优化 (Improvements)
- 终端视口与状态栏边距排版优化:
- 为
NativeTerminalView注入 10px 舒适内边距与动态行列尺寸补偿,彻底消除终端最后一行文字/光标与底栏贴紧的视觉压迫感; - 底部状态栏高度调优至 32px,内边距重新平衡并在连接状态与文件联动控件间引入清晰分隔线。
- 为
- Tart 虚拟机自动化寻址与持续验收支持:
- CI 与本地门禁流水线自动读取专用测试网络环境(固定直连
macos27目标虚拟机),保障真机链路验收常态化运行。
- CI 与本地门禁流水线自动读取专用测试网络环境(固定直连
🐞 问题修复 (Bug Fixes)
- 修复 SFTP 0 字节文件传输完成进度条滞留 0% 缺陷:
- 优化
TransferTask.progress计算模型,在传输任务完成时统一明确返回 100%(1.0),解决空文件(如.gitkeep、空配置文件)传输成功后进度条仍显示 0% 的产品显示缺陷。
- 优化
- 修复文件删除后底层视图联动刷新问题:
- 增强 SFTP 操作后的事件通知与状态回流机制,确保删除文件后关联目录框即时响应更新。
🧪 质量门禁与性能对比 (Verification & Benchmarks)
- 经由真实
macos27虚拟机全量验证通过,34 个测试套件(220+ 用例)100% 绿灯(0 failures, 0 warnings); - 8 项 Release 生产级性能基准全部大幅超越工程规范要求:
- RingBuffer 写入吞吐: 1,820,666 行/秒 (184.05 MB/秒) (标准 ≥ 50,000)
- ANSI / TrueColor 样式解析: 384,017 spans/秒 (标准 ≥ 150,000)
- 内存水位驻留集 (RSS): 104.53 MB (标准 ≤ 250 MB)
- 16 线程高并发争用写入: 1,796,444 writes/秒 (标准 ≥ 1,000,000)
- 64 核 Linux 无代理指标解析: 14,237 次/秒 (标准 ≥ 8,000)
- OpenSSH 500 主机集群解析: 144,913 hosts/秒 (标准 ≥ 80,000)
- SFTP 任务中心并发调度: 1,253 tasks/秒 (标准 ≥ 800)
- 物理按键直通与全链路键入延迟: 5.55 微秒 (μs) (标准 ≤ 15.0 μs)
ApexTerm v1.4.3
[v1.4.3] - 2026-09-29
✨ 新增特性 (Features)
- 无新增产品功能;本次为 SFTP 文件拖放修复版本。
⚡️ 体验优化 (Improvements)
- 远端文件拖到 Finder 时,传输记录与拖拽进度随本地写入量更新。
🐞 问题修复 (Bug Fixes)
- 修复拖出远端文件后 Finder 为部分文件重复添加扩展名的问题,确保目标文件保留原名。
- 修复 SCP 传输等待退出前未持续读取错误输出,输出量较大时可能卡住的问题;为网络停滞增加连接和保活超时。
- 拖拽下载失败或取消后清理未完成的临时文件,并防止完成状态被迟到的进度回调覆盖。
🧪 质量门禁与性能对比 (Verification & Benchmarks)
- 新增 SCP 大量错误输出回归测试,以及 Tart VM 64 MiB 远端文件拖拽导出校验。
- 专用 Mac mini 的真实 Finder 64 MiB 拖放测试通过,目标文件原名、内容校验与传输记录均正确。
- Tart VM 真实链路与 165 项 Swift 测试通过,0 failures;其中 4 项未配置公共服务器的测试按预期跳过。8 项 Release 性能基准达标:RingBuffer 1,937,010 行/秒,ANSI 419,499 spans/秒,RSS 峰值 104.33 MB,16 线程 2,153,876 writes/秒,指标解析 15,142 次/秒,OpenSSH 151,725 hosts/秒,SFTP 1,163 tasks/秒,单键延迟 5.15 μs。
- 完整 UI 验收执行 40 项,其中 34 项通过、6 项失败;修复后普通文本和 64 MiB Finder 拖放两项均通过,0 failures。UI 未全量通过,详细失败项与后续工作见
docs/v1.4.3-ui-followup.md。
ApexTerm v1.4.2 — 终端自动滚动修复
ApexTerm v1.4.2
本次版本修复终端在反复执行 ll 等长输出命令后没有自动滚动到底部的问题。用户主动向上翻阅历史输出时,仍会保持阅读位置。
验证
- 新增连续长列表自动跟随与手动上翻保持位置的回归测试。
- Tart VM 真实 SSH、PTY、SFTP 门禁及 163 项 Swift 测试通过,0 failures;其中 4 项未配置公共服务器的测试按预期跳过。8 项 Release 性能基准达标。
- arm64 原生构建,通过包内安全扫描、Developer ID 签名和 Apple 公证;提供 DMG、tar.gz 与 SHA256 校验清单。
UI 验收说明
应用户要求直接发布自动滚动修复,本次完整 UI 自动化验收在发现失败后停止,不声明 UI 全量通过。已观察到主题切换后的会话页、窗口关闭断言与真实 SSH 拼音输入三项失败,证据和后续复核标准见仓库 docs/v1.4.2-ui-followup.md。这些失败与本次自动滚动改动的关系尚未确认。
ApexTerm v1.4.1 — Vim 全屏绘制修复
ApexTerm v1.4.1
本次版本优先修复 Vim 全屏绘制问题。
修复
- 修复 Vim 使用光标定位和清屏指令时,文件内容只显示开头数行的问题;退出 Vim 后恢复原有命令输出和滚动历史。
- 修复关闭最后一个主窗口后,点击运行中的 ApexTerm 图标无法重新打开窗口的问题。
验证
- Tart VM 真实 SSH、PTY、SFTP 集成测试与全量 Swift 测试通过;8 项 Release 性能基准达标。
- Apple Silicon arm64 原生构建,通过 Developer ID 签名、安全扫描和 Apple 公证。提供 DMG、tar.gz 与 SHA256 校验清单。
UI 验收说明
应用户要求,为尽快交付 Vim 修复,本次未完成全量 UI 自动化验收;已知测试异常与后续复核项记录在仓库 docs/v1.4.1-ui-followup.md,下个版本处理。本版本不声明 UI 全量通过。
ApexTerm v1.4.0 — macOS 原生工作区与 SFTP 快速代码编辑器
[v1.4.0] - 2026-09-28
✨ 新增特性 (Features)
- macOS 原生工作区架构与原生快速编辑器 (QuickEditor):
- 新增 SFTP 远程文件内嵌快速文本编辑器 (
QuickEditorView&NativeCodeEditor),支持语法行号、文件就地保存 (⌘S)、重载、未保存变动警告及原位查找能力。 - 重构工作区原生窗口状态管理 (
WindowStateView),完美适配多窗口与全屏切换,分屏比例自由拖拽并持久化。 - 支持 SFTP 与 macOS Finder 原生双向拖拽传输(向外拖拽下载至访达,从访达向内拖拽上传至远程服务器)。
- 新增 SFTP 远程文件内嵌快速文本编辑器 (
- 原生中文拼音 IME 全链路支持与体验优化:
- 彻底解决中文输入法在终端中的文本截断与离屏渲染伪影,重构输入法组合态 (Marked Text) 优先级调度;
- 按下
Escape键优先撤回或放弃当前输入法未确认拼音,不向远程 Shell 发送异常控制字符; - 引入 CJK 字体度量回退机制,确保非等宽中文字符在终端网格与滚动缓冲区中严谨对齐。
- Swift Charts 监控历史图表与多维连接状态联动:
- 监控详情集成原生折线图 (
metrics.history.chart),直观呈现近 60 秒 CPU 与内存水位动态趋势; - 细化多状态联动胶囊徽标:覆盖实时指标、连接中等待新数据、数据过期提示、断线保留历史及监控关闭等多种场景。
- 监控详情集成原生折线图 (
⚡️ 体验优化 (Improvements)
- 优化 SSH 监控采集与 PTY 交互生命周期:监控探针进程改为流式异步读取 stdout,防止大数据吞吐导致管道死锁阻塞。
- 增强进程树取消与优雅清理机制:主动终止进程树中由
sshpass派生的所有 SSH 子进程,避免连接取消后残留僵尸进程。 - 完善 12 款全局主题在所有工作区弹窗(快捷键帮助、设置面板、关于页面、传输中心、新建会话)的首屏与高对比度排版。
🐞 问题修复 (Bug Fixes)
- 修复在会话断开或重新连接时未清理监控差分基线导致的使用率跳变缺陷。
- 修复监控关闭状态下详情面板依然展示历史最新实时指标的逻辑漏洞。
- 修复快捷键帮助窗口在特定主题下因视口高度不足导致首屏顶部被裁切的问题,补齐无障碍识别标签。
🧪 质量门禁与性能对比 (Verification & Benchmarks)
- 全量自动化测试用例与 Tart VM 虚拟机验收测试 100% 绿色通过,0 failures。
- 8 大优化性能基准大幅超越门禁要求:
- [Benchmark 1] RingBuffer 写入吞吐:1,955,605 行/秒 (197.69 MB/秒)
- [Benchmark 2] ANSI / TrueColor 颜色解析速度:428,550 spans/秒
- [Benchmark 3] 内存驻留集 (RSS):峰值 102.86 MB (门禁 ≤250 MB)
- [Benchmark 4] 16 线程高并发锁争用写入吞吐:2,670,017 writes/秒
- [Benchmark 5] 64 核 Linux 无代理系统指标解析速度:15,136 次/秒
- [Benchmark 6] OpenSSH 500 主机集群解析吞吐:156,655 hosts/秒
- [Benchmark 7] SFTP 任务中心并发调度吞吐:1,215 tasks/秒
- [Benchmark 8] 终端物理按键直通与键入延迟:8.48 微秒 (μs)
- 经由 Apple Developer ID 官方签名、Hardened Runtime 及安全扫描,Apple 官方公证票据已装订 (Stapled)。
安装与校验
Apple Silicon macOS 14 及以上。下载 DMG,将 ApexTerm 拖入 Applications;应用和 DMG 均使用 Developer ID 签名并通过 Apple 公证。也可下载 tar.gz。SHA256SUMS.txt 用于校验下载完整性。
ApexTerm v1.3.0 — 全局主题与终端配色
[v1.3.0] - 2026-09-26
✨ 新增特性 (Features)
- 新增 12 种全局主题:经典白色(默认)、VS Code Dark Modern、Tokyo Night、Catppuccin Mocha / Latte、Nord、Dracula、One Dark Pro、Gruvbox Dark、Everforest、Rosé Pine、Solarized Light。
- 主题覆盖侧栏、工作区、设置、弹窗、按钮、状态、文字、选区、终端及查找栏;切换无需重连 SSH,已有 ANSI 索引色输出同步更新,显式 TrueColor 保持原样。
- 包含服务器硬件、磁盘 SSD / NVMe / HDD 类型展示及紧凑监控详情界面。
⚡️ 体验优化 (Improvements)
- UI 文字、状态色及主题终端索引色自动调整明度,至少保持 4.5:1 对比度;原生控件跟随主题明暗外观。
- 统一主题持久化与恢复默认行为,兼容旧终端预设名称。
🐞 问题修复 (Bug Fixes)
- 修复 SGR TrueColor 中 0 / 1 通道被误判为重置或加粗,以及切换配色覆盖历史 TrueColor 的问题。
- 修复模拟 SSH 会话并发连接、重连时连接状态的内存竞争。
- 示例主机使用文档保留地址,避免真实私网地址被当作模拟会话。
- 修复检查更新、帮助及问题反馈链接指向旧仓库,改为当前官方发布源。
🧪 质量门禁与性能对比 (Verification & Benchmarks)
- 全量 117 项测试零失败,其中 4 项未配置公共服务器的测试跳过;真实 Tart VM 的 PTY / SFTP 往返 / 指标 / 磁盘 4 项全部通过。
- 优化构建 8 项基准全部达标:134,584 行/秒(13.60 MB/秒)、406,348 spans/秒、RSS 102.66 MB、2,201,121 writes/秒、指标 12,891 次/秒、125,043 hosts/秒、1,108 tasks/秒、单键 8.76 微秒。
- 新增主题对比度、历史输出切换、ANSI / TrueColor 与并发模拟连接回归测试;12 种主题均完成窗口渲染检查。
- 正式包强制 Developer ID、安全时间戳、Apple 公证和 stapling;扫描二进制与资源中的凭据及私网端点,保留旧安装备份。
安装
Apple Silicon macOS 14 及以上。下载 DMG,将 ApexTerm 拖入 Applications;应用和 DMG 均使用 Developer ID 签名并通过 Apple 公证。也可下载 tar.gz。SHA256SUMS.txt 用于校验下载完整性。
本版包含 v1.2.5 的 SFTP 新建、重命名、删除、排序,终端重连、分屏调比、标签重命名、查找及 URL 打开等功能。
ApexTerm v1.2.4
ApexTerm v1.2.4 正式版更新说明
🐞 问题修复 (Bug Fixes)
- 修复分屏后原终端黑屏无内容及切换后无法输入缺陷 (Split Pane Black Screen & Input Loss):
- 终端视图即刻重水化渲染机制 (Buffer Rehydration):修复在执行分屏(垂直分屏 ⌘D 或水平分屏 ⌘⇧D)及关闭分屏回退到单屏时,原处于就绪/空闲状态的会话因无新网络字节流到达而导致终端全黑的问题。在
TerminalRepresentable.makeNSView挂载瞬间立即调度refresh(),从底层RingBuffer瞬间同步恢复所有历史行、ANSI 配色与当前命令行 Prompt; - AppKit 与 SwiftUI 跨层双向焦点无缝联动 (Bidirectional Focus Coordination):
- 移除分屏外层容器冲突的
.contentShape(Rectangle()).onTapGesture,消除对 AppKit 鼠标点击事件的拦截遮蔽; - 在终端获取第一响应者(
becomeFirstResponder、mouseDown、rightMouseDown)时派发onFocus回调,实时对齐 SwiftUI 中的tab.activePaneId; - 当分屏激活状态变更(
isFocused == true)时,updateNSView自动通知窗口makeFirstResponder,确保键盘事件精准路由至对应分屏;
- 移除分屏外层容器冲突的
- 分屏模式平滑横纵切换与标题智能规范:
- 当已有 2 个分屏时,按下 ⌘D 或 ⌘⇧D 支持直接在横向与纵向分屏模式之间平滑切换;
- 关闭某一分屏后,剩余分屏名称自动规整复原为干净主机名,消除残留的“(分屏)”后缀。
- 终端视图即刻重水化渲染机制 (Buffer Rehydration):修复在执行分屏(垂直分屏 ⌘D 或水平分屏 ⌘⇧D)及关闭分屏回退到单屏时,原处于就绪/空闲状态的会话因无新网络字节流到达而导致终端全黑的问题。在
✨ 近期重要特性全景回顾 (v1.2.0 - v1.2.3)
- 复制会话 (Duplicate Session) 与多维标签管理 (v1.2.3):支持标签页右键菜单、标签栏
+按钮、⌘T / ⌘⇧T 快捷键,完整克隆远端所在工作目录与联动配置; - 全场景 SFTP 传输任务中心与记录可视化 (v1.2.2):打通点击下载、拖拽导出至访达、点击上传、拖拽上传 4 大全链路生命周期,支持在访达中显示已下载文件;
- 远程文件与目录自由拖拽导出至本地访达 (v1.2.1):支持拖拽远程目录/文件到 macOS 访达或桌面任意目录,后台异步并发预取与传输;
- 商业级产品体验升级 (v1.2.0):全新原生设计“关于”面板、在线版本更新检查器、终端外观与字体偏好设置、会话配置加密与安全备份回退库;
- 方向键光标错位修复与单元格精确建模 (v1.1.2):彻底修复输入中英文使用方向键移动时终端显示字符撕裂与重叠问题;
- 选中文本自动复制与右键智能粘贴 (v1.1.0):支持终端选中文本即自动复制至剪贴板,鼠标右键直接粘贴。
🧪 质量门禁与安全验证
- 95 项自动化测试 100% 通过(0 失败),8 大性能基准测试达标;
- 官方 Apple Developer ID (
Developer ID Application: YanNan Chen (5984KQD4D7)) 深度签名认证(Hardened Runtime); - 原生 Apple Silicon (arm64) 架构独立编译。