Conversation
- Introduced a new Tauri plugin `tauri-plugin-pty` to handle pseudo-terminal functionalities. - Implemented commands for opening, closing, resizing, and sending data to shells. - Updated workspace and lock files to include the new plugin. - Enhanced session management to support local terminal connections. - Added necessary permissions and schemas for the new plugin. - Improved UI styling for terminal components.
- Updated dependencies in Cargo.toml for workspace and individual crates: - log to 0.4.32 - tauri to 2.11.2 - tauri-build to 2.6.2 - tauri-plugin to 2.6.2 - serde_json to 1.0.150 - tauri-plugin-store to 2.4.3 - sea-orm and sea-orm-migration to 1.1.20 - tokio to 1.52.3 - russh to 0.61.2 - uuid to 1.23.3 - strum to 0.28.0 - defendor to 0.0.7 - zeroize to 1.9.0 - base64ct to 1.8.3 - webbrowser to 1.2.1 - tauri-plugin-updater to 2.10.1 - Refactored code for better readability and consistency: - Adjusted imports and formatting in LocalTerminal and LocalTerminalSettings components. - Improved formatting in useLocalShell hook. - Enhanced logging messages in SFTP commands for better debugging. - Updated error handling in session authentication. - Modified CSS grid layout in Keys route for better responsiveness.
- Updated Cargo.toml to use newer versions of tauri-plugin-dialog and tauri-plugin-fs. - Enhanced SftpBrowser component to display transfer progress using a new TransferProgress component. - Refactored useSftpActions to manage transfer information including speed and ETA. - Added styles for the TransferProgress component to improve UI. - Removed unused dialog capability from desktop and mobile configurations.
…ontrols - Refactor TransferProgress component to handle multiple file transfers with status indicators. - Introduce new types for transfer queue items and overall progress tracking. - Add functionality for pausing, resuming, and canceling individual transfers. - Implement utility functions for formatting bytes and speed. - Update display logic to show detailed progress for each file in the queue. - Modify index exports to include transfer-related types and components. feat: add SFTP task management commands - Implement commands for canceling, pausing, and resuming SFTP tasks. - Introduce TransferControl struct to manage task states. - Update SSHManager to maintain transfer controls for ongoing tasks. - Enhance error handling for transfer cancellations. - Update TypeScript definitions to support new task management features.
* feat(sftp): add transfer status bar and expandable transfer panel, refactor shell handling - add formatEta utility for calculating and formatting remaining transfer time - rewrite pty shell process management to correctly track exit code - update sftp browser to show real-time transfer status in status bar - add expandable slide-up transfer progress panel - replace deprecated gray-3 color token with modern color-panel-solid - adjust sticky header cell z-index and styling - reorder icon exports for consistency - remove unused sftp table head stylesheet * refactor: 重构SSH会话处理逻辑,优化传输组件UI与功能 1. 重构SSH相关命令的会话获取逻辑,统一使用Arc包裹的异步锁管理SSH客户端 2. 重写TransferProgress组件UI,优化布局与样式,新增状态标签、进度展示与操作按钮 3. 优化SftpBrowser面板高度限制与状态栏ETA显示逻辑 4. 添加代码lint抑制注释处理参数过多的函数 5. 修复部分图标使用错误与布局适配问题 * feat(pty): support sending binary data and fix PTY handling issues 1. add buffer dependency for Uint8Array handling in frontend 2. update shell send to accept both string and Uint8Array input 3. restructure ShellInstance to use Arc<Mutex> for shared writer/killer 4. rewrite shell read/write/close logic to prevent race conditions and double cleanup 5. fix shell send to properly lock and use shared writer without taking ownership * fix(pty): 读取shell出错时添加清理和杀死进程逻辑 当pty shell读取发生错误时,调用kill_shell终止进程并执行cleanup_shell完成资源清理 * feat: 添加终端传输相关功能与优化SSH shell交互 1. 新增终端工具函数转换xterm二进制数据 2. 添加SFTP传输上传/下载/完成图标及状态支持 3. 重构SSH shell发送数据类型为Uint8Array适配二进制传输 4. 优化SFTP传输面板样式与状态栏展示 5. 新增传输任务取消状态统计展示 * chore: 修改lock文件 * refactor(SftpBrowser): 重构传输进度面板与状态栏,优化交互体验 1. 调整SftpBrowser传输面板最大高度,提升内容展示空间 2. 重构StatusBar组件:移除冗余进度条、简化UI布局,新增上传/下载计数分组 3. 重写TransferProgress组件:移除全局进度条,改为传输历史视图,替换图标按钮为文字按钮,新增删除传输记录功能 4. 统一上传下载任务队列管理,新增removeFileItem方法支持取消并移除传输任务 5. 优化批量上传/下载的队列合并逻辑,修复索引计算问题 6. 移除全局暂停/恢复功能,改为单任务操作模式 * feat: add status icons and refine transfer UI 1. 新增完成/上传/下载三种状态SVG图标 2. 替换SftpBrowser状态栏的旧状态图标 3. 调整状态栏图标间距与尺寸 4. 重构TransferProgress的操作按钮为IconButton组件 5. 精简TransferProgress的样式代码 * refactor: 整理代码结构并清理冗余资源 1. 新增machine_uid插件到tauri应用 2. 调整TransferProgressProps和外观原子的可见性 3. 删除四个传输相关图标文件并导出 4. 重构ssh sftp会话处理,使用Arc共享会话并提取通用获取逻辑 5. 移除冗余的transfer任务状态管理代码 * fix(ssh-plugin): 修复ssh shell通道匹配和并发访问问题 1. 修正shell通道匹配时使用的字段名错误,从`id()`改为`shell_channel_id` 2. 给SSHShell添加shell_channel_id字段存储通道ID 3. 将shell_channel包装为Arc<AsyncMutex>解决并发访问问题,移除不必要的Deref实现 4. 重构获取shell通道的逻辑,提取为get_shell_channel工具函数 5. 替换所有直接访问shell_channel的代码,通过锁来安全访问通道 * refactor(transfer-progress): 优化传输进度组件样式与交互 1. 为折叠按钮添加专属样式类并调整全局配色 2. 统一文件操作按钮间距和最小宽度 3. 给传输面板设置最小高度防止布局抖动 4. 调整文件列表弹性布局属性优化滚动表现 5. 合并状态图标颜色样式至统一位置 * style(TransferProgress): 替换图标按钮为自定义样式按钮并调整布局 1. 重构文件操作按钮的实现,将IconButton替换为自定义button元素并添加对应样式 2. 调整操作栏的间隙和最小宽度,优化UI展示效果 3. 更新各操作按钮的标题和文案,明确功能说明 * refactor(SftpBrowser): 重构SFTP浏览器组件,优化交互与提示 1. 新增通用工具函数处理错误信息、获取路径文件名和格式化计数 2. 调整传输面板布局与动画,改为左对齐而非居中 3. 优化多处操作的成功失败提示,使用更友好的文件名展示和统一的错误处理 4. 新增传输状态栏,显示实时传输进度、速度和ETA 5. 重构传输进度组件,新增空状态提示、使用图标按钮替代文字按钮,优化样式与交互 6. 调整上传下载、删除文件/文件夹的提示逻辑,支持多文件操作的结果统计 * fix(SftpBrowser): 调整transferPanel位置和宽度以优化布局 * refactor(SftpBrowser): 优化重命名和新建文件的状态处理与样式 1. 调整StatusBar的内边距和样式,移除多余的margin和圆角 2. 移除useRename和useCreate中多余的files依赖及相关useEffect 3. 新增safeRefreshDir和pending刷新逻辑,避免编辑状态下自动刷新 4. 重构重命名和新建流程的回调,统一管理编辑状态 5. 修复传输状态判断逻辑,只在有活跃传输时显示摘要 * refactor(SftpBrowser): 重构上传任务管理逻辑,优化整体传输状态计算 1. 新增computeOverall函数计算总传输进度、速度和ETA 2. 提取getCurrentTransferIndex获取当前活跃传输项索引 3. 替换cancelCurrentRef为cancelledItemIdsRef管理已取消任务 4. 优化上传任务循环为异步批量处理,更新传输状态更新逻辑 5. 移除冗余的进度初始值字段,统一使用computeOverall计算 6. 修复部分状态更新和错误处理逻辑 * refactor(sftp): 优化SFTP上传相关功能与UI样式 1. 调整SFTP文件写入缓冲区大小从10MB到1MB 2. 升级Sftp文件搜索框的尺寸与样式 3. 重构文件名输入框与面包屑编辑的按钮样式与交互 4. 添加上传并发控制与文件覆盖确认逻辑 5. 优化传输状态类型定义与样式细节 * refactor: 移除旧字体图标系统,重构文件传输UI 1. 删除旧的shell360字体图标相关文件和全局样式引入 2. 新增失败、等待状态的SVG图标并注册 3. 重构传输进度面板的UI展示,使用新SVG图标替代文字统计 4. 优化SFTP文件浏览器的文件名展示和重命名输入框 5. 替换面包栏的确认图标为统一的CheckIcon 6. 移除无用的依赖包 * refactor(sftp): 重构SFTP路径处理逻辑,提取公共工具函数 1. 新增normalizeSftpPath、joinSftpPath、getSftpBasename、getSftpDirname工具函数统一处理SFTP路径 2. 替换手动路径拼接和分割为公共工具函数,统一路径格式 3. 移除废弃的sftpCancelTransfer方法,修复sftpExists返回类型 4. 提取传输状态相关逻辑到独立文件,简化Sftp组件代码 * refactor: 移除不必要的依赖项,优化Cargo.lock文件 --------- Co-authored-by: chengdiao <chengdiao@bytedance.com> Co-authored-by: nashaofu <19303058+nashaofu@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.