hunter-dev
|
ab46ec3cce
|
ui: 统一图标系统/字体/文案/token,标题栏与状态栏重做,编辑器排版打磨,窗口边框设计
|
2026-08-30 22:17:11 +08:00 |
|
hunter-dev
|
bd6243950c
|
fix: 文件列表缩进/图标、代码高亮去红、代码块复制带围栏、长文档底部留白
|
2026-08-30 21:52:49 +08:00 |
|
hunter-dev
|
e20fcab837
|
fix: 图谱/思维导图高度塌陷导致不显示
真正根因: GraphView 容器有 flex:1(在行布局中)但不是 display:flex,
子组件 MindmapTree/LinkGraph 的 flex:1 被忽略 → 高度 auto = 0
(子内容全是绝对定位,无在流内容) → SVG 高度 0 → fit() 计算 NaN
持续报 translate(NaN,NaN) 错误,内容不可见
之前 E2E 只数 DOM 元素数量不检查可见性,掩盖了此 bug
修复: GraphView 容器加 display:flex + flexDirection:column,
子组件 flex:1 正常生效,容器高度正确,内容可见
附带:
- 主进程转发渲染进程 console 到终端(便于 dev 调试)
- graph-render E2E 测试改为检查可见性(getBoundingClientRect)
- 修复 TabBar 关闭全部测试的 flaky 断言(expect.poll 自动重试)
|
2026-08-27 17:22:49 +08:00 |
|
hunter-dev
|
96f5c72fa7
|
fix: 知识图谱与思维导图不显示内容
三个独立 bug 修复:
1. MindmapTree StrictMode 双重渲染: Effect 1 创建 mm 实例, Effect 2 设置数据,
StrictMode 下 Effect 1 重建 mm 但 Effect 2 不重新运行 → 新 mm 无数据
修复: 在 Effect 1 中用 useStore.getState().tree 设置初始数据
2. LinkGraph onSwitchToEditor 不稳定: App 传内联箭头函数每次渲染新引用,
导致 D3 力导向图 Effect 2 依赖变化不断重置 → 图谱闪烁/不显示
修复: useCallback 稳定 switchToEditor 引用
3. frontmatter 块式 YAML 列表解析: parseList 只支持内联 [a, b] 格式,
用户手写 links:/tags: 多行 - item 格式无法解析 → 知识图谱无边
修复: parseYaml 支持 YAML 块式列表 (- item 多行)
新增 E2E 测试 graph-render.spec.ts 验证思维导图+知识图谱渲染内容
新增单元测试覆盖块式 YAML 列表解析
|
2026-08-27 16:35:47 +08:00 |
|
hunter-dev
|
ebd955ce4b
|
perf: 大文档性能优化——1.getMarkdown 防抖 300ms: 2000-5000 行文档每次按键序列化全量 markdown 开销大, 改为 debounce 300ms; 2.dsh-flush-body 事件: Ctrl+S/关窗/切文档前同步编辑器内容到 store, 确保保存不丢内容; 3.openDoc 不 await saveNow: 旧文档保存与新文档读取并行, 加快切换速度; 4.自动保存间隔 1s→3s: 大文档每秒写盘 I/O 压力大; 5.修复 save-mechanism E2E 测试时序适配新防抖
|
2026-08-27 15:48:19 +08:00 |
|
hunter-dev
|
0c605cb8b6
|
fix(editor+outline): 2个问题修复——1.tiptap error: resetEditor清空currentPath后TiptapEditor提前return不渲染EditorContent, 但useEffect仍调editor.commands.setContent触发view.dom访问崩溃; 修复: currentPath为null时跳过setContent并注销useEditorShared引用; 2a.大纲不随文档切换更新: collect effect仅依赖editor, setContent用emitUpdate:false不触发update事件; 修复: 加currentPath依赖+rAF延迟收集; 2b.大纲点击跳转位置不准: scrollIntoView的block:start受父容器影响; 修复: 手动计算scrollTop=elRect.top-containerRect.top+scrollEl.scrollTop, scrollTo精确到容器最上方
|
2026-08-26 21:35:11 +08:00 |
|
hunter-dev
|
b01bdd380a
|
fix(tabs): 关闭全部标签页后编辑器未清空——closeTab 仅清空 tabs/activeId 不清 store.currentPath, 导致 TiptapEditor 仍渲染旧文档. TabBar useEffect 加 resetEditor: 当 activeId 为 null 且 currentPath 非空时调用 store.resetEditor 清空 currentPath/body/meta, 编辑器正确显示空状态提示; 新增 E2E 验证
|
2026-08-26 19:21:29 +08:00 |
|
hunter-dev
|
8c47d27979
|
fix(hotkeys): 快捷键系统性修复——1.Ctrl+N onNewDoc 原为空函数, 实现新建文档全流程(dialog+fileCreate+openDoc); 2.Ctrl+backslash clearFormat 原无处理器(actions 缺失), 加 onClearFormat 调用 editor.chain().clearNodes().unsetAllMarks(); 3.use-hotkeys 重写: 移除 hotkeys-js 依赖, 全部绑定统一用捕获阶段 keydown 拦截(先于 Electron 菜单), 加 e.code 符号键映射修复 Shift+符号键匹配; 4.编辑器作用域键在输入框聚焦时仍放行 find(Ctrl+F); keymap-all E2E 8 项覆盖全部 12 默认快捷键
|
2026-08-26 19:05:01 +08:00 |
|
hunter-dev
|
01cec4e4c6
|
fix(ux): 标签栏开关按钮图标可见性——▭/▯(12px细矩形肉眼不可见)改为 ☰/–(14px三横线+短横), 用户反馈漏看此按钮; 删除临时截图测试
|
2026-08-26 16:30:11 +08:00 |
|
hunter-dev
|
d885dd8cb5
|
test: 全按钮可点击验证——11 个 E2E 测试覆盖 TitleBar/Toolbar/EditorToolbar/FindReplace/MoreActions/DocInfoPanel/SettingsPanel/FileTree/Graph/TabBar 所有按钮区域; 发现并验证所有按钮均可点击生效
|
2026-08-26 16:21:11 +08:00 |
|
hunter-dev
|
c935f1a34a
|
feat(M5/M1): FR-A12/V4 过渡动效+最近库下拉——styles.css 全局 transition+panel-slide-in keyframe+按钮悬停(A12); SettingsPanel/CheatSheet 加 panel-slide-in; Toolbar 最近库下拉快速切换(最多5)+高亮当前库(V4); recents-transition E2E 1 项
|
2026-08-26 15:52:25 +08:00 |
|
hunter-dev
|
55dedcbcf2
|
feat(M10/M3/M2): FR-M4/M6/X1/X2/B6/D1/D3 元数据/导出/弹层/迁移——EditorToolbar 加星标按钮(M4); DocMeta 加 createdAt+frontmatter 读写+DocInfoPanel 显示+创建时写入(M6); copyMd 失败 catch+错误提示(X1); @media print 干净排版+hljs配色(X2); SettingsPanel/CheatSheet Esc 关闭(B6); migration-service 旧版板块转换+init+switch 检测(D1/D3); meta-export E2E 3 项
|
2026-08-26 15:48:22 +08:00 |
|
hunter-dev
|
52474012c0
|
feat(M7): FR-G1/G4/G5 图谱卡片补全——卡片加文档图标+库内路径副文本(G1); scaleExtent改0.1-2+背景rect绑zoom不拦截点击+适配视图+缩放控件(G4); 点击卡片openDoc(d.id)+切回编辑视图(G5); graph E2E 3 项
|
2026-08-26 15:40:56 +08:00 |
|
hunter-dev
|
1f3ede9956
|
feat(M8): FR-T4/T5/T6/W2/W6/W7 标签页/布局接线——固定标签悬停浮现关闭按钮(T4); tab-store updateScroll+restore恢复滚动位置(T5); tabbarVisible接线App+TitleBar切换按钮(T6/W6); winIsMaximized IPC+最大化/还原图标切换(W2); 极简模式隐藏TabBar(W7); layout-tabs E2E 3 项
|
2026-08-26 15:20:30 +08:00 |
|
hunter-dev
|
8f6fd7082b
|
feat(M1): FR-F3/F7/F8/F11/F12 文件树操作补齐——文件夹悬停加新建文档/新建文件夹/导入文件夹按钮(F3); 行内重命名 onBlur 改为提交(F7); 删除改 shell.trashItem 移入回收站(F8); fileImportFolder IPC+对话框导入文件夹(F11); 导入结果 showAlert 弹窗列失败项(F12); dialog-store 加 alert 模式; filetree-ops E2E 3 项
|
2026-08-26 15:15:35 +08:00 |
|
hunter-dev
|
3390e91406
|
feat(M2): FR-S1/S4/S6 保存机制完善——setBody 防抖读 settings.autoSaveInterval(S1); beforeunload 冲刷+saveNow(S4); ReadDocResult 加 mtime+reloadDoc 检测外部改动(R6); store 暴露 __STORE__; save-mechanism E2E 3 项
|
2026-08-26 15:05:09 +08:00 |
|
hunter-dev
|
01ea477d18
|
feat(M4): FR-R2/R6/R7 搜索+标签筛选——search hay 加 tags+links 元数据(R2); TagFilter 加折叠按钮(R6); tagPaths IPC+FileTree AND 过滤选中标签的文档(R7); store 加 tagFilter; search-tag E2E 2 项
|
2026-08-26 14:53:00 +08:00 |
|
hunter-dev
|
bfb1f4b014
|
feat(M9): FR-K1/K3/K4/K6/K7 快捷键体系——多作用域(global/app/editor)+Scope.resolveActive 裁决(K1); 编辑器类绑定 find/bold/italic/strike/inlineCode/clearFormat(K3); 冲突数量汇总 conflictCount+SettingsPanel 顶部警示(K4); CheatSheet 从 store 动态渲染+formatCombo Mac 适配(K6); Ctrl+F 捕获阶段 keydown 拦截宿主查找+FindReplace 切换(K7); keymap-enhanced E2E 2 项
|
2026-08-26 14:43:57 +08:00 |
|
hunter-dev
|
fcd822b9f4
|
feat(M5): FR-A5 性能优先+GPU探测——main 进程 getGPUInfo 探测软渲染(SwiftShader/llvmpipe)+gpu:info IPC; settings 加 perfMode 开关+gpuStatus+loadGpu; 软渲染自动开启 perfMode; App 背景图 blur 受 perfMode 控制; EffectLayer perfMode 时关闭特效; SettingsPanel 其他页加开关+GPU 信息显示; perf-mode E2E 1 项
|
2026-08-26 14:34:34 +08:00 |
|
hunter-dev
|
56b0c25443
|
feat(M5): FR-A6/A7/A9/A10 外观面板完善——恢复主题默认按钮+save剥离等于默认的键(A6); Esc回滚+关闭面板(A7); 智能取色据图片明暗自动切换深/浅主题基底(A9); 背景图压缩改1920px/WebP+超2MB降质(A10); appearance-enhanced E2E 3 项
|
2026-08-26 14:17:36 +08:00 |
|
hunter-dev
|
bd60a8d920
|
feat(M3): FR-O2/O3/O4 大纲面板——平滑滚动+闪烁高亮(FR-O2); 编辑器滚动联动高亮当前标题+大纲跟随(FR-O3); 未打开文档占位(FR-O4); editor-shared-store 跨树共享编辑器实例; outline E2E 3 项
|
2026-08-26 13:55:54 +08:00 |
|
hunter-dev
|
0764818ee1
|
feat(M2): FR-E12 公式块——MathBlock 节点(KaTeX 块级渲染+可编辑源码区)+InlineMath 行内公式; SlashMenu 加 公式 项; addStorage markdown 序列化(../$..$); katex 依赖; editor-math E2E 1 项
|
2026-08-26 13:47:59 +08:00 |
|
hunter-dev
|
56735f53e6
|
feat(M2): FR-E7 块级操作 + FR-E11 查找替换——BlockOps 重写(Alt+↑/↓ 顶层块上移下移+Alt+Backspace 删除); FindReplace 加 区分大小写/整词/正则 复选框 + FindReplaceHighlight 装饰插件(全命中高亮+当前项) + 单次替换/全部替换; styles.css find-match 配色; editor-block-findreplace E2E 3 项
|
2026-08-26 13:39:46 +08:00 |
|
hunter-dev
|
2f4bcfd1e4
|
feat(M2): FR-E6 链接气泡+图片入库——LinkBubbleMenu(编辑/移除href);ImageView 节点视图(相对路径转 vaultasset:// 协议展示);assetPickImage/assetWrite IPC + .attachments 入库;剪贴板粘贴图片入库;工具栏 链接/图片/网图 按钮;CSP 放行 vaultasset:;editor-link-image E2E 3 项
|
2026-08-26 13:32:13 +08:00 |
|
hunter-dev
|
4beebbc8d0
|
feat(M2): FR-E5 代码块语言切换——CodeBlockView 自定义节点视图(语言下拉21种)+保留 lowlight 装饰高亮;styles.css hljs 暗色主题(atom-one-dark);editor-codeblock E2E 1 项
|
2026-08-26 13:10:25 +08:00 |
|
hunter-dev
|
78843ce5cc
|
feat(M2): FR-E3 行内格式补齐——工具栏行内代码(toggleCode/Ctrl+E)+清除格式(unsetAllMarks)按钮;editor-inline E2E 1 项
|
2026-08-26 13:05:11 +08:00 |
|
hunter-dev
|
c4af03adce
|
fix: S1 安全冲刺——切库清空标签页+冲刷(FR-V6)、重命名/移动同步标签页路径(FR-T7)、默认库路径设置页(FR-V5);vaultBrowse IPC+pickDirectory;tab-store closeAll/renamePath;store resetEditor/syncCurrentPath;safety E2E 2 项
|
2026-08-26 11:05:22 +08:00 |
|
hunter-dev
|
81b410e281
|
feat: M5 背景图上传/压缩+智能取色(FR-A8/A9,smart-color 下沉 shared,canvas 采样→analyzeImage 推导强调色/模糊/表面不透明尊重手动项,持久化+重开恢复)
|
2026-08-26 09:20:45 +08:00 |
|
hunter-dev
|
566c8ba10e
|
test: 大库性能压测(1000 篇,tree/search/graph sub-second;STRESS=1 opt-in,默认套件跳过)
|
2026-08-24 23:50:29 +08:00 |
|
hunter-dev
|
49c174851e
|
feat: 快捷键录入重绑(FR-K3,keymap:load/save IPC+config.json,SettingsPanel 录入 UI+冲突检测,use-hotkeys 读 store 实时生效,重开恢复)
|
2026-08-24 23:48:17 +08:00 |
|
hunter-dev
|
cf2600901b
|
feat: M5 外观特效选择+持久化(appearance:load/save IPC+config.json,鼠效 6 选格接 EffectEngine,重开恢复并接线)
|
2026-08-24 23:42:46 +08:00 |
|
hunter-dev
|
28755547c1
|
feat: M7 知识图谱卡片+连线视图(消费 IPC.graph,d3-force 力导向,星标/分组色/点击打开;GraphView 思维导图/知识图谱 双模切换)
|
2026-08-24 23:33:46 +08:00 |
|
hunter-dev
|
b9aefa3c17
|
build: electron-builder 打包配置 + 首次构建(win-unpacked 可运行 168MB,cross-env 注入 npmmirror 镜像;打包产物冒烟测试启动 .exe)
|
2026-08-24 23:18:39 +08:00 |
|
hunter-dev
|
403a28cb2f
|
test: 起 Playwright(electron) E2E 骨架 + 金标准往返测试(建→写→存→重开字节一致)
|
2026-08-24 22:35:09 +08:00 |
|