Files
u-desk/CHANGELOG.md
T

203 lines
9.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 更新日志
## [0.4.1] - 2026-05-16 (fs-only-v3)
### 新增 ✨
- **云 OSS 存储**: 七牛云/阿里云双厂商,AK/SK 认证,桶级客户端懒创建+缓存
- **OSS 全功能 CRUD**: 列目录/读文件/写文件/创建/删除/重命名/预签名 URL
- **OSS 区域自动嗅探**: 连接时自动探测桶区域,无需手动填写
- **七牛云桶管理**: 查询桶域名、真实区域、设置访问权限(公开/私有)
- **HTML 网站预览**: OSS/SFTP 上的 HTML 文件自动下载关联资源(JS/CSS/图片),逐级嗅探网站根目录,完整预览静态站点
- **BGM 音乐播放器**: 编辑器底部控制条,支持播放/暂停/上下首/进度拖拽/四种播放模式(单曲/顺序/随机/循环),播放列表持久化,失败自动跳过
- **LRC 歌词同步显示**: 播放时自动查找同名 .lrc 文件,实时高亮滚动歌词,点击歌词行跳转
- **全局热键**: Ctrl+Shift+B 系统级快捷键,应用最小化时快速唤起
- **文件变更监听**: 文件外部被修改时自动刷新,避免编辑冲突
- **下载缓存**: 远程文件预览缓存到本地 SQLite(24 小时过期),重启后仍有效
- **远程服务器监控**: 侧边栏显示磁盘/CPU/内存使用率,超 90% 红色警告,15 秒自动刷新
- **连接指示器快速导航**: 悬停弹出根目录子文件夹列表,可递归展开,快速跳转
- **侧边栏自定义**: 设置面板支持服务器/收藏夹/帮助区块拖拽排序和显隐控制
### 优化 🚀
- **侧边栏折叠架构**: 服务器、收藏夹、帮助独立可折叠区块,收藏夹内部独立滚动
- **七牛云目录层级**: ListFiles 支持 delimiter,正确展示文件夹层级而非平铺
- **七牛云签名 URL**: 修正私有空间下载/预览签名格式
- **七牛云下载域名**: 智能解析策略:临时域名→自定义域名→CDN 兜底,失败自动重试
- **GBK 编码自动转换**: 文件预览智能检测编码(UTF-8/GBK),中文文件不再乱码
- **SFTP 功能对齐**: 补全粘贴图片、网站预览、系统监控、常用路径等能力
- **预览缓存迁移**: 前端 LRU → 后端 SQLite,重启后缓存仍有效
- **Wails v3 迁移**: 框架升级至 v3 alpha.92,核心依赖全面更新
### 修复 🐛
- **二进制文件后预览失效**: 打开二进制文件后图片/视频无法预览
- **跨服务器 Tab 切换**: 面包屑和文件列表未同步更新
- **代码编辑器加载失败**: 异步组件失败后自动重试
- **OSS 收藏打开失败**: provider 字段映射修正
- **阿里云 OSS 签名/解析**: 文件列表获取失败、时间格式不兼容等问题
- **启动路径错误**: 本地模式跳过无效的 OSS 路径残留
- **OSS 目录重命名**: 单文件失败不中断整体操作
- **文件锁定检查**: 不再误创建空文件
- **长期运行内存增长**: 文件类型检测缓存添加上限
---
## [0.4.0] - 2026-04-25
### 重构 🔧
- **移除数据库客户端模块**: 删除全部 MySQL/Redis/MongoDB 相关代码(-17,885 行),应用专注文件管理
- **清理依赖**: 移除 go-sql-driver/mysql、go-redis/v9、mongo-driver/v2、gorm.io/driver/mysql 等驱动依赖
- **构建体积优化**: 原始 exe 从 36MB 降至 26MB,UPX 压缩后仅 7.5MB(压缩率 28.8%)
### 变更说明
- 顶部 Tab 仅保留「文件管理」,移除数据库入口
- Markdown 编辑器、版本历史、系统信息、更新检查等模块不受影响
- 本地 SQLite 配置存储(AppConfig)保留不变
---
## [0.3.4] - 2026-04-22
### 新增 ✨
- **CodeMirror 搜索功能**: Ctrl+F / Ctrl+H 全局查找替换,`@codemirror/search` 集成
- **编辑器滚动位置恢复**: LRU 缓存(最多5份/3分钟TTL),切换文件不丢位置
- **文件列表列排序**: 图标/名称/时间/大小四列可排序,升序降序切换
- **文件搜索过滤**: 工具栏实时搜索框,按文件名过滤列表
- **Toolbar UI 重排**: 快捷访问内嵌面包屑左侧、历史记录改为图标+tooltip、Ctrl+H 快捷键
- **更新面板 Markdown 渲染**: changelog 用 `marked.parse()` 结构化渲染,替代纯文本
- **重命名零闪烁**: `updateFilePath()` 仅迁移路径引用+草稿key,不重新加载内容
### 优化 🚀
- **路径安全重构**: `validateFilePath()` 提取统一函数,消除两处重复校验代码
- **requireUpdateAPI 模式**: 7 处重复 nil 检查收敛为 guard 方法
- **端口统一**: 文件服务器端口 18765→8073,全局一致消除魔法数字分散
- **文件服务器 URL 动态获取**: 前端从后端 API 获取,不再硬编码
- **Tab 配置迁移扩展**: MigrateTabConfig 改为 map 驱动,覆盖 openclaw-manager→version 迁移
- **updateContent 简化**: 去掉时间窗口双重检查,仅保留版本号机制
### 安全修复 🔒
- **sentinel error 替代字符串匹配**: validateFilePath 错误用 `errors.Is()` 判断,消息变更不再静默失效
- **sanitizeHtml 防御远程 Markdown XSS**: 过滤 script/iframe/embed/on* 事件属性
### 修复 🐛
- **showHeader 默认值修正**: localStorage 无值时默认显示表头(兼容旧行为)
- **外层容器双重 scroll reset 移除**: 避免 CodeEditor 内部滚动恢复与外层 reset 冲突闪烁
---
## [0.3.3] - 2026-04-13
### 新增 ✨
- **Markdown 编辑器**: 独立编辑页面、实时预览、字符/行数统计、Ctrl+S 保存、自动保存
- **Markdown 文件页面**: 独立的 Markdown 文件查看与编辑界面 (`views/markdown-editor/`)
- **PDF 导出**: 浏览器打印 + 后端 gofpdf/chromedp 多种导出方式
- **窗口置顶**: 支持窗口始终置顶
- **收藏夹置顶**: 收藏项支持置顶排序
- **文件预览**: Excel/Word 文件预览支持
- **数据库 UI 大幅改进**: 查询历史面板、查询模板面板、SQL 工具栏、结果导出(CSV)、SQL 格式化器
- **数据库可见性过滤**: 连接管理增强、ConnectionForm 重写、统一错误处理模块 (`database-error.ts`)
### 优化 🚀
- MySQL 动态连接池重构 — 健康检查、性能权重、自适应扩缩容
- SQL 查询优化器 — 查询缓存、慢查询日志
- Redis Pipeline — 批量命令、事务 MULTI/EXEC 支持
- Office/CSV 预览增强 — 本地文件服务器获取文件
- Markdown 增强 — 本地文件链接支持、Shell 语法高亮
- HTML 预览 — 改用 iframe src 替代 srcdoc
- Wails 框架升级 + Mermaid 主题切换 + 代码高亮修复
- 文件列表 UI 重构 — 统一渲染逻辑,提升滚动性能
- CSV 编辑模式优化 + PDF 导出重构
- 拷贝功能优化
### 修复 🐛
- Office 文件预览:修复类型检测与二进制误判
- 本地文件服务器 CORS 跨域问题
- 大文件点击卡死问题
- 收藏夹 bug 修复
- FileEditorPanel 语法错误
### 安全修复 🔒
- XSS 防护(PdfExportButton、MarkdownPreview HTML 消毒)
- PDF 导出路径穿越防护
- PDF 导出标题 HTML 注入防护
### 重构 🔧
- CodeMirror 架构优化 — 统一导出避免多实例问题
- 消除代码重复 — storage/connection_service 重构、useVisibleDatabases 抽取
- 大规模死代码清理,显著减小包体积
- 配置加载超时保护(最多重试 30 次)
- 正则表达式预编译、缓存读锁优化
- 禁止 Ctrl+滚轮缩放
- Dockerfile 语法高亮支持
- 滚动条样式修复
### 文件系统 📁
- 右键菜单新增新建文件/文件夹
- FileEditorPanel 集成 PDF 导出按钮
- Markdown 文件自动预览与编辑/预览模式切换
- 面包屑导航组件
---
## [0.3.2] - 2026-02-05
### 重构 🔧
- **CodeMirror 架构优化** - 统一导出避免多实例问题
- **语言加载器优化** - 从动态 import 改为静态导入,提升稳定性
- **动态主题切换** - 使用 Compartment 实现无损切换
### 优化 🚀
- **编辑器性能** - 添加内容更新防抖,减少不必要的渲染
- **亮色主题** - 改进代码编辑器亮色模式样式
- **构建配置** - 简化 Vite 配置,优化打包效率
### 依赖清理 🧹
- 移除废弃的 `@codemirror/highlight` 包
- 移除不再使用的 `@codemirror/legacy-modes` 包
---
## [0.3.0] - 2026-02-04
### 新增 ✨
- **Markdown 图表支持** - 支持 Mermaid 流程图、时序图、类图等多种图表渲染
- **代码语法高亮** - 支持 20+ 种常用编程语言的语法高亮
- **文件列表优化** - 文件夹优先显示,同类型按名称排序
### 修复 🐛
- 修复编辑/预览模式切换时图表不渲染的问题
- 修复不同主题下代码高亮显示问题
---
## [0.2.0] - 2026-01-28
### 新增 ✨
- **应用配置管理** - 全新设置面板,支持自定义显示模块和默认启动页
- **智能更新提醒** - 新增版本更新通知组件
- **模块重命名** - 应用更名为 u-desk
---
## [0.1.5] - 2026-01-22
### 新增 ✨
- **文件管理模块** - 文件浏览、编辑、操作功能
- **版本更新管理** - 自动检查和下载更新
- **系统信息查询** - CPU、内存、磁盘等硬件信息
---
## [0.1.0] - 2026-01-18
### 新增 ✨
- **数据库管理** - 支持多种数据库连接和查询功能
---
## 版本规范
版本号格式:`主版本号.次版本号.修订号` (MAJOR.MINOR.PATCH)
- **主版本号** - 不兼容的 API 修改
- **次版本号** - 向下兼容的功能性新增
- **修订号** - 向下兼容的问题修复