thzxx
|
9c92dcfa9d
|
refactor: 删除分屏功能 + 代码审计修复 + 安全加固
## 删除分屏功能
- 删除 ViewMode 'split' 类型,仅保留 editor/preview
- 删除 splitRatio 状态和 Resizer 组件
- 删除滚动同步模块 (scrollSync.ts, rehypeSourceLine.ts)
- 更新快捷键: Ctrl+1 编辑, Ctrl+2 预览
## Bug 修复
- 修复 Toast setTimeout 内存泄漏 (App.tsx)
- 修复 ModifiedBanner reload 更新错误标签 (改用 modifiedFilePath 匹配)
- 修复 FileWatcher error 未重置 isSelfWriting (file-watcher.ts)
- 修复另存为时未 stop watcher (ipc-handlers.ts)
## 死代码清理 (10 项)
- 删除 main/ipc-channels.ts (与 shared/ 重复)
- 删除 main/file-system.ts 未使用的 formatBytes
- 删除 constants.ts 6 个未使用常量
- 删除 fileUtils.ts 未使用的 formatBytes
- 删除 Icons.tsx 5 个未使用图标 (SplitView/ChevronUp/ChevronDown/X/ArrowUp/ArrowDown)
- 删除 useCodeMirror 未使用的 getContent/scrollTo
- 删除 TabBar 未使用的 menuRef
- 删除 Tab.scrollLeft/previewScrollTop 字段
- 删除 tabStore 未使用的 getTabIndex
- 删除 Toast/ModifiedBanner 多余 React import
## 安全加固
- ipc-handlers: 添加路径遍历防护 (validatePath 函数)
- preload: openExternal 仅允许 http/https 协议
- window-manager: 启用 sandbox: true
- preload: removeAllListeners 改为精确取消订阅 (返回 Unsubscribe 函数)
## 状态持久化
- activeTabId 持久化到 IndexedDB (刷新后恢复正确标签)
- sidebar 状态持久化到 IndexedDB (isVisible/sidebarWidth)
## 代码优化
- preload 使用 IPC_CHANNELS 常量替代硬编码字符串
- ipc-handlers _event 类型改为 IpcMainInvokeEvent
- settingsRepository 删除 splitRatio 字段
|
2026-05-28 13:42:11 +08:00 |
|
thzxx
|
5e1c89d280
|
refactor: v2.0 全量重构 — TypeScript + React + Zustand + IndexedDB
技术栈升级:
- JavaScript → TypeScript 5.6(全量类型安全)
- 原生 DOM → React 18(函数组件 + Hooks)
- 全局变量 → Zustand 5(轻量状态管理)
- localStorage → IndexedDB / Dexie.js 4(大容量、异步、索引)
- marked.js → unified / remark / rehype(插件化渲染管线)
- 无打包 → electron-vite 3(HMR 热更新)
- 纯 CSS → CSS Variables + CSS Modules
新增功能:
- 标签页状态 IndexedDB 持久化(关闭后可恢复)
- 最近打开文件列表
- 大文件虚拟化行号(>2000 行)
- 搜索高亮二分查找优化 O(log N)
- rehype-sanitize HTML 安全过滤
文件结构:
- 7 个源文件 → 51 个模块化文件
- src/main/ 主进程(6 文件)
- src/preload/ 预加载(1 文件)
- src/renderer/ 渲染进程(42 文件:组件/hooks/stores/lib/db/types/styles)
- src/shared/ 共享类型(2 文件)
构建验证:
- TypeScript 检查零错误
- electron-vite build 成功
- 产物:main 15kB + preload 2kB + renderer 1.5MB
|
2026-05-27 20:29:23 +08:00 |
|
 thzxxandGitee
|
f6b247d364
|
Revert "release: v1.3.0 版本发布,更新文档与更新日志"
This reverts commit 2716a7d320.
|
2026-05-21 06:17:16 +00:00 |
|
thzxx
|
2716a7d320
|
release: v1.3.0 版本发布,更新文档与更新日志
|
2026-05-21 13:44:32 +08:00 |
|
thzxx
|
2010f9dff5
|
docs: 同步 v1.2.0 文档(搜索替换 + 文件树)
|
2026-05-21 11:39:07 +08:00 |
|
thzxx
|
fe478edfde
|
更新 README.md 和 DESIGN.md:多标签页、暗色主题、文件监听等 v1.1.0 功能
|
2026-05-18 13:35:23 +08:00 |
|
thzxx
|
0d82d4ff5e
|
更新 DESIGN.md:反映暗色主题、文件监听、未保存提醒、IPC 完整通道、localStorage 持久化等实际架构
|
2026-05-18 13:20:41 +08:00 |
|
thzxx
|
fda3e5987d
|
Initial commit: MarkLite Markdown Reader
|
2026-05-18 10:40:11 +08:00 |
|