Muse
|
eb27e4ca2d
|
fix(dropdown): 展开层改 Portal + fixed 定位,逃出弹窗 overflow 裁剪
弹窗(.modal 带 overflow-y:auto)里的下拉展开层是 absolute 定位,
会被弹窗滚动盒裁掉下半截(Git 同步设置里实测被遮挡)。展开层改经
Portal 挂到 body、按触发钮 rect 用 fixed 定位:下方空间不足时
向上翻,maxHeight 按可用空间夹取;窗口 resize 时关闭。
useDismiss 泛化为可传多个 ref(触发器与 Portal 菜单两棵子树都算内)。
CSS 相应去掉 .dropdown-menu 的 absolute 定位(几何改由内联给出)。
验证:vitest 124+2(新增翻转几何断言:贴底触发钮翻上展开、
Portal 落点不在组件容器内);无头 Chromium 实测弹窗内下拉菜单
完整落在视口内、8 项全显、已逃出弹窗 DOM。
|
2026-11-14 20:17:51 +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
|
fadee6aacf
|
feat(git): 工作区 Git 同步——侧栏同步条、远程设置、定时同步(提交→变基拉取→推送,冲突停下不覆盖)(docs/27)
|
2026-11-14 17:35:41 +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
|
c0f03e48dc
|
fix(editor): 新建文档自动聚焦 + 空文档占位 + 编辑面填满(docs/23)
新建/打开/恢复的标签就绪后自动把光标送进编辑器(弹窗/查找栏打开时
不抢);切回标签恢复锚点时一并聚焦。空文档首段显示「开始输入…」
占位。编辑面改为撑满窗格高度,下方空白处可点击落光标;host 显式
width:100% 防 flex 收缩窄缝。
|
2026-11-14 16:06:27 +08:00 |
|
Muse
|
9503350cf1
|
feat(ui): 自绘 Dropdown 替代原生 select(外观设置·临时主题)
全应用唯一的原生 select 换为自绘下拉组件:按钮对齐 .input 样式,
展开层沿用应用菜单语言(选中 --accent-weak、悬停 --hover),复用
useDismiss 点别处/Esc 关闭,支持上下键选行。tests/dropdown 1 例。
|
2026-11-14 15:39:44 +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
|
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
|
e8701d4eeb
|
test(export): Mermaid 导出管线桩渲染回归(替换与 PNG 兜底)
jsdom 跑不了 mermaid.render(缺 SVG 布局 API),用 vi.mock 桩验证剪贴板版
Mermaid 被替换为渲染结果而非代码块;全量 80 通过 + 2 跳过。
|
2026-11-14 11:23:38 +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
|
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
|
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
|
cbe641e21a
|
feat: 阶段1-3 桌面编辑器(Tauri 骨架/编辑核心深化/复杂内容)
|
2026-11-13 21:19:23 +08:00 |
|