Skip to content

tdev v0.5.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 17:52
· 10 commits to main since this release

v0.5.0

增加本地连接监督、按功能打开工作区和连接快照,完善升级期间的终端与映射恢复。

连接与工作区

  • 本地 daemon 管理系统 OpenSSH 控制 master,API、补全与交互终端复用连接。转发、SSHFS 和文件传输沿用独立传输;远端继续使用系统 OpenSSH 和按次 tdev API。
  • 增加 tdev daemon start|restart|stop|status。并发启动保持单实例,重启恢复后台转发及活跃 open 的使用权;显式 stop 保持停止状态。
  • tdev open --only shell|forward|sshfs 支持逗号组合。只打开 forward/sshfs 时支持非交互与 JSON,资源后台保留;随 shell 打开的临时资源由多个窗口共享,最后一个使用者退出后清理。默认 open 继续打开 shell 和 forward,--mount 额外打开 SSHFS。web 保留为后续功能。
  • tmux 标题显示 session/window,存在窗口提醒时附加 [!]。失焦当前窗口的 bell 保留补充标记,聚焦及逐窗口切换按窗口清除。

进程与通道快照

  • 增加 tdev ps,按机器、daemon、SSH 连接和通道展示当前用户的运行状态,包含 PID、用途、项目与客户端 PID。默认汇总本机和已登记远端,支持 --server 与 --json。
  • 查询保持已停止的 daemon 状态。远端不可达时保留其他机器的结果并返回部分失败,JSON 在 error.details 中保留完整快照。
  • OpenSSH 10.3+ 可提供实际 SSH 通道报告;旧版展示 tdev 的操作分配记录,并明确标记实际统计不可用。原始通道描述与应用命令不进入快照。已有旧 daemon 需用新版 restart 启用明细。

升级与恢复

  • upgrade 及回滚在操作前提示端口映射可能短暂中断,-y 与 JSON 模式保留 stderr 提示。
  • 本地原位更新成功后,用安装后的二进制重启当前配置根下运行中的 daemon。相同内容的重复升级、签名失败、取消和已停止的 daemon 保持原状。其他配置根需分别 restart。
  • 远端升级保留现有 SSH 连接和 tmux 会话;后续 API 与断线重连执行新远端程序,并核对原 session ID/generation。协议不兼容时提示安装兼容版本后重新 open。
  • 修复 R 映射断线后,旧远端监听尚未释放导致恢复永久失败的问题。曾成功建立的 R 映射按原重连预算重试绑定,首次端口冲突仍直接报错。

首次升级步骤

从缺少自动刷新逻辑的旧客户端升级后,用新二进制执行一次:

tdev daemon restart

为其他配置根运行时,附加对应的 --config-dir。重启期间,映射和终端连接可能短暂中断,随后按各自重连策略恢复;自动重连失败时重新运行 tdev open <服务器>/<项目名>。tdev upgrade --remote <服务器> 保留现有远端附着,远端旧 daemon 的明细通过在该机器执行新版 restart 启用。

机器协议与配置 schema 保持为 1,新增 ps-v1 能力,沿用现有安装签名公钥。真实 SSH/PTY、tmux、签名升级及双向转发覆盖与平台限制见验收记录。