thzxx
bbaea2df3e
docs: 更新关于弹框与 README(移除状态栏、依赖版本 0.4.1/0.4.4)
v0.6.1
2026-08-09 22:07:15 +08:00
thzxx
cf920ab2e6
refactor: 移除自定义状态栏 — 使用 MetonaEditor 自带底栏
...
- editor 自带底栏(wordCount: true)已显示字符数/词数/行数/阅读时间
- 删除自定义 StatusBar 组件、editorStore 的 stats/cursor 状态与事件绑定
- 保留 zenMode 同步(Toolbar 专注按钮消费);自动保存状态由 Toolbar 按钮显示
2026-08-09 22:04:06 +08:00
thzxx
cb243c5c95
fix: 存储引擎回归 AriaEngine — sqlark 0.4.4 修复 SSTable 大 value 编码缺陷
...
- 0.4.4 引入 v2 格式(magic SSTC):u32 长度字段(修复 u16 截断 >64KB value)
+ UTF-8 字节精确估算(修复块大小低估导致写入越界)+ 超大条目独立成块
- 真实 Chromium 实测:300KB 中文内容写入 → close → 重启 → 读回数据完好,5 轮零失败
- schema.ts 切回 aria(version 0 + aria- 前缀内部库名)
2026-08-09 21:54:04 +08:00
thzxx
b814114ff0
fix: 存储引擎切回 HybridEngine — AriaEngine SSTable 大 value 编码缺陷
...
根因(真实 Chromium 环境实测复现):
- AriaEngine SSTableBuilder.computeBlockSize 用 JS 字符串 length 估算块大小,
实际写入为 UTF-8 字节(中文 1 字符 = 3 字节)→ finalSize 缓冲区低估
→ 大文件内容(中文 markdown)flush 时写入越界(offset is out of bounds)
- valueLen 为 u16(上限 64KB),大 value 长度截断
- 关闭时 flush 崩溃 → 半写 SSTable → 下次打开 DataView 越界 → ARIA_OPEN_ERROR
HybridEngine 行级 IDB 存储无此限制(300KB 中文内容实测闭环正常)
2026-08-09 21:26:47 +08:00
thzxx
63fa0d3040
fix: 数据库初始化加固 — 关闭流程禁止重开 + initDb 串行化 + 错误详情显示
...
- closeDatabase 后置 isClosing 标记,关闭流程中 getDb 直接拒绝,
避免 forceClose 前其他组件重新建立连接(未关闭即被进程终止)
- initDb 串行链:失败重置后并发 getDb 不再同时 createDatabase
- 弹框显示 ARIA_OPEN_ERROR 等包装错误的 details(原始异常信息)
2026-08-09 21:09:15 +08:00
thzxx
8bee37cb89
release: v0.6.1 — 专注模式宽度官方 API 100% + 版本号更新
2026-08-09 20:45:37 +08:00
thzxx
a981d9fd08
style: 专注模式宽度调整为 1200px
2026-08-09 20:39:04 +08:00
thzxx
8398e3f124
refactor: 专注模式宽度改用 0.4.1 官方 API(zenMaxWidth: '100%'),移除 CSS hack
2026-08-09 20:37:19 +08:00
thzxx
6450cd6435
chore: 升级 metona-editor 0.4.1
2026-08-09 20:34:53 +08:00
thzxx
c647b7e602
chore: 升级 metona-sqlark 0.4.3(修复 close 后后台任务竞态)
...
- 0.4.3 修复: 写操作串行队列、close 前排空后台 flush/compaction、
去掉 setTimeout 分片(close 后定时器执行问题)、活跃事务先回滚
- 实测 4 轮重启数据一条不丢、强杀重开完好、零警告
2026-08-09 19:54:10 +08:00
thzxx
764d3d831f
fix: 存储引擎回归 AriaEngine(sqlark 0.4.2 已修复崩溃损坏问题)
...
- AriaEngine(LSM-Tree + WAL + MVCC)功能更强,0.4.2 修复了 0.4.1 的半写损坏
- 实测 4 轮重启数据一条不丢、强杀重开完好、旧残缺 SSTable 被完整性校验跳过
- 自愈删库恢复 aria- 前缀内部库名
2026-08-09 19:21:57 +08:00
thzxx
7e0e579dac
chore: 升级 metona-sqlark 0.4.2(修复引擎损坏/版本管理/WAL 丢数据等全部已知问题)
...
- 移除 resolveDbVersion hack,改用标准 API(version: 1,0.4.2 打开时自动版本自适应)
- 实测 4 轮重启数据一条不丢、强杀重开完好
- 0.4.2 修复项:SSTable 残缺块跳过/完整性校验/repair 自愈、VersionError 自适应、
version 0 TypeError、WAL count 原子提交、close 前 checkpoint、错误统一包装、
迁移版本持久化、blocked 重试
2026-08-09 19:20:05 +08:00
thzxx
b762488ac9
fix: 存储引擎切换为 HybridEngine(write-through 直写 IDB)+ 动态版本解析
...
- AriaEngine 的 SSTable/WAL 多 key 非原子写入在异常退出/强杀时留下半写文件,
重启解析越界(offset is out of bounds)导致每次关闭后必损坏
- HybridEngine 每行单 key 原子写入 IDB,实测 close/强杀/多次重启数据完好
- 解决 sqlark IndexedDBEngine 建表升级版本号导致的 VersionError:
启动时解析库当前版本再打开
- Zen 专注模式宽度改为全宽(max-width: none)
2026-08-09 17:17:39 +08:00
thzxx
0e06219969
chore: 移除误提交的临时测试脚本
2026-08-09 17:05:48 +08:00
thzxx
58c8a1a3a0
fix: 关闭应用前干净关闭数据库 + 自愈仅启动早期触发
...
- 退出前 db.close() 确保 WAL/SSTable 干净落盘,避免渲染进程销毁时 flush 中断留下半写文件导致下次启动损坏
- 自愈(删损坏库/重载)仅限页面生命周期内首次初始化;运行中失败直接抛错,不再阻塞应用关闭流程
2026-08-09 17:05:31 +08:00
thzxx
9fcbec790d
fix: 移除 devDependencies 中残留的 rollup linux 平台包声明,平台依赖恢复由 rollup optional 机制管理
2026-08-09 16:54:06 +08:00
thzxx
26d54f042b
chore: 移除 rollup 平台包 postinstall 脚本,平台依赖按需手动安装
2026-08-09 16:52:17 +08:00
thzxx
ee5f35177e
release: v0.6.0 — 内置解析器迁移 / Toast 全面接入 / Sqlark 深度集成
...
- 渲染管线迁移至 MetonaEditor 内置解析器,移除 unified/rehype 全家桶(9 个依赖)
- 修复相对路径图片修复的目录前缀碰撞与路径解析 bug
- ConfirmDialog/useConfirm/LoadingSpinner/useDocStats 移除,改用 MeToast.confirm/loading/promise
- 新增状态栏(字数/行数/阅读时间/光标位置)、Zen 模式、数据备份导出导入
- Sqlark: 版本化迁移(addMigration/migrateTo)、subscribe 表变更、备份 exportAll/importTable
- 数据库损坏自愈:异常退出残留残缺 SSTable 导致打开失败时自动重建
- 大纲导航改用 scrollToLine 官方 API
- 修复 rollup 平台包互删(postinstall 自动补齐)+ 集成测试(fake-indexeddb)
2026-08-09 16:50:06 +08:00
thzxx
20eb39efc5
release: v0.5.0 — 升级 MetonaEditor 0.4.0 / MetonaToast 0.5.0,数据库迁移 MetonaSqlark 0.4.1
...
- 编辑器升级 0.4.0:TypeScript 全模块重构、启用浮动格式工具栏
- 通知升级 0.5.0:钩子系统、新增动画
- 移除 Dexie.js,迁移至 MetonaSqlark 0.4.1(AriaEngine:LSM-Tree + WAL + MVCC)
- 数据库更换为 MarkLiteV2,旧 Dexie 数据放弃
- 修复 Editor 组件无条件重渲染(getActiveTab 返回新引用)
- 更新关于弹框、README、DESIGN 文档
v0.5.0
2026-08-09 15:45:36 +08:00
thzxx
d6ae9e3c8e
release: v0.4.5 — Mermaid 图表渲染支持
...
新增 Mermaid 图表渲染:
- npm 安装 mermaid@10 作为项目依赖
- markdown.ts 新增 rehypeMermaid 插件:将 mermaid 代码块
转换为 .me-mermaid 容器(与 MetonaEditor 内置输出一致)
- Editor.tsx 初始化 mermaid (startOnLoad: false)
- 绑定 afterRender 事件 → mermaid.run() 渲染 SVG 图表
- 首次加载 setTimeout 兜底渲染
技术实现:
- rehypeMermaid 插件在 rehypeHighlight 之后运行
- 查找 pre > code.language-mermaid 节点
- 替换为 div.me-mermaid > div.mermaid 容器
- 保持 unified 管线完整(图片路径修复 + sanitize + highlight)
- mermaid.run({ querySelector: '.me-mermaid .mermaid' })
质量保证:
- TypeScript 严格模式: 0 errors
- 单元测试: 98/98 passed (16 markdown + 82 others)
v0.4.5
2026-07-25 16:41:14 +08:00
thzxx
2e7baa1073
release: v0.4.4 — 升级 MetonaEditor 0.2.4 & MetonaToast 0.2.1
...
依赖升级:
- @metona-team/metona-editor: 0.1.14 → 0.2.4
- @metona-team/metona-toast: 0.1.2 → 0.2.1(精确版本)
Editor.tsx 适配 v0.2.4:
- 移除 ExtendedEditorOptions 类型 hack(lineNumbers/autoBrackets 已原生支持)
- 本地声明 EditMode/ThemeName 类型(v0.2.4 不再命名导出)
- 适配 onModeChange 签名 (mode: EditMode → mode: string)
- 适配 onLinkClick 签名 ({href}) → (href, text, editor)
- 新增 syncScroll: true 同步滚动
- 新增 wordWrap: true 自动换行
- 新增 outline: false(保留自研 OutlinePanel)
- 新增 historyLimit: 100 / historyDebounce: 400
- 新增 shortcutHelp 预设插件(按 ? 弹出快捷键面板)
- 新增 onLinkClick 回调(通过 openExternal 安全打开链接)
- 新增 onFocus / onBlur 回调(预留扩展点)
toast.ts 适配 v0.2.1:
- 安装 keyboard 插件(ESC 关闭所有 Toast)
- 安装 accessibility 插件(屏幕阅读器朗读)
- 新增 width: 360 配置
v0.4.4
2026-07-25 16:23:59 +08:00
thzxx
8bbbb7ff70
chore: 锁定 MetonaEditor 版本为 0.1.14
...
- package.json: ^0.1.10 → 0.1.14 精确锁定
- DESIGN.md: 三处 v0.1.3 → v0.1.14 同步更新
- README.md: 技术栈表格版本号同步
v0.4.3
2026-07-24 20:59:27 +08:00
thzxx
1dd22be0a8
release: v0.4.3 — 版本号更新与预览区文本选择修复
...
- 版本号从 0.4.2 升级至 0.4.3
- 修复预览区内容无法鼠标拖拽选择/复制的问题
- 根因:html/body 上的 user-select: none 级联到预览面板
- 修复:为 .me-preview 及其子元素恢复 user-select: text
2026-07-24 20:50:59 +08:00
thzxx
20b6d03617
release: v0.4.2 — MetonaToast 0.1.2 降级与版本号更新
...
- chore: @metona-team/metona-toast 2.0.1 -> 0.1.2
- chore: 应用版本号 0.4.1 -> 0.4.2
v0.4.2
2026-07-24 15:06:21 +08:00
thzxx
7bd625b9ce
release: v0.4.1 — MetonaEditor 0.1.10 升级与三主题系统
...
- chore: 升级 @metona-team/metona-editor 0.1.3 → 0.1.10
- feat: 三主题系统(亮色/暗色/暖色),循环切换
- feat: 应用颜色自动同步编辑器主题(MeEditor.themes.exportCSSVars)
- feat: 启用编辑器新功能(lineNumbers/autoBrackets/readOnly/autofocus/exportTool)
- refactor: 主题从 boolean darkMode 重构为 ThemeMode 枚举
- refactor: 插件注册改用字符串数组(与 demo 一致)
- refactor: 主题同步从手动 CSS 覆写改为 editor.setTheme() 实例 API
- refactor: Ctrl+S 双通道(编辑器 onSave + 全局兜底)+ 防重入锁
- style: 移除 variables.css 中硬编码 .dark 色值,改为 JS 动态驱动
- test: 更新 editorStore 测试覆盖新的 themeMode/cycleTheme
v0.4.1
2026-07-24 13:58:37 +08:00
thzxx
10cfe0066b
docs: 添加 MetonaEditor 和 MetonaToast 参考文档
v0.4.0
2026-07-23 22:57:49 +08:00
thzxx
05e5667e48
release: v0.4.0 — MetonaEditor 集成与架构重构
...
feat(editor): 将 Milkdown/ProseMirror 替换为 @metona-team/metona-editor v0.1.3
- 三模式视图 (edit/split/preview) 由编辑器内置工具栏切换
- searchReplace + imagePaste 预设插件
- unified/rehype 渲染管线通过 render 钩子集成
- 主题双向同步 (应用暗色模式 ↔ 编辑器主题)
feat(toast): metona-toast 迁移为 @metona-team/metona-toast v2.0.1
refactor: 删除冗余组件与代码
- 移除 SourceEditor、Preview、SearchReplace、EditorToolbar、useMilkdown
- 移除 StatusBar 组件及状态栏扩展架构(编辑器内置底栏替代)
- 移除 useSettings、useStatusBarItem、useStatusBarItems、statusBarStore
- 移除 EditMode/PreviewMode/SourceMode 图标
refactor(ui): 简化布局
- 工具栏移除模式切换按钮,新增自动保存开关
- useKeyboard 移除 Ctrl+1/2/3/B/I 快捷键
- Editor 三模式统一由 MetonaEditor 容器渲染
chore: 版本号 v0.3.13 → v0.4.0
docs: 全面更新 README/DESIGN/CONTRIBUTING/DEVSETUP
2026-07-23 22:55:45 +08:00
thzxx
43b0778849
release: v0.3.13 — MeToast 集成与全面质量修复
...
- 集成 MetonaToast v2.0.0 替换自研 Toast 组件(右上角、进度条、自动关闭、主题联动)
- 修复 sidebar resize 未持久化到 IndexedDB
- 修复 Ctrl+Tab MRU 切换逻辑与文档不一致
- 完善 WYSIWYG 模式标签切换选区恢复
- 清理死代码(useActiveHeading observerRef、旧 Toast 样式、重复滚动条样式、SearchReplace 重复检查)
- 同步 DESIGN.md / docs 文档(CodeMirror→Milkdown、stores 计数、editorStore 字段)
- 新增 .npmrc.example 模板
- 更新关于对话框与文档远程地址为 Gitea
- 版本号 0.3.12 → 0.3.13
v0.3.13
2026-07-22 15:55:45 +08:00
thzxx
77fdf03ed7
feat: use icon.png as app icon on welcome screen and about dialog
2026-07-06 13:41:55 +08:00
thzxx
ed505d48bf
chore: update application icons
2026-07-06 13:21:19 +08:00
thzxx
0940c2f5c6
fix: resolve all TS errors, ESLint warnings, and npm warnings bump to v0.3.12
...
- Pin all @milkdown/* packages to exact 7.21.1, add phantom-dep plugins as direct deps
- Fix TextSelection.create type error in useMilkdown.ts
- Fix Backspace auto-pair dead-code bug (unreachable due to PAIRS check order)
- Extract parseHeadings/Heading to outlineUtils.ts (react-refresh fix)
- Extract StatusBar item components to StatusBarItems.tsx (react-refresh fix)
- Configure npm allowScripts for electron and esbuild postinstall
- Update QUALITY_REVIEW_REPORT.json with all fixes applied
- Bump version to 0.3.12
v0.3.12
2026-07-06 10:51:39 +08:00
thzxx
f707b5c7ee
chore: bump version to 0.3.11 — 状态栏扩展点架构
2026-06-23 11:36:46 +08:00
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
7f070eb11d
chore: bump version to 0.3.8
...
Code audit fixes:
- CRITICAL: reorder Markdown pipeline (fixImages before sanitize)
- CRITICAL: fix path prefix separator check
- BLOCKING: remove duplicate useEffect in Editor
- BLOCKING: skip onChange when content unchanged
- BLOCKING: optimize Sidebar re-render with useMemo
- HIGH: cleanup FileWatcher polling intervals
- HIGH: improve validatePath segment check
- HIGH: fix isExternalUpdate race with counter
- HIGH: add will-navigate / setWindowOpenHandler
- HIGH: explicit strip in sanitize schema
- MEDIUM: random temp file suffix instead of Date.now()
- MEDIUM/LOW: add IndexedDB error boundaries
- LOW: support UTF-16 BOM detection
2026-06-18 21:28:35 +08:00
thzxx
dd78ff15a9
v0.3.7: 全面代码审计修复 - 20项Bug/安全/稳定性改进
2026-06-15 15:02:38 +08:00
thzxx
c0e16f2885
v0.3.7: 修复保存竞争态 + 新增源码编辑模式
...
Bug修复:
- BUG-10 修复: 保存文件时 watcher restart 触发虚假 change 事件覆盖编辑器内容
- ipc-handlers.ts: restart watcher 在 setSelfWriting(true) 保护内执行
- App.tsx handleReloadModified: 增加 if (tab?.isModified) return 安全守卫
新功能:
- 新增源码(Source)视图模式,直接用 textarea 编辑原始 Markdown
- ViewMode 扩展为 editor|preview|source
- 工具栏增加源码按钮,快捷键 Ctrl+3
- 内容与 WYSIWYG 编辑器共享 tabStore,切换模式不丢内容
验证: TS 0错误, ESLint 0错误(1个预存警告), 90/90测试通过
2026-06-04 15:17:26 +08:00
thzxx
c34a843d5c
v0.3.6: 修复文档大纲导航Bug + 新增自动保存功能
...
Bug修复:
- 文档大纲点击标题未定位到编辑器内容 (P0)
- 根因: raw markdown字符偏移 ≠ ProseMirror文档位置
- 改为通过 view.state.doc.descendants() 遍历节点树,
按 heading类型名 + level + textContent 三重匹配定位
新增功能:
- 自动保存 (2秒防抖), 仅对文件标签页生效
- 状态栏显示 自动/保存中... 指示器
版本同步: package.json / AboutDialog / README 均更新至 v0.3.6
2026-06-04 14:23:27 +08:00
thzxx
a84ccb7353
v0.3.5: Bug修复+性能优化+状态栏文档统计
...
Bug修复:
- BUG-01: Sidebar norm函数正则修复(单反斜杠匹配), Windows路径规范化恢复
- BUG-02: 3处result.content truthy检查改为content !== undefined, 空文件可打开
- BUG-03: TAB_SWITCHED路径校验顺序修复, activeFilePath不在校验前写入
优化:
- OPT-01: Sidebar handleFileClick添加loading状态, 打开文件有视觉反馈
新功能:
- FEAT-01: 状态栏添加行数/单词数/字符数统计
- useDocStats hook + computeDocStats 纯函数
- StatusBar右侧显示 行/词/字符 统计信息
- 12个单元测试覆盖空值/空白/ASCII/UTF-8/Markdown等场景
验证: TS 0错误, ESLint 0错误(1个预存警告), 90/90测试通过
2026-06-04 13:43:10 +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
8bcd8a2b2b
fix(search): CSS选择器从mark改为通用类名
...
ProseMirror Decoration.inline渲染的是<span>而非<mark>,
导致mark.search-match-highlight选择器无法匹配,高亮不可见
2026-06-04 11:30:34 +08:00
thzxx
ef697c5bcf
fix(search): 修复搜索/替换功能三个严重Bug
...
根因: 直接操作ProseMirror控制的DOM导致内容复制、高亮失效、导航无效
修复方案: 改用ProseMirror Decoration API (Decoration.inline)
- useMilkdown: 新增searchPlugin + getView()暴露EditorView
- SearchReplace: 完全重写,DOM操作→ProseMirror原生事务
- Editor: 传递getView替代editorContainer
Bug详情:
1. parent.children[0]只含Element不含Text → 内容被复制/乱序
2. <mark>不在ProseMirror schema中 → 被reconciliation剥离
3. mark已被移除 → ref指向分离节点 → 导航无效
验证: TypeScript零错误, 78/78测试通过, build成功
2026-06-04 11:08:07 +08:00
thzxx
b34cbb5de3
v0.3.1: 添加编辑器搜索/替换功能,修复ESLint和lint-staged错误
...
- 新增 SearchReplace 组件:Ctrl+F 搜索、Ctrl+H 替换、实时高亮、大小写切换、导航、全部替换
- 修复 tabStore.test.ts 未使用变量的 ESLint 错误
- 修复 lint-staged tsc 命令不兼容 Milkdown .d.ts 的问题
- 版本号 0.3.0 → 0.3.1 (package.json + AboutDialog)
- tsc 零错误、78/78 测试通过、构建成功
2026-06-04 10:22:15 +08:00
thzxx
b1803c6467
feat: replace CodeMirror 6 with Milkdown 7.21 editor
...
- Remove 7 @codemirror/* packages, add 7 @milkdown/* packages
- Rewrite useCodeMirror -> useMilkdown hook (ProseMirror-based)
- Rewrite Editor.tsx with Milkdown lifecycle management
- Update EditorToolbar to use Milkdown callCommand API
- Replace CodeMirror CSS styles with Milkdown/ProseMirror styles
- Support: CommonMark + GFM, dark mode, toolbar formatting
- Bump version 0.2.0 -> 0.3.0
2026-06-04 09:39:10 +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
thzxx
3cecb0f9eb
v0.1.1: 多Agent代码质量审查+优化
...
- fix: useCodeMirror onChange闭包过期导致编辑器内容丢失同步(P0)
- feat: 全部组件添加displayName(React DevTools调试支持)
- feat: 全部组件添加ARIA属性(WCAG无障碍支持)
- fix: App异步操作添加try-catch错误边界
- fix: tabStore空catch块添加错误日志
- fix: sidebarStore Set→string[](Zustand可序列化)
- fix: useDragDrop readFile错误处理+空文件修复
- fix: useSettings/useTheme load()添加错误处理
- fix: useTheme toggleDarkMode引用优化
- chore: 版本号升级至0.1.1
2026-06-03 21:02:56 +08:00
thzxx
d3c4062c10
update src/renderer/components/WelcomeScreen/WelcomeScreen.tsx.
...
修改首页快捷键描述
Signed-off-by: 紫影233 <1440196015@qq.com >
2026-05-28 08:22:05 +00:00
thzxx
359a4572b7
refactor: 移除工具栏 Gitee 按钮,项目地址移至关于弹框
...
- 工具栏移除 Gitee 图标按钮
- 关于弹框添加项目地址链接(带 Gitee 图标)
- 链接点击跳转到 gitee.com/thzxx/MarkLite
2026-05-28 16:13:21 +08:00
thzxx
4a1c06320f
docs: 更新 README.md 和 DESIGN.md,删除 REFACTOR-PLAN.md
...
- README.md: 更新版本号 v0.1.0,添加 CodeMirror 6 说明,添加关于/Gitee按钮说明
- DESIGN.md: 重写为当前架构,移除重构计划相关内容,精简为实际代码结构
- 删除 REFACTOR-PLAN.md(重构已完成)
2026-05-28 15:53:14 +08:00
thzxx
03a71bdf94
feat: 添加 Gitee 按钮、关于弹框,版本号改为 v0.1.0
...
- 工具栏右侧新增 Gitee 图标按钮,点击跳转项目主页
- 工具栏右侧新增关于按钮,点击打开关于弹框
- 关于弹框展示:应用图标、版本号、功能特性、技术栈、版权信息
- 点击弹框外部或关闭按钮可关闭弹框
- 版本号从 v2.0.0 改为 v0.1.0
2026-05-28 15:38:29 +08:00