Skip to content

DBX SSH plugin 0.7.6-beta.1

Pre-release
Pre-release

Choose a tag to compare

@jinpy666 jinpy666 released this 11 Oct 17:37
· 21 commits to codex/ssh/pre-release since this release

预发布基线说明:调度任务(task-provider)功能声明在本预发布线摘除——DBX 上游尚未发布宿主侧 task-provider 能力,声明会在宿主加载时报未知贡献类型。sidecar task/* 实现与本地 Shell 连接类型保留,待上游发布后恢复。
Pre-release note: the scheduler task-provider contribution is withheld on this line — the DBX host has not shipped the task-provider capability yet and rejects the unknown contribution type at load time. The sidecar task/* implementation and the Local shell connection type are kept; the declaration returns once upstream ships.

  • 本地 Shell 连接可直接打开。io.dbx.ssh.local 连接此前只能作为(未发布的)调度任务目标,宿主侧要求每个连接提供者声明工作台或文件系统提供者,双击已保存的本地 Shell 连接会报 "does not declare a workbench or filesystem provider"。现在该连接声明 Terminal 工作台,connection/protocol 返回 local 协议,工作台按本地 Shell 路由(local/terminal/start)而不再误拨 SSH。
    Local shell connections are now openable. The io.dbx.ssh.local provider previously existed only as a (yet unreleased) scheduler target; the host requires every connection provider to declare a workbench or filesystem provider, so opening a saved Local shell connection failed with "does not declare a workbench or filesystem provider". The connection now declares the Terminal workbench, connection/protocol reports the local protocol, and the workbench routes it to a local shell session instead of dialing SSH.
  • RDP:CredSSP 通道绑定修复(域机 EPA 强制可用)。域控开启扩展保护(EPA)强制时 NTLM 认证结构性被拒——CredSSP 客户端从不发送 tls-server-end-point 通道绑定哈希。补丁横跨 vendored 认证链五个 crate(channel bindings 装配、NTLM MIC 纳入、connect_finalize 透传),公司域机由 CredSSP 结构性失败收敛为服务器凭据级判定。
    RDP: CredSSP channel-binding fix (EPA-enforced domain machines). With Extended Protection enforced, NTLM authentication was structurally refused because the CredSSP client never sent the tls-server-end-point channel-binding hash. The patch spans five vendored authentication-chain crates (binding assembly, NTLM MIC inclusion, connect_finalize pass-through); domain-joined hosts now fall back from a structural CredSSP failure to a normal credential-level verdict.
  • RDP 工作台整理。RDP 连接隐藏 SSH 专属工具组(sudo/SFTP/隧道等),新增缩放与大文本粘贴工具;RDP 后端由单文件拆为模块组(会话/帧/输入/证书/剪贴板/安全/限额/wire)。
    RDP workbench clean-up. RDP connections hide the SSH-specific toolbar groups (sudo/SFTP/tunnels) and gain zoom plus large-text paste tools; the RDP backend is split from a single file into a module group (session/frame/input/cert/clipboard/security/limits/wire).
  • 导入对话框在 Windows 置顶(#160)。「导入连接」第二段系统文件对话框没有置顶 owner,常弹在 DBX 主窗之后——用户以为导入未执行而重试,撞上防重入守卫报 "already open"。对话框现挂不可见置顶 owner 表单,守卫文案给出「可能被遮挡」指引。
    Import dialog stays on top on Windows (#160). The second native file dialog had no topmost owner and often opened behind the DBX window — users assumed the import did nothing and retried into the single-flight guard. The dialog now parents to an invisible topmost owner form, and the guard message explains the window may be behind.
  • MCP 工具清单瘦身(#172)。tools/list 串行化 143.7k 字符,桥模式下被 MCP 客户端判超限落盘。自明参数描述整条去除、行为语义参数保留精简版,降到 100.2k(约 -30%),并以预算测试钉住上限。
    MCP tool listing slimmed (#172). tools/list serialized to 143.7k chars and exceeded MCP client result caps in bridge mode. Self-evident parameters drop their descriptions entirely while behavioral ones keep condensed wording, bringing it to 100.2k (about -30%), with a budget test pinning the ceiling.
  • SFTP「打开方式」兼容自定义下载目录(#175)。remote-edit 路径守卫回落在默认基址解析,自定义下载目录的用户全部校验必然失败("not inside the remote-edit directory")。守卫与前端取值同源(downloadDir 偏好优先),跨目录文件依旧被拒。
    SFTP "Open with" honors a custom download directory (#175). The remote-edit path gate resolved against the default base, so users with a custom download directory always failed validation ("not inside the remote-edit directory"). The gate now resolves from the same source as the frontend (the downloadDir preference wins), while cross-directory files stay rejected.
  • Docker 面板兼容旧版 daemon 并按工作台绑定(#168)。docker ps --format 的 .State 占位符需 Docker 1.13+,旧 CLI 整条模板报错且被静默——面板空列表无提示;现自动回退 legacy 占位符集并由 Status 文本推导状态。多台服务器同时有会话时面板此前绑「全局最新会话」而错乱,现严格绑定所在工作台的连接。
    Docker panel supports legacy daemons and binds to its workbench (#168). The .State placeholder needs Docker 1.13+; older CLIs fail the whole template silently, leaving an unexplained empty list — the collectors now fall back to a legacy placeholder set and derive state from the Status text. The panel previously bound to the globally newest session and mixed machines up; it now binds strictly to its own workbench's connection.
  • SFTP 多文件上传批次进度卡(#165)。一次选择/拖拽/粘贴的多文件在传输面板聚合成「文件 N/M · 总字节」进度卡,整批常驻填补逐文件卡交接空窗("传完就没、突然又来几个进度条");文件夹上传同款语义。七语覆盖。
    Batch progress card for multi-file SFTP uploads (#165). Files picked/dropped/pasted together aggregate into a "files N/M · bytes" progress card that stays up for the whole batch, filling the gap between per-file cards ("finished, nothing there, then more bars suddenly"); folder uploads keep their existing aggregate card. All seven languages covered.
  • 工作台布局持久化修复(#178、#176-3)。三层根因:空提示符引导的消散旗标两键漏注册持久化白名单(每次重开都弹引导);宿主未实现 workbenchState 桥时 paneOrder/自定义表头/SFTP 面板开合/列宽整组静默不持久(新增 pluginStore 单键镜像兜底);恢复路径不等异步水合完成。隐藏文件显隐与列表排序规则一并接入持久化。
    Workbench layout persistence fixed (#178, #176-3). Three stacked causes: the prompt-hints dismissal keys were missing from the hydration whitelist (the guide bar reappeared on every relaunch); without the host's optional workbenchState bridge the pane order, custom column headers, SFTP pane toggle and column widths silently never persisted (now mirrored into pluginStore as a fallback); and the restore path raced the asynchronous hydration. Show-hidden-files and the list sort rule are persisted too.