Repository navigation
v0.4.47
✨ 新功能与改进
国际化
- 语言切换即时生效:切换语言后系统菜单(应用菜单、右键菜单等)现在会自动重建,无需重启即可更新菜单语言
- 传输错误信息支持多语言动态翻译,错误提示随界面语言变化
终端
- 重构终端建议(Suggestions)钩子,优化状态管理与建议显示逻辑,交互更流畅
- 优化 WSL 终端检测逻辑:清理无效状态,终端名称动态更新,识别更准确
文件管理与界面
- 文件管理器侧边栏状态改为按标签页独立存储,多标签页互不干扰
- 优化拖拽时的视觉反馈与遮罩颜色处理(改用 lighten/darken),确保与当前主题一致
- 优化窗口控制按钮样式,提升视觉效果和交互体验
🐛 问题修复
- 消除动态 i18n key:dataSync 错误码、跳过原因、同步状态等全部白名单静态化,i18n 检查(check-i18n)报错归零
🛠 内部重构与清理(不影响使用)
本版本完成了大规模代码收口工作,消除重复实现、移除死代码:
- 抽取批传输执行器,统一文件上传/下载流程;preload 层收口传输进度监听样板
- AI 自定义风险规则引擎抽取到共享模块,消除主进程/渲染进程双份拷贝
- 连接池关闭流程与错误处理上提至
BaseConnectionPool,消除四类连接池的重复代码 - 终端 POSIX 检测逻辑、提示符追踪等公共逻辑合并
- 工具函数统一收口:
errorTranslator合并进ErrorNotification,clamp/formatBytes/formatSpeed收口到 shared 模块 - 删除无引用的死代码(
workerScriptResolver.js、core/connection死导出、Telnet 死桩等)
✨ New Features & Improvements
Internationalization
- Language switching takes effect immediately: After switching languages, system menus (app menu, context menus, etc.) are now automatically rebuilt — no restart required
- Transfer error messages now support multi-language translation, with error prompts following the UI language
Terminal
- Refactored the terminal suggestions hook with improved state management and suggestion display logic for smoother interactions
- Improved WSL terminal detection: cleaned up stale states, dynamically updated terminal names, and more accurate detection
File Manager & UI
- File manager sidebar state is now stored independently per tab, so multiple tabs no longer interfere with each other
- Improved drag-and-drop visual feedback and overlay color handling (using lighten/darken instead of rgba), ensuring consistency with the current theme
- Refined window control button styling for better visuals and interaction experience
🐛 Bug Fixes
- Eliminated dynamic i18n keys: dataSync error codes, skip reasons, sync statuses, etc. are now fully whitelisted as static keys, bringing check-i18n errors down to zero
🛠 Internal Refactoring & Cleanup (no user-facing impact)
This release includes a large-scale code consolidation effort, removing duplicated implementations and dead code:
- Extracted a batch transfer executor to unify file upload/download flows; consolidated transfer progress listener boilerplate in the preload layer
- Extracted the AI custom risk rules engine into a shared module, eliminating duplicated copies between main and renderer processes
- Hoisted connection pool shutdown flow and enhanced error handling into
BaseConnectionPool, removing duplication across four pool types - Merged shared logic such as terminal POSIX detection and prompt tracking
- Consolidated utilities: merged
errorTranslatorintoErrorNotification; movedclamp/formatBytes/formatSpeedinto shared modules - Removed unreferenced dead code (
workerScriptResolver.js, dead exports incore/connection, Telnet stubs, etc.)