Skip to content

fix: improve Xlight FTP/SFTP compatibility and manager scrolling - #383

Merged
St0ff3l merged 23 commits into
mainfrom
fix/xlight-sftp-upload-diagnostics
Nov 9, 2026
Merged

St0ff3l merged 23 commits into
mainfrom
fix/xlight-sftp-upload-diagnostics

Conversation

@St0ff3l

@St0ff3l St0ff3l commented Nov 9, 2026 •

Copy link
Copy Markdown
Owner

Refs #369

SFTP 上传错误包含 STAT、OPEN、READ、WRITE、关闭、替换阶段及对应路径,OPEN 带标志和续传偏移,WRITE 带偏移与数据长度。针对 Xlight 官方记录的 STAT/LIST 权限差异,在属性查询被拒时尝试通过列表确认,无法确认的断点仍保留错误。官方更新记录

修复实测 Xlight FTP 上传在 0 B 失败的问题。对于删除不存在断点、读取大小、提交目标时的模糊 550 回复,通过成功且可靠解析的父目录列表确认是否缺失,保留真实拒绝。对已存在目录的 MKD 521 回复使用 CWD 验证并恢复原目录。忽略 MLSD 中使用绝对路径命名的 cdir/pdir 导航记录。

FTP 连接新增 UTF-8/GBK 字符编码选项并持久化,覆盖命令路径、控制回复和目录列表,浏览与传输连接使用同一配置,文件内容保持原始字节。为支持服务端必须保留 GBK 的情况,将锁定的 suppaftp 10.0.2 纳入 vendor,仅扩展 Tokio 文本编解码,复用已有 encoding_rs。无法表示的命令文本在发送前拒绝。补丁来源、范围及升级注意事项记录在 vendor/suppaftp/FILETERM-PATCHES.md。

修复首页连接、代理与隧道、命令、密钥和后台会话列表的 480px 高度限制。表格填满可用高度,底部增加四行共 144px 的滚动留白,悬浮操作按钮位于列表上方。代理页复用公共主容器。

本地 typecheck、lint、Prettier、renderer 测试、972 项 Rust 单元测试(1 项既有忽略)、10 项 CLI 测试、24 项 contract 测试及 all-target/all-feature Clippy 通过。UTF-8/GBK 协议夹具覆盖中文路径往返、新建/覆盖提交、模糊失败、无权列目录和无法编码的字符。五个管理页面共 45 组浏览器布局测量通过。提交与推送钩子通过。

真实 Xlight FTP 与 SFTP 小文件上传、下载均已完成并通过逐字节比对,本轮临时文件已清理。该验证覆盖传输往返,不代表终端、服务器状态信息或中文文件名 UTF-8/GBK 已验证;Windows 原生布局验证和 #369 的具体故障复现仍待完成。CSS 合约检查在修改前后均被 feedback-bubble.css 的既有 danger 颜色别名问题阻塞。

@St0ff3l St0ff3l changed the title fix: add SFTP upload diagnostics and list-only metadata fallback fix: improve SFTP upload diagnostics and manager scrolling Nov 9, 2026
@St0ff3l St0ff3l changed the title fix: improve SFTP upload diagnostics and manager scrolling fix: improve Xlight FTP/SFTP compatibility and manager scrolling Nov 9, 2026
@St0ff3l
St0ff3l merged commit d77174f into main Nov 9, 2026
14 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant