Skip to content

v0.4.47

Choose a tag to compare

@funkpopo funkpopo released this 07 Sep 03:30
· 43 commits to master since this release

✨ 新功能与改进

国际化

  • 语言切换即时生效:切换语言后系统菜单(应用菜单、右键菜单等)现在会自动重建,无需重启即可更新菜单语言
  • 传输错误信息支持多语言动态翻译,错误提示随界面语言变化

终端

  • 重构终端建议(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 errorTranslator into ErrorNotification; moved clamp/formatBytes/formatSpeed into shared modules
  • Removed unreferenced dead code (workerScriptResolver.js, dead exports in core/connection, Telnet stubs, etc.)