Muse
|
4fca4b7143
|
fix(rust): spawn_blocking 改走 tauri::async_runtime(工程无 tokio 依赖,Windows 构建 E0433)
6 处 tokio::task::spawn_blocking(Git 同步 4 处 + docs/29 资源
命令 2 处)全部换成工程既有写法 tauri::async_runtime::spawn_blocking;
全量核对源码外部 crate 前缀与 Cargo.toml 依赖一致。docs/29 补勘误。
|
2026-11-14 18:09:30 +08:00 |
|
Muse
|
c602573d8e
|
feat(save): 非 UTF-8 文档保存前转码提示(docs/29 D1,用户拍板)
GBK/UTF-16 文档保存会落盘为 UTF-8,原先无任何提示。saveTab 在
落盘前拦截:首次保存弹 EncodingConvertModal 说明将转 UTF-8,
按路径记已确认、本次运行只提示一次;自动保存不弹窗也不静默
转码,跳过等手动保存时提示;确认后以冻结快照 finishSave 收尾,
标签 encoding 如实更新为 UTF-8。弹窗渲染移到弹窗栈最后,避免
被关窗确认框盖住。vitest 123+2、构建通过。
|
2026-11-14 18:06:02 +08:00 |
|
Muse
|
fb2315a2f3
|
audit(docs/29): 全项目审计——修分片载入卸载截断高危、Sidebar memo 击穿与 Rust 资源/搜索/恢复上限等 20 余处
三线并行审计(编辑器核心/Rust 后端/服务与组件)+ App 编排层自审。
高危:分片载入未收尾时窗格卸载回写部分序列化,干净标签会被静默
截断——cleanup 补 muted 守卫,create 完成回调补取消守卫。
性能:gitSync/outline/收起回调稳定化保住 Sidebar memo;光标行列
rAF 合并;图片显示解析加缓存;导出图片并发解析;chunkLoader
偏移前缀表;围栏切点只认顶格(列表内嵌围栏等价回归实测)。
Rust:资源命令 async 化 + 32MB 上限;搜索 junction 越界校验;
recovery/workspace 条数与单条上限;启动坏库改名重建 + WAL;
validate 补 ext:: 黑名单与 ref 形态;init 先种 .gitignore
(含 .*.tmp-* 防崩溃残留被提交);游离 HEAD 不再猜分支。
验证:vitest 122+2、tsc、构建通过;Rust 过 rustfmt 解析、
validate 纯函数抽出实跑断言、命令对账 28=28。
|
2026-11-14 18:00:31 +08:00 |
|
Muse
|
527ca5ecc5
|
audit(docs/28): Git 同步审计二轮——修复选项注入校验/默认 .gitignore/设置弹窗陈旧守卫,4 低项记录待办
|
2026-11-14 17:40:09 +08:00 |
|
Muse
|
fadee6aacf
|
feat(git): 工作区 Git 同步——侧栏同步条、远程设置、定时同步(提交→变基拉取→推送,冲突停下不覆盖)(docs/27)
|
2026-11-14 17:35:41 +08:00 |
|
Muse
|
13271f11b6
|
fix(files): 未命名保存后刷新文件树;关闭 Tauri 拖放拦截放行侧栏 HTML5 拖拽(docs/25 回修)
|
2026-11-14 17:08:01 +08:00 |
|
Muse
|
bfacdd5fbb
|
feat(menus): 编辑区自绘右键菜单 + 全局屏蔽 WebView 自带菜单(docs/26,含 docs/21 勘误)
|
2026-11-14 16:46:39 +08:00 |
|
Muse
|
c2f69f9303
|
feat(files): 文件管理四项——侧栏拖拽移动、草稿跨窗口认领、未命名默认存根目录、打开所在位置(docs/25)
|
2026-11-14 16:36:36 +08:00 |
|
Muse
|
02090f7bf4
|
fix(app): 模式切换文本闪烁——epoch 重挂统一弃旧窗格回写,源码模式禁富文本窗格回写(docs/24)
|
2026-11-14 16:13:55 +08:00 |
|
Muse
|
c0f03e48dc
|
fix(editor): 新建文档自动聚焦 + 空文档占位 + 编辑面填满(docs/23)
新建/打开/恢复的标签就绪后自动把光标送进编辑器(弹窗/查找栏打开时
不抢);切回标签恢复锚点时一并聚焦。空文档首段显示「开始输入…」
占位。编辑面改为撑满窗格高度,下方空白处可点击落光标;host 显式
width:100% 防 flex 收缩窄缝。
|
2026-11-14 16:06:27 +08:00 |
|
Muse
|
d637f0a849
|
feat(theme): 主题整套联动——界面配色跟随文档主题(docs/22)
六套文档主题各加一组同气质的界面变量(data-doc-theme 驱动),选什么
主题,标题栏/菜单/侧边栏/状态栏就穿什么配色;界面跟随当前生效主题
(含单文档临时主题)。视图「深色主题」开关撤下,明暗并入主题;
data-theme 退化为 paperTone 派生信号供 Mermaid/源码编辑器读取。
|
2026-11-14 15:57:23 +08:00 |
|
Muse
|
2d0843dd97
|
feat(editor): 大文档异步分片载入(docs/20)
>6 万字符文档按顶层结构安全切分:第一片立即建编辑器,其余片逐片解析
追加、片间让出主线程,窗格左下角显示载入进度;载入期间可切标签、编辑
其他文档。追加期静音回写、状态保持磁盘完整原文,载完一次性对齐。
分片与整篇解析的序列化等价有测试锁定(tests/chunk-load.test.ts)。
此前试做的已关闭重开缓存已按用户要求整笔撤回。
|
2026-11-14 15:16:23 +08:00 |
|
Muse
|
2d1cd3045a
|
feat(menus): 右键菜单与切换五项(docs/21)
屏蔽 WebView 自带右键菜单(输入框除外);新增 useDismiss 统一修复菜单
点别处不消失(标签菜单实测中招、文件树菜单一并加固);侧栏页签行加收起
按钮、收起后编辑区左上角有展开按钮;编辑区右下角加源码/即时渲染切换按钮;
标签与文件树右键补保存/另存为/新窗口打开/导出/打印(针对目标文件,
未打开先打开再执行)。vitest 97 通过 + 2 跳过。
|
2026-11-14 15:05:19 +08:00 |
|
Muse
|
41e0331dc9
|
docs: 布局调整说明(docs/19,侧边栏置顶与标签栏右移)
|
2026-11-14 14:46:59 +08:00 |
|
Muse
|
4a527da655
|
feat(editor): 标签编辑器保活,切换立即呈现(docs/18)
最近用过的 6 个标签保持挂载、隐藏而非销毁,切回零解析零序列化、各窗格
保留滚动位置;超限窗格卸载走最终回写。引用改为按标签注册表 + 活动变化
effect 统一指向;外部重载 epoch 按标签粒度、抑制闸门对所有标签生效。
EditorPane 新增就绪状态:首次打开大文件显示「正在打开文档…」加载态。
打印守卫:只出活动窗格。vitest 87 通过 + 2 跳过(新增 pane-loading 1 例)。
|
2026-11-14 13:06:39 +08:00 |
|
Muse
|
dc78bb0e2a
|
fix(sidebar): 侧边栏四项反馈(docs/17)
空状态按钮对齐页签缩进;启动自动恢复上次工作区(prefs 存 lastWorkspace、
启动校验存在性);空文件夹展开显示「(空)」、文件夹行加粗(展开逻辑经
组件测试证实本就可用);新建泛化到任意文件夹:树头+文档/+文件夹、
文件夹右键在此新建文档/文件夹。vitest 86 通过 + 2 跳过。
|
2026-11-14 12:27:27 +08:00 |
|
Muse
|
b6acbf6f30
|
fix(image): 编辑区相对路径图片显示解析(docs/16)
粘贴/插入的图片落盘与相对引用本身没问题,但编辑区从未解析相对路径:
页面在应用源下按相对路径取图必 404、只剩裂图。新增 image NodeView,
仅显示层把本地图片按文档目录归一化后经 read_file_base64 读成 data URL;
文档内容不变,Web 模式不启用。vitest 83 通过 + 2 跳过。
|
2026-11-14 12:17:37 +08:00 |
|
Muse
|
b2d36b7397
|
fix(acceptance-r2): 二轮验收 4 项回修(docs/15)
C5 粘贴:handleDOMEvents.paste 前置拦截无 HTML/无文件的多行纯文本按段落
插入(真机菜单粘贴走 execCommand 兜底、与 Ctrl+V 同中 clipboard 插件的
Markdown 解析);插入改开放 Slice,消除段中空段。
E3 相对导出:先选保存位置,再按导出目录重写图片相对路径。
E4 复制为 HTML:剪贴板变体公式只留 MathML、Mermaid 栅格化 PNG。
E6 HTML 导入:DOM 预处理剥 head/脚本/SVG、自家 KaTeX 还原 $ 源码、
GFM 插件加载失败降级。vitest 79 通过 + 2 跳过。
|
2026-11-14 11:17:12 +08:00 |
|
Muse
|
9bd3f3de97
|
fix(acceptance): 首轮 Windows 验收 7 项缺陷回修(docs/14)
P0 快捷键让行判定补 recoveryDismissed,点过「稍后再说」不再全失效;
P1 冲突重载加 force 绕过防竞态守卫;路径分隔符 joinPath 原生化 +
samePath 归一化比较;.source-cm 补文档字色;
P2 turndown 启用 GFM 插件(HTML 导入不再丢表格);任务复选框去掉
click preventDefault(浏览器激活撤销覆盖视觉同步);
P3 新增 syncEditorContent:干净标签的挂载/卸载序列化回写同步基线,
切标签不再误标未保存。vitest 74 通过 + 2 跳过。
|
2026-11-14 11:08:46 +08:00 |
|
Muse
|
43cd4b95dd
|
docs: 阶段 7 Windows 真机验收清单(docs/13)
|
2026-11-13 23:38:41 +08:00 |
|
Muse
|
db81e60d71
|
fix(audit): 审计问题全量修复(docs/12)
高危逻辑 A1-A10:saved 写盘快照、重载卸载回写闸门与期望值校验、
?file 无条件打开、偏好读后才写+防抖、depth=0 守卫、查找命中随编辑
作废、自动保存避让冲突标签、搜索防链接环、重 IO 命令异步化+上限。
样式:--panel 更正为 --bg-panel、新增 .input 基础样式、文档主题
纸面/字色成对、打印隐藏清单补全、paperTone 驱动源码明暗。
性能:状态栏/大纲按正文 memo、大纲延后提取、Sidebar memo、专注
装饰映射复用、查找防抖、图片 base64 过 IPC。
中危一批:关窗落盘后放行、回收站去向明示、GBK 搜索、create_new
落盘、Mermaid 渲染代次守卫、多行粘贴分段等。
回归:新增 tabkey/audit-fix 集成测试(E1 Tab 抢先定性排除),
vitest 71 通过 + 2 跳过。
|
2026-11-13 23:34:19 +08:00 |
|
Muse
|
78fbf6a91b
|
docs: 阶段 6 后全量代码审计报告(逻辑/样式/性能,docs/11)
|
2026-11-13 23:34:19 +08:00 |
|
Muse
|
c251903fa2
|
feat(stage6): 专注/打字机模式、查找替换、全文搜索 UI、快捷键中心、多窗口
|
2026-11-13 23:09:32 +08:00 |
|
Muse
|
83cedbc5f3
|
feat(stage5): 文档主题系统/自定义 CSS/导出 HTML/打印/导入 HTML 与 Word
|
2026-11-13 22:58:35 +08:00 |
|
Muse
|
e5ad58eb93
|
feat(stage4): 自动保存/崩溃恢复/外部修改检测/工作区管理(含合并验收清单)
|
2026-11-13 22:43:29 +08:00 |
|
Muse
|
cbd7ce4b44
|
docs: 阶段0 技术验证(选型/架构/原型与验证记录)
|
2026-11-13 21:19:23 +08:00 |
|