thzxx
|
b65e34e288
|
v0.3.10: 全面优化增强 — 17项Bug修复/稳定性/功能改进
P0 致命Bug修复:
- A1: openFolderDialog 类型/运行时崩溃(文件夹打开功能完全失效)
- A2: SourceEditor 受控textarea手动改DOM反模式
- A3: tabStore.updateTabContent 内容相同时误标isModified
死代码清理:
- B1: 删除menu:*/save/as/viewMode 三个永不触发的IPC通道
健壮性修复:
- E1: rehypeFixImages 路径规范化+防越界加固
- E2: getFileName 尾斜杠返回正确文件名
- E3: EditorToolbar 行内代码按钮改用toggleInlineCodeCommand
- E4: ErrorBoundary 内联样式抽为CSS类
功能增强:
- D1: 标签页拖拽排序(tabStore.moveTab + TabBar DnD + CSS)
- D2: Milkdown自动配对括号/引号(ProseMirror插件)
- D3: 状态栏自动保存开关可点击
- D4: 文档大纲活跃标题高亮(useActiveHeading hook)
- D5: 关闭窗口前flush防抖数据(flushSaveToDB)
- D6: 搜索替换支持正则表达式
类型/架构:
- C2: preload类型集中定义(ElectronAPI契约)
- __pycache__ typo修复
文档/版本:
- README/DESIGN同步为Milkdown + v0.3.10
- 项目结构树/技术栈/快捷键表更新
验证: typecheck(仅7预存), lint✅, test 96/96, vite build✅
|
2026-06-23 10:47:45 +08:00 |
|
thzxx
|
dd78ff15a9
|
v0.3.7: 全面代码审计修复 - 20项Bug/安全/稳定性改进
|
2026-06-15 15:02:38 +08:00 |
|
thzxx
|
899d2b7914
|
v0.3.4: Bug修复+性能优化+文档大纲功能
🔴 Bug修复 (6):
- Sidebar反斜杠正则修复 (Windows路径规范化)
- FileWatcher文件删除后自动恢复监听
- SearchReplace replaceAll防过期匹配位置
- openFolderDialog null结果守卫
- 保存异常时空路径保护
- Markdown绝对路径图片拼接修复
🟡 性能优化:
- Editor切换标签时内容比较,相同跳过replaceAll
🔵 代码质量:
- 创建共享常量模块 src/shared/constants.ts,消除双副本
🎯 新增功能:
- 文档大纲 (Table of Contents) — 侧边栏标题导航
🔧 换行符统一: CRLF → LF
|
2026-06-04 13:24:23 +08:00 |
|
thzxx
|
efa7f61809
|
v0.3.3: 代码安全审查与Bug修复
CRITICAL 修复:
- 路径遍历防护绕过:validatePath在normalize()之后检查..,可被绕过读取任意文件
- 编辑器异步创建竞态条件:editor.create()完成后组件已卸载导致内存泄漏
- editor.create() Promise缺少.catch() → 未捕获的Promise拒绝
- handleOpenRecent空文件被跳过:result.content truthy检查阻塞空文件打开
MAJOR 修复:
- DIR_WATCH/TAB_SWITCHED IPC缺少路径校验,可被用于监视任意文件
- AboutDialog内联箭头函数使React.memo完全失效
- ConfirmDialog关闭时焦点恢复逻辑反转
- markdown.ts一刀切屏蔽..导致合法相对路径图片不显示
安全加固:
- 移除未被使用的path.normalize导入
- 所有文件操作IPC使用validatePath统一校验
- 编辑器初始化添加cancelled标志防止卸载后设置实例
验证: TypeScript零错误, ESLint零错误零警告, 78/78测试通过
|
2026-06-04 13:02:19 +08:00 |
|
thzxx
|
7a4e2b0a67
|
v0.2.0: 全面代码质量优化
- ESLint flat config + Prettier + EditorConfig
- Markdown处理器LRU缓存
- Zustand选择器优化减少重渲染
- CodeMirror Compartment主题热切换
- Preview防抖(150ms) + IndexedDB去抖(500ms)
- 组件拆分: App.tsx 310→104行, Sidebar.tsx 244→90行
- 统一错误处理 errorHandler.ts
- ConfirmDialog替代原生confirm
- LoadingSpinner加载状态
- Toast多条堆叠+类型区分
- 可访问性增强(ARIA属性、键盘导航)
- Vitest测试框架(78个测试用例)
- Git hooks(husky + lint-staged)
- 项目文档(README.md, CONTRIBUTING.md)
|
2026-06-03 22:13:32 +08:00 |
|